From 0ec8481c10cd8277d84c7c1a785483a0a739e5a0 Mon Sep 17 00:00:00 2001 From: abranson Date: Thu, 4 Aug 2011 00:42:34 +0200 Subject: More code cleanup: Refactored Entity Proxy Subscription to handle generics better Rewrote RemoteMap to use TreeMap instead of the internal array for order. It now sorts its keys by number if they parse, else as strings. Removed a no-longer-in-progress outcome form class --- .../tabs/outcome/form/field/ArrayTableModel.java | 39 +++++++++++++--------- 1 file changed, 23 insertions(+), 16 deletions(-) (limited to 'source/com/c2kernel/gui/tabs/outcome/form/field/ArrayTableModel.java') diff --git a/source/com/c2kernel/gui/tabs/outcome/form/field/ArrayTableModel.java b/source/com/c2kernel/gui/tabs/outcome/form/field/ArrayTableModel.java index c7934c0..341c33a 100644 --- a/source/com/c2kernel/gui/tabs/outcome/form/field/ArrayTableModel.java +++ b/source/com/c2kernel/gui/tabs/outcome/form/field/ArrayTableModel.java @@ -23,10 +23,10 @@ import com.c2kernel.utils.Language; public class ArrayTableModel extends AbstractTableModel { ArrayList contents = new ArrayList(); - Class type; + Class type; int numCols = 1; boolean readOnly = false; - + public ArrayTableModel(SimpleType type) { super(); this.type = OutcomeStructure.getJavaClass(type.getTypeCode()); @@ -35,7 +35,7 @@ public class ArrayTableModel extends AbstractTableModel { public void setReadOnly(boolean readOnly) { this.readOnly = readOnly; } - + public void setData(String data) { contents.clear(); StringTokenizer tok = new StringTokenizer(data); @@ -43,16 +43,16 @@ public class ArrayTableModel extends AbstractTableModel { contents.add(OutcomeStructure.getTypedValue(tok.nextToken(), type)); fireTableStructureChanged(); } - + public String getData() { if (contents.size() == 0) return ""; - Iterator iter = contents.iterator(); + Iterator iter = contents.iterator(); StringBuffer result = new StringBuffer(iter.next().toString()); while (iter.hasNext()) result.append(" ").append(iter.next().toString()); return result.toString(); } - + public void addField() { contents.add(OutcomeStructure.getTypedValue("", type)); fireTableStructureChanged(); @@ -62,45 +62,52 @@ public class ArrayTableModel extends AbstractTableModel { contents.remove(contents.size()-1); fireTableStructureChanged(); } - - public Class getColumnClass(int columnIndex) { + + @Override + public Class getColumnClass(int columnIndex) { return type; } - public int getColumnCount() { + @Override + public int getColumnCount() { return numCols; } - + public int getArrayLength() { return contents.size(); } - + public void setColumnCount(int newCols) { numCols = newCols; fireTableStructureChanged(); } - public String getColumnName(int column) { + @Override + public String getColumnName(int column) { return Language.translate("Value"); } - public int getRowCount() { + @Override + public int getRowCount() { return (contents.size()/numCols)+1; } - public Object getValueAt(int arg0, int arg1) { + @Override + public Object getValueAt(int arg0, int arg1) { int index = arg1+(arg0 * numCols); if (index >= contents.size()) return null; return contents.get(arg1+(arg0 * numCols)); } - public boolean isCellEditable(int rowIndex, int columnIndex) { + @Override + public boolean isCellEditable(int rowIndex, int columnIndex) { if (columnIndex+(rowIndex*numCols) > contents.size()-1) return false; return !readOnly; } - public void setValueAt(Object aValue, int rowIndex, int columnIndex) { + @Override + public void setValueAt(Object aValue, int rowIndex, int columnIndex) { contents.set(columnIndex+(rowIndex*numCols), aValue); } } -- cgit v1.2.3