Author: clopes
Date: 2012-02-29 14:23:04 -0800 (Wed, 29 Feb 2012)
New Revision: 28404
Modified:
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/GlobalTableBrowser.java
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/TableChooser.java
Log:
Fixes #708 : Private CyTables are displayed by the table browser
Modified:
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/GlobalTableBrowser.java
===================================================================
---
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/GlobalTableBrowser.java
2012-02-29 22:14:03 UTC (rev 28403)
+++
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/GlobalTableBrowser.java
2012-02-29 22:23:04 UTC (rev 28404)
@@ -69,26 +69,27 @@
@Override
public void actionPerformed(final ActionEvent e) {
-
final CyTable table = (CyTable) tableChooser.getSelectedItem();
+
if (table == currentTable || table == null)
return;
currentTable = table;
-
showSelectedTable();
}
@Override
public void handleEvent(final TableAboutToBeDeletedEvent e) {
final CyTable cyTable = e.getTable();
- final GlobalTableComboBoxModel comboBoxModel =
(GlobalTableComboBoxModel) tableChooser.getModel();
- comboBoxModel.removeItem(cyTable);
- if(comboBoxModel.getSize() == 0)
- tableChooser.setEnabled(false);
+ if (cyTable.isPublic()) {
+ final GlobalTableComboBoxModel comboBoxModel =
(GlobalTableComboBoxModel) tableChooser.getModel();
+ comboBoxModel.removeItem(cyTable);
+
+ if (comboBoxModel.getSize() == 0)
+ tableChooser.setEnabled(false);
+ }
}
-
/**
* Switch to new table when it is registered to the table manager.
@@ -97,33 +98,34 @@
*/
@Override
public void handleEvent(TableAddedEvent e) {
-
- final GlobalTableComboBoxModel comboBoxModel =
(GlobalTableComboBoxModel)tableChooser.getModel();
final CyTable newTable = e.getTable();
-
- if(isGlobalTable(newTable))
- comboBoxModel.addAndSetSelectedItem(newTable);
-
- if(tableChooser.getItemCount() != 0)
- tableChooser.setEnabled(true);
+
+ if (newTable.isPublic()) {
+ if (isGlobalTable(newTable)) {
+ final GlobalTableComboBoxModel comboBoxModel =
(GlobalTableComboBoxModel) tableChooser.getModel();
+ comboBoxModel.addAndSetSelectedItem(newTable);
+ }
+
+ if (tableChooser.getItemCount() != 0)
+ tableChooser.setEnabled(true);
+ }
}
-
-
+
private boolean isGlobalTable(final CyTable table) {
-
final Set<CyTable> nonGlobalTables = new HashSet<CyTable>();
final Set<CyNetwork> networks =
this.networkTableManager.getNetworkSet();
- for(CyNetwork network: networks) {
- for(Class<?> type:OBJECT_TYPES) {
- final Map<String, CyTable> objTables =
this.networkTableManager.getTables(network, (Class<? extends CyTableEntry>)
type);
+
+ for (CyNetwork network : networks) {
+ for (Class<?> type : OBJECT_TYPES) {
+ final Map<String, CyTable> objTables =
this.networkTableManager.getTables(network,
+ (Class<? extends CyTableEntry>)
type);
nonGlobalTables.addAll(objTables.values());
}
}
-
- if(nonGlobalTables.contains(table))
+
+ if (nonGlobalTables.contains(table))
return false;
else
return true;
-
}
}
Modified:
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/TableChooser.java
===================================================================
---
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/TableChooser.java
2012-02-29 22:14:03 UTC (rev 28403)
+++
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/TableChooser.java
2012-02-29 22:23:04 UTC (rev 28404)
@@ -5,7 +5,6 @@
import java.awt.Color;
import java.awt.Component;
-import java.awt.Font;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
@@ -64,7 +63,6 @@
return tables.size();
}
-
@Override
public Object getElementAt(int index) {
return tables.get(index);
@@ -86,20 +84,17 @@
});
}
-
public void removeItem(CyTable deletedTable) {
-
if (tables.contains(deletedTable)) {
tables.remove(deletedTable);
- if (tables.size() != 0)
+
+ if (tables.size() > 0) {
Collections.sort(tables,
tableComparator);
+ setSelectedItem(tables.get(0));
+ } else {
+ setSelectedItem(null);
+ }
}
-
- if (tables.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.