Author: ruschein
Date: 2011-03-03 14:32:15 -0800 (Thu, 03 Mar 2011)
New Revision: 24306

Modified:
   
core3/swing-application-impl/trunk/src/main/java/org/cytoscape/internal/view/NetworkPanel.java
   
core3/swing-application-impl/trunk/src/main/resources/META-INF/spring/bundle-context-osgi.xml
   
core3/swing-application-impl/trunk/src/main/resources/META-INF/spring/bundle-context.xml
Log:
Now we update the number of selected nodes and edges in the network panel.

Modified: 
core3/swing-application-impl/trunk/src/main/java/org/cytoscape/internal/view/NetworkPanel.java
===================================================================
--- 
core3/swing-application-impl/trunk/src/main/java/org/cytoscape/internal/view/NetworkPanel.java
      2011-03-03 22:05:50 UTC (rev 24305)
+++ 
core3/swing-application-impl/trunk/src/main/java/org/cytoscape/internal/view/NetworkPanel.java
      2011-03-03 22:32:15 UTC (rev 24306)
@@ -61,12 +61,16 @@
 import javax.swing.tree.TreeNode;
 import javax.swing.tree.TreePath;
 
+import org.cytoscape.application.swing.CyAction;
+import org.cytoscape.model.CyColumn;
+import org.cytoscape.model.CyTable;
+import org.cytoscape.model.CyTableRowUpdateService;
 import org.cytoscape.model.CyTableUtil;
 import org.cytoscape.model.CyNetwork;
-import org.cytoscape.model.events.RowSetMicroListener;
-import org.cytoscape.application.swing.CyAction;
+import org.cytoscape.model.CyNetworkManager;
+import org.cytoscape.model.CyRow;
 import org.cytoscape.event.CyEventHelper;
-import org.cytoscape.model.CyNetworkManager;
+import org.cytoscape.model.events.CyTableRowUpdateMicroListener;
 import org.cytoscape.model.events.NetworkAboutToBeDestroyedEvent;
 import org.cytoscape.model.events.NetworkAboutToBeDestroyedListener;
 import org.cytoscape.model.events.NetworkAddedEvent;
@@ -77,6 +81,7 @@
 import org.cytoscape.view.model.events.NetworkViewAboutToBeDestroyedListener;
 import org.cytoscape.view.model.events.NetworkViewAddedEvent;
 import org.cytoscape.view.model.events.NetworkViewAddedListener;
+import org.cytoscape.model.events.RowSetMicroListener;
 import org.cytoscape.session.CyApplicationManager;
 import org.cytoscape.session.events.SetCurrentNetworkEvent;
 import org.cytoscape.session.events.SetCurrentNetworkListener;
@@ -102,11 +107,11 @@
 
 
 public class NetworkPanel extends JPanel implements TreeSelectionListener,
