thobaben_diagram
Harald Wolff 2016-12-02 09:34:52 +01:00
parent 2d316e9b44
commit 0cfca19953
2 changed files with 40 additions and 9 deletions

View File

@ -20,6 +20,7 @@ import java.util.Arrays;
import java.util.Collection; import java.util.Collection;
import java.util.Collections; import java.util.Collections;
import java.util.Comparator; import java.util.Comparator;
import java.util.Enumeration;
import java.util.Hashtable; import java.util.Hashtable;
import java.util.LinkedList; import java.util.LinkedList;
import java.util.List; import java.util.List;
@ -27,11 +28,13 @@ import java.util.List;
import javax.swing.JFrame; import javax.swing.JFrame;
import javax.swing.JTable; import javax.swing.JTable;
import javax.swing.event.ListSelectionListener; import javax.swing.event.ListSelectionListener;
import javax.swing.plaf.basic.BasicComboBoxUI.ComboBoxLayoutManager;
import javax.swing.table.AbstractTableModel; import javax.swing.table.AbstractTableModel;
import javax.swing.table.TableRowSorter; import javax.swing.table.TableRowSorter;
import javax.swing.table.DefaultTableCellRenderer; import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.TableCellRenderer; import javax.swing.table.TableCellRenderer;
import org.hwo.collections.IteratorEnumeration;
import org.hwo.csv.CSV; import org.hwo.csv.CSV;
import org.hwo.csv.CSVRecord; import org.hwo.csv.CSVRecord;
import org.hwo.interactiveobjects.IInteractiveObjectEditor; import org.hwo.interactiveobjects.IInteractiveObjectEditor;
@ -337,6 +340,9 @@ public class TableMapper extends AbstractTableModel
private TableMapperColorSourceInterface private TableMapperColorSourceInterface
colorSourceInterface; colorSourceInterface;
private ColumnResizePolicy
columnResizePolicy;
public TableMapper(Class<?> clazz,JTable table) public TableMapper(Class<?> clazz,JTable table)
{ {
@ -433,12 +439,28 @@ public class TableMapper extends AbstractTableModel
this.jTable.setRowSorter(null); this.jTable.setRowSorter(null);
} }
int minwidth = 0;
for (ColumnInfo ci: p_columns){
minwidth += ci.getWidth();
} }
public void resizeColumns(){
int minWidth = columnModel.getTotalColumnWidth();
int viewportSize = jTable.getWidth();
int position = 0;
double scaleLinear = viewportSize > minWidth ? ((double)minWidth / viewportSize) : 1.0;
for (ColumnInfo ci: p_columns){
switch (columnResizePolicy){
case FILL_LINEAR:
ci.setWidth((int)(ci.getWidth() * scaleLinear));
break;
case FILL_LAST_COLUMN:
}
position += ci.getWidth();
}
} }
public boolean isSortingEnabled() { public boolean isSortingEnabled() {
@ -561,6 +583,13 @@ public class TableMapper extends AbstractTableModel
} }
public ColumnResizePolicy getColumnResizePolicy() {
return columnResizePolicy;
}
public void setColumnResizePolicy(ColumnResizePolicy columnResizePolicy) {
this.columnResizePolicy = columnResizePolicy;
}
public List<ColumnInfo> getColumnInfo() public List<ColumnInfo> getColumnInfo()
{ {
return p_columns; return p_columns;
@ -602,11 +631,6 @@ public class TableMapper extends AbstractTableModel
public void setEditorEnabled(boolean enabled) public void setEditorEnabled(boolean enabled)
{ {
if (enabled)
jTable.addMouseListener(mouseAdapter);
else
jTable.removeMouseListener(mouseAdapter);
editorEnabled = enabled; editorEnabled = enabled;
} }
@ -747,6 +771,12 @@ public class TableMapper extends AbstractTableModel
if (before != null){ if (before != null){
int ind = this.p_rows.indexOf(before); int ind = this.p_rows.indexOf(before);
this.p_rows.add(ind, row); this.p_rows.add(ind, row);
if (TableMapperValue.class.isInstance(row)){
TableMapperValue tmv = (TableMapperValue)row;
tmv.unassignTableMapper(this);
}
fireTableRowsInserted(ind, ind); fireTableRowsInserted(ind, ind);
} else { } else {
this.p_rows.add(row); this.p_rows.add(row);

View File

@ -14,6 +14,7 @@ import javax.swing.event.TableColumnModelListener;
import javax.swing.table.TableColumn; import javax.swing.table.TableColumn;
import javax.swing.table.TableColumnModel; import javax.swing.table.TableColumnModel;
import org.hwo.i18n.Messages;
import org.hwo.models.TableMapper.TableMapper.ColumnInfo; import org.hwo.models.TableMapper.TableMapper.ColumnInfo;
class TableMapperColumnModel implements TableColumnModel{ class TableMapperColumnModel implements TableColumnModel{
@ -40,7 +41,7 @@ class TableMapperColumnModel implements TableColumnModel{
TableColumn tc = new TableColumn(i, ci.getWidth()); TableColumn tc = new TableColumn(i, ci.getWidth());
tc.setPreferredWidth(ci.getWidth()); tc.setPreferredWidth(ci.getWidth());
tc.setMinWidth(ci.getWidth()); tc.setMinWidth(ci.getWidth());
tc.setHeaderValue(ci.getColumnLabel()); tc.setHeaderValue(Messages.getString(ci.getColumnLabel()));
tc.addPropertyChangeListener(new PropertyChangeListener() { tc.addPropertyChangeListener(new PropertyChangeListener() {
@Override @Override