Author: pwang
Date: 2011-02-10 15:43:23 -0800 (Thu, 10 Feb 2011)
New Revision: 24092
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/TableChooser.java
Log:
Update browser table after table deletion
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-02-10 22:16:34 UTC (rev 24091)
+++
core3/table-browser-impl/trunk/src/main/java/org/cytoscape/browser/internal/TableBrowser.java
2011-02-10 23:43:23 UTC (rev 24092)
@@ -22,17 +22,20 @@
import org.cytoscape.model.CyTableManager;
import org.cytoscape.model.CyTableRowUpdateService;
import org.cytoscape.model.events.RowCreatedMicroListener;
+import org.cytoscape.model.events.TableDeletedEvent;
import org.cytoscape.application.swing.CytoPanelComponent;
import org.cytoscape.application.swing.CytoPanelName;
import org.cytoscape.service.util.CyServiceRegistrar;
import org.cytoscape.util.swing.OpenBrowser;
import org.cytoscape.view.model.events.NetworkViewAddedEvent;
import org.cytoscape.view.model.events.NetworkViewAddedListener;
+import org.cytoscape.model.events.TableDeletedListener;
+import javax.swing.table.DefaultTableModel;
@SuppressWarnings("serial")
public class TableBrowser
- extends JPanel implements CytoPanelComponent, ActionListener,
NetworkViewAddedListener
+ extends JPanel implements CytoPanelComponent, ActionListener,
NetworkViewAddedListener, TableDeletedListener
{
private final CyTableManager tableManager;
private final CyServiceRegistrar serviceRegistrar;
@@ -96,6 +99,17 @@
public void actionPerformed(ActionEvent e) {
final CyTable table = (CyTable)tableChooser.getSelectedItem();
+ if (table == null && table != currentTable){
+ if (browserTableModel != null) {
+ browserTableModel.cleanup();
+
serviceRegistrar.unregisterAllServices(browserTableModel);
+ }
+ currentTable = null;
+ browserTableModel = null;
+ browserTable.setModel(new DefaultTableModel());
+ attributeBrowserToolBar.setBrowserTableModel(null);
+ }
+
if (table != null && table != currentTable) {
if (browserTableModel != null) {
browserTableModel.cleanup();
@@ -118,4 +132,10 @@
final MyComboBoxModel comboBoxModel =
(MyComboBoxModel)tableChooser.getModel();
comboBoxModel.addAndSetSelectedItem(nodeTable);
}
+
+ public void handleEvent(TableDeletedEvent e){
+ final CyTable cyTable = e.getTable();
+ final MyComboBoxModel comboBoxModel =
(MyComboBoxModel)tableChooser.getModel();
+ comboBoxModel.removeItem(cyTable);
+ }
}
\ No newline at end of file
Modified:
core3/table-browser-impl/trunk/src/main/java/org/cytoscape/browser/internal/TableChooser.java
===================================================================
---
core3/table-browser-impl/trunk/src/main/java/org/cytoscape/browser/internal/TableChooser.java
2011-02-10 22:16:34 UTC (rev 24091)
+++
core3/table-browser-impl/trunk/src/main/java/org/cytoscape/browser/internal/TableChooser.java
2011-02-10 23:43:23 UTC (rev 24092)
@@ -103,6 +103,27 @@
}
setSelectedItem(newTable);
}
+
+
+ public void removeItem(CyTable deletedTable){
+
+ if (tables.contains(deletedTable)) {
+ tables.remove(deletedTable);
+ Collections.sort(tables, tableComparator);
+ oldSet.clear();
+ for (final CyTable table : tables)
+ oldSet.add(table);
+ updateTableToStringMap();
+ this.fireIntervalRemoved(this, 0, oldSet.size()+1);
+ }
+
+ if (oldSet.size() ==0){
+ setSelectedItem(null);
+ }
+ else {
+ setSelectedItem(tables.get(0));
+ }
+ }
}
--
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.