-               SetCurrentNetworkViewListener,
-               SetCurrentNetworkListener, NetworkAddedListener,
-               NetworkViewAddedListener, NetworkAboutToBeDestroyedListener,
-               NetworkViewAboutToBeDestroyedListener {
-       
+       SetCurrentNetworkViewListener, CyTableRowUpdateMicroListener,
+       SetCurrentNetworkListener, NetworkAddedListener,
+       NetworkViewAddedListener, NetworkAboutToBeDestroyedListener,
+       NetworkViewAboutToBeDestroyedListener
+{
        private final static long serialVersionUID = 1213748836763243L;
 
        private static final Logger logger = 
LoggerFactory.getLogger(NetworkPanel.class);
@@ -126,8 +131,8 @@
        private Map<TaskFactory,CyAction> popupActions;
        private CyEventHelper eventHelper;
        private Map<CyNetwork, RowSetMicroListener> nameListeners;
+       private CyTableRowUpdateService tableRowUpdateService;
 
-
        /**
         * Constructor for the Network Panel.
         * 
@@ -136,15 +141,17 @@
        public NetworkPanel(final CyApplicationManager applicationManager, 
final CyNetworkManager netmgr,
                            final CyNetworkViewManager networkViewManager,
                            final BirdsEyeViewHandler bird, final TaskManager 
taskManager,
-                           final CyEventHelper eventHelper)
+                           final CyEventHelper eventHelper,
+                           final CyTableRowUpdateService tableRowUpdateService)
        {
                super();
 
-               this.applicationManager = applicationManager;
-               this.netmgr = netmgr;
-               this.networkViewManager = networkViewManager;
-               this.taskManager = taskManager;
-               this.eventHelper = eventHelper;
+               this.applicationManager    = applicationManager;
+               this.netmgr                = netmgr;
+               this.networkViewManager    = networkViewManager;
+               this.taskManager           = taskManager;
+               this.eventHelper           = eventHelper;
+               this.tableRowUpdateService = tableRowUpdateService;
 
                root = new NetworkTreeNode("Network Root", 0L);
                treeTableModel = new NetworkTreeTableModel(root);
@@ -300,6 +307,10 @@
         * @param network_id
         */
        public void removeNetwork(final Long network_id) {
+               final CyNetwork network = netmgr.getNetwork(network_id);
+               tableRowUpdateService.stopTracking(this, 
network.getDefaultNodeTable());
+               tableRowUpdateService.stopTracking(this, 
network.getDefaultEdgeTable());
+
                final NetworkTreeNode node = getNetworkNode(network_id);
                final Enumeration children = node.children();
                final List<NetworkTreeNode> removed_children = new 
ArrayList<NetworkTreeNode>();
@@ -347,8 +358,8 @@
                CyNetwork net = nde.getNetwork();
                logger.debug("Network about to be destroyed " + net.getSUID());
                removeNetwork(net.getSUID());
-               RowSetMicroListener rsml = nameListeners.remove(net);
-               if ( rsml != null )
+               final RowSetMicroListener rsml = nameListeners.remove(net);
+               if (rsml != null)
                        eventHelper.removeMicroListener( rsml, 
RowSetMicroListener.class, net.getCyRow().getTable() ); 
        }
 
@@ -412,6 +423,25 @@
                treeTable.getTree().updateUI();
        }
 
+       @Override
+       public void handleRowSets(final CyTable table, final List<RowSet> 
rowSets) {
+               boolean selectColumnHasBeenUpdated = false;
+               for (final RowSet rowSet : rowSets) {
+                       if (rowSet.getColumn() == CyNetwork.SELECTED) {
+                               selectColumnHasBeenUpdated = true;
+                               break;
+                       }
+               }
+
+               if (selectColumnHasBeenUpdated)
+                       treeTable.getTree().updateUI();
+       }
+
+       @Override
+       public void handleRowCreations(final CyTable table, final List<CyRow> 
newRows) {
+               treeTable.getTree().updateUI();
+       }
+
        /**
         * DOCUMENT ME!
         * 
@@ -420,9 +450,13 @@
         * @param parent_id
         *            DOCUMENT ME!
         */
-       private void addNetwork(Long network_id, Long parent_id) {
+       private void addNetwork(final Long network_id, final Long parent_id) {
                // first see if it exists
                if (getNetworkNode(network_id) == null) {
+                       final CyNetwork network = netmgr.getNetwork(network_id);
+                       tableRowUpdateService.startTracking(this, 
network.getDefaultNodeTable());
+                       tableRowUpdateService.startTracking(this, 
network.getDefaultEdgeTable());
+
                        // logger.debug("NetworkPanel: addNetwork " + 
network_id);
                        NetworkTreeNode dmtn = new 
NetworkTreeNode(netmgr.getNetwork(
                                        network_id).getCyRow().get("name", 
String.class), network_id);

Modified: 
core3/swing-application-impl/trunk/src/main/resources/META-INF/spring/bundle-context-osgi.xml
===================================================================
--- 
core3/swing-application-impl/trunk/src/main/resources/META-INF/spring/bundle-context-osgi.xml
       2011-03-03 22:05:50 UTC (rev 24305)
+++ 
core3/swing-application-impl/trunk/src/main/resources/META-INF/spring/bundle-context-osgi.xml
       2011-03-03 22:32:15 UTC (rev 24306)
@@ -25,6 +25,8 @@
 
        <osgi:reference id="taskManagerServiceRef" 
interface="org.cytoscape.work.swing.GUITaskManager" />
 
+       <osgi:reference id="cyTableRowUpdateServiceRef" 
interface="org.cytoscape.model.CyTableRowUpdateService" />
+
        <!-- Rendering Engine factory for main network views -->
        <osgi:reference id="dingRenderingEngineFactoryServiceRef"
                
interface="org.cytoscape.view.presentation.RenderingEngineFactory"

Modified: 
core3/swing-application-impl/trunk/src/main/resources/META-INF/spring/bundle-context.xml
===================================================================
--- 
core3/swing-application-impl/trunk/src/main/resources/META-INF/spring/bundle-context.xml
    2011-03-03 22:05:50 UTC (rev 24305)
+++ 
core3/swing-application-impl/trunk/src/main/resources/META-INF/spring/bundle-context.xml
    2011-03-03 22:32:15 UTC (rev 24306)
@@ -95,6 +95,7 @@
                <constructor-arg ref="birdsEyeViewHandler" />
                <constructor-arg ref="guiTaskManagerServiceRef" />
                <constructor-arg ref="cyEventHelperServiceRef" />
+               <constructor-arg ref="cyTableRowUpdateServiceRef" />
        </bean>
 
 

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