Author: kono
Date: 2011-10-05 13:56:51 -0700 (Wed, 05 Oct 2011)
New Revision: 27070

Modified:
   
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/AbstractTableBrowser.java
   
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/DefaultTableBrowser.java
   
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 #412 First version of Multiple-tab Table Browser.

Modified: 
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/AbstractTableBrowser.java
===================================================================
--- 
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/AbstractTableBrowser.java
  2011-10-05 20:44:40 UTC (rev 27069)
+++ 
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/AbstractTableBrowser.java
  2011-10-05 20:56:51 UTC (rev 27070)
@@ -19,7 +19,6 @@
 import javax.swing.table.TableRowSorter;
 
 import org.cytoscape.application.CyApplicationManager;
-import org.cytoscape.application.events.SetCurrentNetworkListener;
 import org.cytoscape.application.swing.CytoPanelComponent;
 import org.cytoscape.application.swing.CytoPanelName;
 import org.cytoscape.equations.EquationCompiler;
@@ -27,23 +26,22 @@
 import org.cytoscape.model.CyNetworkTableManager;
 import org.cytoscape.model.CyTable;
 import org.cytoscape.model.CyTableManager;
-import org.cytoscape.model.events.NetworkAddedListener;
-import org.cytoscape.model.events.TableAboutToBeDeletedListener;
-import org.cytoscape.model.events.TableAddedListener;
 import org.cytoscape.service.util.CyServiceRegistrar;
 import org.cytoscape.task.TableTaskFactory;
 import org.cytoscape.util.swing.OpenBrowser;
 import org.cytoscape.work.swing.GUITaskManager;
 
 
