Author: pwang
Date: 2009-12-10 13:26:05 -0800 (Thu, 10 Dec 2009)
New Revision: 18717

Modified:
   cytoscape/trunk/src/cytoscape/visual/ui/NestedNetworkMenuListener.java
Log:
Add right click menu item "Go to Nested Network"

Modified: cytoscape/trunk/src/cytoscape/visual/ui/NestedNetworkMenuListener.java
===================================================================
--- cytoscape/trunk/src/cytoscape/visual/ui/NestedNetworkMenuListener.java      
2009-12-10 02:51:16 UTC (rev 18716)
+++ cytoscape/trunk/src/cytoscape/visual/ui/NestedNetworkMenuListener.java      
2009-12-10 21:26:05 UTC (rev 18717)
@@ -37,26 +37,18 @@
 package cytoscape.visual.ui;
 
 import ding.view.NodeContextMenuListener;
-
 import giny.view.NodeView;
-
-import java.awt.Color;
-import java.awt.Font;
 import java.awt.event.ActionEvent;
-
 import javax.swing.AbstractAction;
 import javax.swing.JCheckBoxMenuItem;
-import javax.swing.JLabel;
 import javax.swing.JMenu;
 import javax.swing.JMenuItem;
 import javax.swing.JPopupMenu;
-import javax.swing.border.EmptyBorder;
-
+import cytoscape.CyNetwork;
+import cytoscape.view.CyNetworkView;
 import cytoscape.Cytoscape;
-import cytoscape.visual.parsers.ObjectToString;
 import cytoscape.dialogs.SetNestedNetworkDialog;
 
-
 /**
  * NestedNetworkMenuListener implements NodeContextMenuListener
  * When a node is selected it calls NestedNetwork and add
@@ -76,14 +68,17 @@
                                
                final JMenuItem jm1 = new JCheckBoxMenuItem(new 
SetNestedNetworkMenuItemAction(nodeView));
                final JMenuItem jm2 = new JCheckBoxMenuItem(new 
DeleteNestedNetworkMenuItemAction(nodeView));
+               final JMenuItem jm3 = new JCheckBoxMenuItem(new 
GotoNestedNetworkMenuItemAction(nodeView));
 
                if (nodeView.getNode().getNestedNetwork() == null){
                        jm2.setEnabled(false);
+                       jm3.setEnabled(false);
                }
-               
+
                jm.add(jm1);
                jm.add(jm2);
-                               
+               jm.add(jm3);
+               
                menu.add(jm);
        }
        
@@ -116,11 +111,30 @@
                        if (this.nodeView.getNode().getNestedNetwork() == null){
                                return;
                        }
-                       this.nodeView.getNode().setNestedNetwork(null);
+                       this.nodeView.getNode().setNestedNetwork(null);         
        
+               }
+       }
+
+       class GotoNestedNetworkMenuItemAction extends AbstractAction {
+               NodeView nodeView;
+               public GotoNestedNetworkMenuItemAction(NodeView nodeView){
+                       super("Go to Nested Network");
+                       this.nodeView = nodeView;
+               }
+               
+               public void actionPerformed(ActionEvent e) {
+                       if (this.nodeView.getNode().getNestedNetwork() == null){
+                               return;
+                       }
+               
+                       CyNetwork nestedNetwork = (CyNetwork) 
this.nodeView.getNode().getNestedNetwork();
                        
-                       // also delete attribute for this nested network
-                       
Cytoscape.getNodeAttributes().deleteAttribute(this.nodeView.getNode().getIdentifier(),
 cytoscape.CyNode.NESTED_NETWORK_ID_ATTR);
+                       CyNetworkView theView = 
Cytoscape.getNetworkView(nestedNetwork.getIdentifier());
+                       if (theView == null){
+                               theView = 
Cytoscape.createNetworkView(nestedNetwork);
+                       }
+
+                       
Cytoscape.getDesktop().setFocus(nestedNetwork.getIdentifier());
                }
        }
-
 }

--

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