forked from LupusNobilis/java-org.hwo.ui
Merged
parent
2d316e9b44
commit
0cfca19953
|
@ -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);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void resizeColumns(){
|
||||||
|
int minWidth = columnModel.getTotalColumnWidth();
|
||||||
|
int viewportSize = jTable.getWidth();
|
||||||
|
int position = 0;
|
||||||
|
|
||||||
|
double scaleLinear = viewportSize > minWidth ? ((double)minWidth / viewportSize) : 1.0;
|
||||||
|
|
||||||
int minwidth = 0;
|
|
||||||
for (ColumnInfo ci: p_columns){
|
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() {
|
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);
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Reference in New Issue