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.

Reply via email to