From 0cfca19953d6849d6e7432005f42e447a0e13bce Mon Sep 17 00:00:00 2001 From: Harald Wolff Date: Fri, 2 Dec 2016 09:34:52 +0100 Subject: [PATCH] Merged --- .../hwo/models/TableMapper/TableMapper.java | 46 +++++++++++++++---- .../TableMapper/TableMapperColumnModel.java | 3 +- 2 files changed, 40 insertions(+), 9 deletions(-) diff --git a/src/org/hwo/models/TableMapper/TableMapper.java b/src/org/hwo/models/TableMapper/TableMapper.java index 077e1fc..b982ffb 100644 --- a/src/org/hwo/models/TableMapper/TableMapper.java +++ b/src/org/hwo/models/TableMapper/TableMapper.java @@ -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 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); diff --git a/src/org/hwo/models/TableMapper/TableMapperColumnModel.java b/src/org/hwo/models/TableMapper/TableMapperColumnModel.java index 44ef4cb..2b6a6ae 100644 --- a/src/org/hwo/models/TableMapper/TableMapperColumnModel.java +++ b/src/org/hwo/models/TableMapper/TableMapperColumnModel.java @@ -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