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.Collections;
import java.util.Comparator;
import java.util.Enumeration;
import java.util.Hashtable;
import java.util.LinkedList;
import java.util.List;
@ -27,11 +28,13 @@ import java.util.List;
import javax.swing.JFrame;
import javax.swing.JTable;
import javax.swing.event.ListSelectionListener;
import javax.swing.plaf.basic.BasicComboBoxUI.ComboBoxLayoutManager;
import javax.swing.table.AbstractTableModel;
import javax.swing.table.TableRowSorter;
import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.TableCellRenderer;
import org.hwo.collections.IteratorEnumeration;
import org.hwo.csv.CSV;
import org.hwo.csv.CSVRecord;
import org.hwo.interactiveobjects.IInteractiveObjectEditor;
@ -337,6 +340,9 @@ public class TableMapper extends AbstractTableModel
private TableMapperColorSourceInterface
colorSourceInterface;
private ColumnResizePolicy
columnResizePolicy;
public TableMapper(Class<?> clazz,JTable table)
{
@ -433,12 +439,28 @@ public class TableMapper extends AbstractTableModel
this.jTable.setRowSorter(null);
}
}
public void resizeColumns(){
int minWidth = columnModel.getTotalColumnWidth();
int viewportSize = jTable.getWidth();
int position = 0;
int minwidth = 0;
double scaleLinear = viewportSize > minWidth ? ((double)minWidth / viewportSize) : 1.0;
for (ColumnInfo ci: p_columns){
minwidth += ci.getWidth();
}
switch (columnResizePolicy){
case FILL_LINEAR:
ci.setWidth((int)(ci.getWidth() * scaleLinear));
break;
case FILL_LAST_COLUMN:
}
position += ci.getWidth();
}
}
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()
{
return p_columns;
@ -602,11 +631,6 @@ public class TableMapper extends AbstractTableModel
public void setEditorEnabled(boolean enabled)
{
if (enabled)
jTable.addMouseListener(mouseAdapter);
else
jTable.removeMouseListener(mouseAdapter);
editorEnabled = enabled;
}
@ -747,6 +771,12 @@ public class TableMapper extends AbstractTableModel
if (before != null){
int ind = this.p_rows.indexOf(before);
this.p_rows.add(ind, row);
if (TableMapperValue.class.isInstance(row)){
TableMapperValue tmv = (TableMapperValue)row;
tmv.unassignTableMapper(this);
}
fireTableRowsInserted(ind, ind);
} else {
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.TableColumnModel;
import org.hwo.i18n.Messages;
import org.hwo.models.TableMapper.TableMapper.ColumnInfo;
class TableMapperColumnModel implements TableColumnModel{
@ -40,7 +41,7 @@ class TableMapperColumnModel implements TableColumnModel{
TableColumn tc = new TableColumn(i, ci.getWidth());
tc.setPreferredWidth(ci.getWidth());
tc.setMinWidth(ci.getWidth());
tc.setHeaderValue(ci.getColumnLabel());
tc.setHeaderValue(Messages.getString(ci.getColumnLabel()));
tc.addPropertyChangeListener(new PropertyChangeListener() {
@Override