Author: rozagh
Date: 2012-09-07 10:27:16 -0700 (Fri, 07 Sep 2012)
New Revision: 30335

Modified:
   
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/CyActivator.java
   
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/GlobalTableBrowser.java
Log:
fixes #1427 registering services for GlobalTableBrowser other than 
CytoPanelComponent in the CyActivator and registering CytoPanelCompnent class 
service when the first unassigned table is added to the manager. Unregistering 
the service when all of the tables are removed.

Modified: 
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/CyActivator.java
===================================================================
--- 
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/CyActivator.java
   2012-09-07 16:42:05 UTC (rev 30334)
+++ 
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/CyActivator.java
   2012-09-07 17:27:16 UTC (rev 30335)
@@ -1,5 +1,6 @@
 package org.cytoscape.browser.internal;
 
+import java.awt.event.ActionListener;
 import java.util.Properties;
 
 import org.cytoscape.application.CyApplicationManager;
@@ -11,8 +12,13 @@
 import org.cytoscape.model.CyNetworkTableManager;
 import org.cytoscape.model.CyNode;
 import org.cytoscape.model.CyTableManager;
+import org.cytoscape.model.events.TableAboutToBeDeletedListener;
+import org.cytoscape.model.events.TableAddedListener;
+import org.cytoscape.model.events.TablePrivacyChangedListener;
 import org.cytoscape.service.util.AbstractCyActivator;
 import org.cytoscape.service.util.CyServiceRegistrar;
+import org.cytoscape.session.events.SessionAboutToBeSavedListener;
+import org.cytoscape.session.events.SessionLoadedListener;
 import org.cytoscape.task.TableCellTaskFactory;
 import org.cytoscape.task.TableColumnTaskFactory;
 import org.cytoscape.task.destroy.DeleteTableTaskFactory;
@@ -51,7 +57,14 @@
                registerAllServices(bc,nodeTableBrowser, new Properties());
                registerAllServices(bc,edgeTableBrowser, new Properties());
                registerAllServices(bc,networkTableBrowser, new Properties());
-               registerAllServices(bc,globalTableBrowser, new Properties());
+               //registerAllServices(bc,globalTableBrowser, new Properties());
+               Properties globalTableProp = new Properties();
+               registerService(bc, globalTableBrowser, ActionListener.class, 
globalTableProp);
+               registerService(bc, globalTableBrowser, 
SessionLoadedListener.class, globalTableProp);
+               registerService(bc, globalTableBrowser, 
SessionAboutToBeSavedListener.class, globalTableProp);
+               registerService(bc, globalTableBrowser, 
TableAboutToBeDeletedListener.class, globalTableProp);
+               registerService(bc, globalTableBrowser, 
TableAddedListener.class, globalTableProp);
+               registerService(bc, globalTableBrowser, 
TablePrivacyChangedListener.class, globalTableProp);
 
                
registerServiceListener(bc,popupMenuHelper,"addTableColumnTaskFactory","removeTableColumnTaskFactory",TableColumnTaskFactory.class);
                
registerServiceListener(bc,popupMenuHelper,"addTableCellTaskFactory","removeTableCellTaskFactory",TableCellTaskFactory.class);

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-09-07 16:42:05 UTC (rev 30334)
+++ 
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/GlobalTableBrowser.java
    2012-09-07 17:27:16 UTC (rev 30335)
@@ -4,10 +4,12 @@
 import java.awt.Color;
 import java.awt.Font;
 import java.awt.event.ActionEvent;
+import java.util.Properties;
 
 import javax.swing.SwingUtilities;
 
 import org.cytoscape.application.CyApplicationManager;
+import org.cytoscape.application.swing.CytoPanelComponent;
 import org.cytoscape.browser.internal.TableChooser.GlobalTableComboBoxModel;
 import org.cytoscape.equations.EquationCompiler;
 import org.cytoscape.event.CyEventHelper;
@@ -43,7 +45,7 @@
                        CyApplicationManager applicationManager, CyEventHelper 
eventHelper){//, final MapGlobalToLocalTableTaskFactory 
mapGlobalTableTaskFactoryService) {
                super(tabTitle, tableManager, networkTableManager, 
serviceRegistrar, compiler, networkManager,
                                deleteTableTaskFactoryService, 
guiTaskManagerServiceRef, popupMenuHelper, applicationManager, eventHelper);
-
+               
                tableChooser = new TableChooser();
                tableChooser.addActionListener(this);
                tableChooser.setMaximumSize(SELECTOR_SIZE);
@@ -84,6 +86,7 @@
                                tableChooser.setEnabled(false);
                                // The last table is deleted, refresh the 
browser table (this is a special case)
                                deleteTable(cyTable);
+                               serviceRegistrar.unregisterService(this, 
CytoPanelComponent.class);
                                SwingUtilities.invokeLater(new Runnable() {
                                        @Override
                                        public void run() {
@@ -108,7 +111,10 @@
                                final GlobalTableComboBoxModel comboBoxModel = 
(GlobalTableComboBoxModel) tableChooser.getModel();
                                comboBoxModel.addAndSetSelectedItem(newTable);
                        }
-       
+                       
+                       if (tableChooser.getItemCount() == 1)
+                               serviceRegistrar.registerService(this, 
CytoPanelComponent.class, new Properties());
+                       
                        if (tableChooser.getItemCount() != 0)
                                tableChooser.setEnabled(true);
                }

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