Author: ruschein
Date: 2011-03-28 14:04:29 -0700 (Mon, 28 Mar 2011)
New Revision: 24599
Modified:
core3/table-browser-impl/trunk/src/main/java/org/cytoscape/browser/internal/TableBrowser.java
Log:
Work in progress.
Modified:
core3/table-browser-impl/trunk/src/main/java/org/cytoscape/browser/internal/TableBrowser.java
===================================================================
---
core3/table-browser-impl/trunk/src/main/java/org/cytoscape/browser/internal/TableBrowser.java
2011-03-28 20:43:27 UTC (rev 24598)
+++
core3/table-browser-impl/trunk/src/main/java/org/cytoscape/browser/internal/TableBrowser.java
2011-03-28 21:04:29 UTC (rev 24599)
@@ -6,6 +6,10 @@
import java.awt.Component;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
+
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
import java.util.Properties;
import javax.swing.JPanel;
@@ -13,6 +17,8 @@
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
+import javax.swing.table.TableColumn;
+import javax.swing.table.TableColumnModel;
import javax.swing.table.TableRowSorter;
import org.cytoscape.browser.ui.AttributeBrowserToolBar;
@@ -51,6 +57,7 @@
private CyTable currentTable;
private final TableTaskFactory deleteTableTaskFactoryService;
private final GUITaskManager guiTaskManagerServiceRef;
+ private final Map<CyTable, TableMetadata> tableToMetadataMap;
TableBrowser(final CyTableManager tableManager, final
CyServiceRegistrar serviceRegistrar,
final EquationCompiler compiler, final OpenBrowser
openBrowser,
@@ -66,6 +73,7 @@
this.deleteTableTaskFactoryService =
deleteTableTaskFactoryService;
this.guiTaskManagerServiceRef = guiTaskManagerServiceRef;
+ this.tableToMetadataMap = new HashMap<CyTable, TableMetadata>();
this.browserTable = new BrowserTable(openBrowser, compiler,
popupMenuHelper);
this.tableRowUpdateService = tableRowUpdateService;
@@ -108,9 +116,10 @@
*/
public Icon getIcon() { return null; }
- public void actionPerformed(ActionEvent e) {
+ public void actionPerformed(final ActionEvent e) {
final CyTable table = (CyTable)tableChooser.getSelectedItem();
- if (table == null && table != currentTable){
+
+ if (table == null && table != currentTable) {
if (browserTableModel != null) {
browserTableModel.cleanup();
serviceRegistrar.unregisterAllServices(browserTableModel);
@@ -123,6 +132,11 @@
if (table != null && table != currentTable) {
if (browserTableModel != null) {
+ final TableColumnModel columnModel =
+
browserTableModel.getTable().getColumnModel();
+ tableToMetadataMap.put(currentTable,
+ new
TableMetadata(columnModel,
+
browserTableModel));
browserTableModel.cleanup();
serviceRegistrar.unregisterAllServices(browserTableModel);
}
@@ -134,18 +148,31 @@
browserTable.setModel(browserTableModel);
browserTable.setRowSorter(new
TableRowSorter(browserTableModel));
attributeBrowserToolBar.setBrowserTableModel(browserTableModel);
+ final TableMetadata tableMetadata =
tableToMetadataMap.get(currentTable);
+ if (tableToMetadataMap != null) {
+ final JTable jTable =
browserTableModel.getTable();
+ final TableColumnModel columnModel =
jTable.getColumnModel();
+ final Iterator<ColumnDescriptor> columnDescIter
= tableMetadata.getColumnDescriptors();
+ while (columnDescIter.hasNext()) {
+ final ColumnDescriptor desc =
columnDescIter.next();
+ final TableColumn tableColumn =
columnModel.getColumn(desc.getColumnIndex());
+// tableColumn.setModelIndex(...);
+
tableColumn.setWidth(desc.getColumnWidth());
+ }
+ }
}
}
- public void handleEvent(NetworkViewAddedEvent e) {
+ public void handleEvent(final NetworkViewAddedEvent e) {
final CyTable nodeTable =
e.getNetworkView().getModel().getDefaultNodeTable();
final MyComboBoxModel comboBoxModel =
(MyComboBoxModel)tableChooser.getModel();
comboBoxModel.addAndSetSelectedItem(nodeTable);
}
- public void handleEvent(TableAboutToBeDeletedEvent e){
+ public void handleEvent(final TableAboutToBeDeletedEvent e) {
final CyTable cyTable = e.getTable();
final MyComboBoxModel comboBoxModel =
(MyComboBoxModel)tableChooser.getModel();
comboBoxModel.removeItem(cyTable);
+ tableToMetadataMap.remove(cyTable);
}
}
\ No newline at end of file
--
You received this message because you are subscribed to the Google Groups
"cytoscape-cvs" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/cytoscape-cvs?hl=en.