Author: pwang
Date: 2012-02-10 16:54:45 -0800 (Fri, 10 Feb 2012)
New Revision: 28240

Modified:
   
csplugins/trunk/ucsd/pwang/subnetworkByCategory/src/main/java/org/cytoscape/subnetwork/SubnetworkByCategory.java
   
csplugins/trunk/ucsd/pwang/subnetworkByCategory/src/main/java/org/cytoscape/subnetwork/SubnetworkByCategoryAction.java
Log:
Apply visual style if it is defined

Modified: 
csplugins/trunk/ucsd/pwang/subnetworkByCategory/src/main/java/org/cytoscape/subnetwork/SubnetworkByCategory.java
===================================================================
--- 
csplugins/trunk/ucsd/pwang/subnetworkByCategory/src/main/java/org/cytoscape/subnetwork/SubnetworkByCategory.java
    2012-02-11 00:18:15 UTC (rev 28239)
+++ 
csplugins/trunk/ucsd/pwang/subnetworkByCategory/src/main/java/org/cytoscape/subnetwork/SubnetworkByCategory.java
    2012-02-11 00:54:45 UTC (rev 28240)
@@ -16,7 +16,7 @@
 
 public class SubnetworkByCategory {
        
-       public void execute(CyNetwork net, String attributeName){
+       public CyNetwork execute(CyNetwork net, String attributeName){
                // 1. get the node list for each category
                HashMap categoryMap = getNodeCategoryMap(net, attributeName);
                                        
@@ -35,7 +35,9 @@
                final CyNetwork overview = 
Cytoscape.createNetwork(overview_nodes, overview_edges, "Overview of category 
", net, false);
 
                // 4. Create a view for overview network
-               Cytoscape.createNetworkView(overview, overview.getTitle());     
                        
+               Cytoscape.createNetworkView(overview, overview.getTitle());     
+               
+               return overview;
        }
        
        

Modified: 
csplugins/trunk/ucsd/pwang/subnetworkByCategory/src/main/java/org/cytoscape/subnetwork/SubnetworkByCategoryAction.java
===================================================================
--- 
csplugins/trunk/ucsd/pwang/subnetworkByCategory/src/main/java/org/cytoscape/subnetwork/SubnetworkByCategoryAction.java
      2012-02-11 00:18:15 UTC (rev 28239)
+++ 
csplugins/trunk/ucsd/pwang/subnetworkByCategory/src/main/java/org/cytoscape/subnetwork/SubnetworkByCategoryAction.java
      2012-02-11 00:54:45 UTC (rev 28240)
@@ -1,20 +1,14 @@
 package org.cytoscape.subnetwork;
 
 import cytoscape.Cytoscape;
-import cytoscape.data.CyAttributes;
-import cytoscape.data.Semantics;
 import cytoscape.util.CytoscapeAction;
 import java.awt.event.ActionEvent;
+import java.net.URL;
 
 import cytoscape.CyNetwork;
-import cytoscape.CyNode;
-import cytoscape.CyEdge;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Set;
-import java.util.Vector;
-import java.util.Iterator;
-import java.util.List;
+import cytoscape.view.CyNetworkView;
+import cytoscape.layout.CyLayoutAlgorithm;
+import cytoscape.visual.VisualStyle;
 
 /**
  * A simple action.  Change the names as appropriate and
@@ -25,6 +19,9 @@
 
                private static final long serialVersionUID = 
123456789023451239L;
 
+               private static final URL vizmapPropsLocation = 
SubnetworkByCategoryAction.class.getResource("/subnetwork_overview_VS.props");
+               private VisualStyle overviewVS = null;
+               
                public SubnetworkByCategoryAction() {
                        // Give your action a name here
                        super("Subnetwork by Category");
@@ -33,21 +30,28 @@
                        // to live in the Plugins menu, so choose whatever
                        // is appropriate!
                setPreferredMenu("Plugins");
+               
+                       // Create visualStyles based on the definition in 
property files
+               if (vizmapPropsLocation != null){
+                               
Cytoscape.firePropertyChange(Cytoscape.VIZMAP_LOADED, null, 
vizmapPropsLocation);
+                               overviewVS = 
Cytoscape.getVisualMappingManager().getCalculatorCatalog().getVisualStyle("subnetwork_overview");
                  
+               }
+
                }
                
                public void actionPerformed(ActionEvent e) {
 
-                       String attributeName = "Category";// this is the 
default attribute name                 
+//                     String attributeName = "Category";// this is the 
default attribute name                 
                        // get attributeName (Type String or int) from user
                        
                        
                String[] attrNames = 
Cytoscape.getNodeAttributes().getAttributeNames();         
 
                        ChooseCategoryAttributeDialog dlg = new 
ChooseCategoryAttributeDialog(Cytoscape.getDesktop(), true, attrNames);
-
                        dlg.setVisible(true);
                        
                        if (dlg.getSelectedAttribute() == null){
+                               // User clicked cancel button
                                return;
                        }
 
@@ -55,7 +59,19 @@
                        
                        SubnetworkByCategory w = new SubnetworkByCategory();
                        
-                       w.execute(net, dlg.getSelectedAttribute());
+                       CyNetwork overviewNetwork = w.execute(net, 
dlg.getSelectedAttribute());
+                       CyNetworkView view = 
Cytoscape.getNetworkView(overviewNetwork.getIdentifier());
                        
+                       if (view != null){
+                               //Apply VisualStyle
+                               if (this.overviewVS != null){
+                                       
view.setVisualStyle(this.overviewVS.getName());
+                                       view.redrawGraph(false, true);          
                        
+                               }
+
+                               // apply layout -- force-directed
+                               CyLayoutAlgorithm alg = 
cytoscape.layout.CyLayouts.getLayout("force-directed");
+                               view.applyLayout(alg);
+                       }
                }
 }

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