-public abstract class AbstractTableBrowser extends JPanel implements 
CytoPanelComponent, ActionListener, TableAboutToBeDeletedListener,
-               SetCurrentNetworkListener, TableAddedListener, 
NetworkAddedListener {
-       
+/**
+ * Base class for all Table Browsers.
+ *
+ */
+public abstract class AbstractTableBrowser extends JPanel implements 
CytoPanelComponent, ActionListener {
+
        private static final long serialVersionUID = 1968196123280466989L;
        
        // Color theme for table browser.
-       static final Color GLOBAL_TABLE_COLOR = new Color(0x1E, 0x90, 0xFF);
-       static final Color GLOBAL_TABLE_BACKGROUND_COLOR = new Color(0x87, 
0xCE, 0xFA, 50);
+       
        static final Color NETWORK_COLOR = new Color(0xA5, 0x2A, 0x2A);
        static final Color SELECTED_ITEM_BACKGROUND_COLOR = new Color(0xA0, 
0xA0, 0xA0, 80);
        
@@ -59,8 +57,6 @@
        protected final Map<CyTable, TableMetadata> tableToMetadataMap;
        protected final CyApplicationManager applicationManager;
        protected final CyNetworkManager networkManager;
-       
-       
 
        // Tab title for the CytoPanel
        private final String tabTitle;

Modified: 
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/DefaultTableBrowser.java
===================================================================
--- 
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/DefaultTableBrowser.java
   2011-10-05 20:44:40 UTC (rev 27069)
+++ 
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/DefaultTableBrowser.java
   2011-10-05 20:56:51 UTC (rev 27070)
@@ -8,6 +8,7 @@
 
 import org.cytoscape.application.CyApplicationManager;
 import org.cytoscape.application.events.SetCurrentNetworkEvent;
+import org.cytoscape.application.events.SetCurrentNetworkListener;
 import org.cytoscape.equations.EquationCompiler;
 import org.cytoscape.model.CyEdge;
 import org.cytoscape.model.CyNetwork;
@@ -16,15 +17,16 @@
 import org.cytoscape.model.CyNode;
 import org.cytoscape.model.CyTableEntry;
 import org.cytoscape.model.CyTableManager;
+import org.cytoscape.model.events.NetworkAboutToBeDestroyedEvent;
+import org.cytoscape.model.events.NetworkAboutToBeDestroyedListener;
 import org.cytoscape.model.events.NetworkAddedEvent;
-import org.cytoscape.model.events.TableAboutToBeDeletedEvent;
-import org.cytoscape.model.events.TableAddedEvent;
+import org.cytoscape.model.events.NetworkAddedListener;
 import org.cytoscape.service.util.CyServiceRegistrar;
 import org.cytoscape.task.TableTaskFactory;
 import org.cytoscape.util.swing.OpenBrowser;
 import org.cytoscape.work.swing.GUITaskManager;
 
-public class DefaultTableBrowser extends AbstractTableBrowser {
+public class DefaultTableBrowser extends AbstractTableBrowser implements 
SetCurrentNetworkListener, NetworkAddedListener, 
NetworkAboutToBeDestroyedListener {
 
        private static final long serialVersionUID = 627394119637512735L;
 
@@ -38,7 +40,7 @@
                        CyApplicationManager applicationManager) {
                super(tabTitle, tableManager, networkTableManager, 
serviceRegistrar, compiler, openBrowser, networkManager,
                                deleteTableTaskFactoryService, 
guiTaskManagerServiceRef, popupMenuHelper, applicationManager);
-               // TODO Auto-generated constructor stub
+
                this.objType = objType;
 
                networkChooser = new JComboBox();
@@ -55,18 +57,6 @@
                final CyNetwork network = (CyNetwork) 
networkChooser.getSelectedItem();
                if (network == null || currentNetwork == network)
                        return;
-
-//             if (browserTableModel != null)
-//                     
serviceRegistrar.unregisterAllServices(browserTableModel);
-//
-//             if (objType == CyNode.class)
-//                     currentTable = network.getDefaultNodeTable();
-//             else if (objType == CyEdge.class)
-//                     currentTable = network.getDefaultEdgeTable();
-//             else
-//                     currentTable = network.getDefaultNetworkTable();
-
-               //showSelectedTable();
                
                applicationManager.setCurrentNetwork(network.getSUID());
        }
@@ -90,25 +80,17 @@
        }
        
        
-       
        @Override
        public void handleEvent(NetworkAddedEvent e) {
-               CyNetwork network = e.getNetwork();
-               System.out.println("Adding New Network: " + network);
+               final CyNetwork network = e.getNetwork();
                this.networkChooser.addItem(network);
                this.networkChooser.setSelectedItem(network);
        }
 
        @Override
-       public void handleEvent(TableAboutToBeDeletedEvent e) {
-               // TODO Auto-generated method stub
-               
+       public void handleEvent(NetworkAboutToBeDestroyedEvent e) {
+               final CyNetwork network = e.getNetwork();
+               this.networkChooser.removeItem(network);
        }
 
-       @Override
-       public void handleEvent(TableAddedEvent e) {
-               // TODO Auto-generated method stub
-               
-       }
-
 }

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
    2011-10-05 20:44:40 UTC (rev 27069)
+++ 
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/GlobalTableBrowser.java
    2011-10-05 20:56:51 UTC (rev 27070)
@@ -1,14 +1,15 @@
 package org.cytoscape.browser.internal;
 
 import java.awt.BorderLayout;
+import java.awt.Color;
 import java.awt.Dimension;
+import java.awt.Font;
 import java.awt.event.ActionEvent;
 import java.util.HashSet;
 import java.util.Map;
 import java.util.Set;
 
 import org.cytoscape.application.CyApplicationManager;
-import org.cytoscape.application.events.SetCurrentNetworkEvent;
 import org.cytoscape.browser.internal.TableChooser.GlobalTableComboBoxModel;
 import org.cytoscape.equations.EquationCompiler;
 import org.cytoscape.model.CyEdge;
@@ -19,23 +20,27 @@
 import org.cytoscape.model.CyTable;
 import org.cytoscape.model.CyTableEntry;
 import org.cytoscape.model.CyTableManager;
-import org.cytoscape.model.events.NetworkAddedEvent;
 import org.cytoscape.model.events.TableAboutToBeDeletedEvent;
+import org.cytoscape.model.events.TableAboutToBeDeletedListener;
 import org.cytoscape.model.events.TableAddedEvent;
+import org.cytoscape.model.events.TableAddedListener;
 import org.cytoscape.service.util.CyServiceRegistrar;
 import org.cytoscape.task.TableTaskFactory;
 import org.cytoscape.util.swing.OpenBrowser;
 import org.cytoscape.work.swing.GUITaskManager;
 
-public class GlobalTableBrowser extends AbstractTableBrowser {
+public class GlobalTableBrowser extends AbstractTableBrowser implements 
TableAboutToBeDeletedListener, TableAddedListener {
 
        private static final long serialVersionUID = 2269984225983802421L;
 
        private static final Class<?>[] OBJECT_TYPES = {CyNode.class, 
CyEdge.class, CyNetwork.class};
 
+       static final Color GLOBAL_TABLE_COLOR = new Color(0x1E, 0x90, 0xFF);
+       static final Color GLOBAL_TABLE_ENTRY_COLOR = new Color(0x1E, 0x90, 
0xFF, 150);
+       static final Color GLOBAL_TABLE_BACKGROUND_COLOR = new Color(0x87, 
0xCE, 0xFA, 50);
+       static final Font GLOBAL_FONT = new Font("SansSerif", Font.BOLD, 12);
        
        private final TableChooser tableChooser;
-       
 
        public GlobalTableBrowser(String tabTitle, CyTableManager tableManager, 
CyNetworkTableManager networkTableManager,
                        CyServiceRegistrar serviceRegistrar, EquationCompiler 
compiler, OpenBrowser openBrowser,
@@ -44,13 +49,18 @@
                        CyApplicationManager applicationManager) {
                super(tabTitle, tableManager, networkTableManager, 
serviceRegistrar, compiler, openBrowser, networkManager,
                                deleteTableTaskFactoryService, 
guiTaskManagerServiceRef, popupMenuHelper, applicationManager);
-               // TODO Auto-generated constructor stub
 
                tableChooser = new TableChooser();
                tableChooser.addActionListener(this);
                tableChooser.setSize(new Dimension(100, 20));
-               browserTable.setForeground(GLOBAL_TABLE_COLOR);
-               this.attributeBrowserToolBar = new 
AttributeBrowserToolBar(serviceRegistrar, compiler,
+               tableChooser.setFont(GLOBAL_FONT);
+               tableChooser.setForeground(GLOBAL_TABLE_COLOR);
+               tableChooser.setToolTipText("\"Global Tables\" are data tables 
not associated with specific networks.");
+               
+               browserTable.setForeground(GLOBAL_TABLE_ENTRY_COLOR);
+               browserTable.setEnabled(false);
+               
+               attributeBrowserToolBar = new 
AttributeBrowserToolBar(serviceRegistrar, compiler,
                                deleteTableTaskFactoryService, 
guiTaskManagerServiceRef, tableChooser);
 
                add(attributeBrowserToolBar, BorderLayout.NORTH);
@@ -77,38 +87,7 @@
                comboBoxModel.removeItem(cyTable);
                tableToMetadataMap.remove(cyTable);
        }
-       
-       @Override
-       public void handleEvent(final SetCurrentNetworkEvent e) {
-               final GlobalTableComboBoxModel comboBoxModel = 
(GlobalTableComboBoxModel)tableChooser.getModel();
-               final CyNetwork currentNetwork = e.getNetwork();
 
-               if (currentTable == null) {
-                       return;
-                       
//comboBoxModel.addAndSetSelectedItem(currentNetwork.getDefaultNodeTable());
-               } else {
-                       Class<? extends CyTableEntry> tableType = null;
-                       // Determine which table type we're currently 
displaying:
-                       for (Class<? extends CyTableEntry> type : new Class[] { 
CyNetwork.class, CyNode.class, CyEdge.class }) {
-                               final Map<String, CyTable> tables = 
networkTableManager.getTables(currentNetwork, type);
-                               for (final CyTable table : tables.values()) {
-                                       if (currentTable.getSUID() == 
table.getSUID()) {
-                                               tableType = type;
-                                               break;
-                                       }
-                               }
-                       }
-
-                       final CyTable tableToSelect;
-                       if (tableType == CyEdge.class)
-                               tableToSelect = 
currentNetwork.getDefaultEdgeTable();
-                       else if (tableType == CyNetwork.class)
-                               tableToSelect = 
currentNetwork.getDefaultNetworkTable();
-                       else
-                               tableToSelect = 
currentNetwork.getDefaultNodeTable();
-                       comboBoxModel.addAndSetSelectedItem(tableToSelect);
-               }
-       }
        
        /**
         * Switch to new table when it is registered to the table manager.
@@ -121,10 +100,8 @@
                final GlobalTableComboBoxModel comboBoxModel = 
(GlobalTableComboBoxModel)tableChooser.getModel();
                final CyTable newTable = e.getTable();
                
-               if(isGlobalTable(newTable)) {
+               if(isGlobalTable(newTable))
                        comboBoxModel.addAndSetSelectedItem(newTable);
-                       System.out.println("New Table Added!!");
-               }
        }
        
        
@@ -145,11 +122,4 @@
                        return true;
                
        }
-
-       @Override
-       public void handleEvent(NetworkAddedEvent e) {
-               // TODO Auto-generated method stub
-               
-       }
-
 }

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
  2011-10-05 20:44:40 UTC (rev 27069)
+++ 
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/TableChooser.java
  2011-10-05 20:56:51 UTC (rev 27070)
@@ -1,7 +1,6 @@
 package org.cytoscape.browser.internal;
 
-import static 
org.cytoscape.browser.internal.AbstractTableBrowser.GLOBAL_TABLE_COLOR;
-import static 
org.cytoscape.browser.internal.AbstractTableBrowser.NETWORK_COLOR;
+import static org.cytoscape.browser.internal.GlobalTableBrowser.*;
 import static 
org.cytoscape.browser.internal.AbstractTableBrowser.SELECTED_ITEM_BACKGROUND_COLOR;
 
 import java.awt.Color;
@@ -33,14 +32,12 @@
 
        private final Map<CyTable, String> tableToStringMap;
        
-       private static final Font GLOBAL_FONT = new Font("Serif", Font.BOLD, 
12);
+       
 
        TableChooser() {
                tableToStringMap = new HashMap<CyTable, String>();
                setModel(new GlobalTableComboBoxModel(tableToStringMap));
                setRenderer(new TableChooserCellRenderer(tableToStringMap));
-               this.setForeground(GLOBAL_TABLE_COLOR);
-               this.setFont(GLOBAL_FONT);
        }
 
        final class GlobalTableComboBoxModel extends DefaultComboBoxModel {
@@ -130,6 +127,8 @@
                                final boolean cellHasFocus) // does the cell 
have focus
                {
                        final CyTable table = (CyTable) value;
+                       this.setFont(GLOBAL_FONT);
+                       
                        if (tableToStringMap.containsKey(table))
                                setText(tableToStringMap.get(table));
                        else

-- 
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