Author: pwang
Date: 2012-02-27 17:09:46 -0800 (Mon, 27 Feb 2012)
New Revision: 28381

Modified:
   
core3/support/trunk/samples/sample15/src/main/java/org/cytoscape/sample/internal/CyActivator.java
   
core3/support/trunk/samples/sample15/src/main/java/org/cytoscape/sample/internal/Sample15.java
Log:
Updated

Modified: 
core3/support/trunk/samples/sample15/src/main/java/org/cytoscape/sample/internal/CyActivator.java
===================================================================
--- 
core3/support/trunk/samples/sample15/src/main/java/org/cytoscape/sample/internal/CyActivator.java
   2012-02-28 00:00:32 UTC (rev 28380)
+++ 
core3/support/trunk/samples/sample15/src/main/java/org/cytoscape/sample/internal/CyActivator.java
   2012-02-28 01:09:46 UTC (rev 28381)
@@ -1,5 +1,6 @@
 package org.cytoscape.sample.internal;
 
+import org.cytoscape.application.CyApplicationManager;
 import org.cytoscape.application.swing.CyAction;
 import org.osgi.framework.BundleContext;
 import org.cytoscape.service.util.AbstractCyActivator;
@@ -14,17 +15,21 @@
                super();
        }
 
-
        public void start(BundleContext bc) {
 
+               CyApplicationManager cyApplicationManagerServiceRef = 
getService(bc,CyApplicationManager.class);
+
+               VisualMappingManager vmmServiceRef = 
getService(bc,VisualMappingManager.class);
+               
                VisualStyleFactory visualStyleFactoryServiceRef = 
getService(bc,VisualStyleFactory.class);
                
-               VisualMappingFunctionFactory continuousMappingFactoryServiceRef 
= getService(bc,VisualMappingFunctionFactory.class,"(mapping.type=continuous)");
+               VisualMappingFunctionFactory vmfFactoryC = 
getService(bc,VisualMappingFunctionFactory.class, "(mapping.type=continuous)");
+               VisualMappingFunctionFactory vmfFactoryD = 
getService(bc,VisualMappingFunctionFactory.class, "(mapping.type=discrete)");
+               VisualMappingFunctionFactory vmfFactoryP = 
getService(bc,VisualMappingFunctionFactory.class, "(mapping.type=passthrough)");
 
-               VisualMappingManager vmmServiceRef = 
getService(bc,VisualMappingManager.class);
+               Sample15 sample16Action = new 
Sample15(cyApplicationManagerServiceRef, vmmServiceRef, 
visualStyleFactoryServiceRef, 
+                               vmfFactoryC, vmfFactoryD, vmfFactoryP);
                
-               Sample15 sample16Action = new 
Sample15(visualStyleFactoryServiceRef, continuousMappingFactoryServiceRef, 
vmmServiceRef);
-               
                registerService(bc,sample16Action,CyAction.class, new 
Properties());
        }
 }

Modified: 
core3/support/trunk/samples/sample15/src/main/java/org/cytoscape/sample/internal/Sample15.java
===================================================================
--- 
core3/support/trunk/samples/sample15/src/main/java/org/cytoscape/sample/internal/Sample15.java
      2012-02-28 00:00:32 UTC (rev 28380)
+++ 
core3/support/trunk/samples/sample15/src/main/java/org/cytoscape/sample/internal/Sample15.java
      2012-02-28 01:09:46 UTC (rev 28381)
@@ -1,29 +1,43 @@
 package org.cytoscape.sample.internal;
 
 import java.awt.event.ActionEvent;
+import org.cytoscape.application.CyApplicationManager;
 import org.cytoscape.application.swing.AbstractCyAction;
+import org.cytoscape.model.CyTable;
 import org.cytoscape.view.presentation.property.BasicVisualLexicon;
+import org.cytoscape.view.presentation.property.NodeShapeVisualProperty;
 import org.cytoscape.view.vizmap.VisualMappingManager;
 import org.cytoscape.view.vizmap.VisualStyleFactory;
 import org.cytoscape.view.vizmap.VisualStyle;
 import org.cytoscape.view.vizmap.VisualMappingFunction;
 import org.cytoscape.view.vizmap.VisualMappingFunctionFactory;
+import org.cytoscape.view.vizmap.mappings.DiscreteMapping;
+import org.cytoscape.view.vizmap.mappings.PassthroughMapping;
+import java.util.Iterator;
 
+
 public class Sample15 extends AbstractCyAction {
-       
+
+       private CyApplicationManager cyApplicationManagerServiceRef;
        private VisualStyleFactory visualStyleFactoryServiceRef;
-       private VisualMappingFunctionFactory continuousMappingFactoryServiceRef;
        private VisualMappingManager vmmServiceRef;
        
-       public Sample15(VisualStyleFactory visualStyleFactoryServiceRef, 
VisualMappingFunctionFactory continuousMappingFactoryServiceRef,
-                       VisualMappingManager vmmServiceRef){
+       private VisualMappingFunctionFactory vmfFactoryC;
+       private VisualMappingFunctionFactory vmfFactoryD;
+       private VisualMappingFunctionFactory vmfFactoryP;
+       
+       public Sample15(CyApplicationManager cyApplicationManagerServiceRef, 
VisualMappingManager vmmServiceRef, VisualStyleFactory 
visualStyleFactoryServiceRef, 
+                       VisualMappingFunctionFactory 
vmfFactoryC,VisualMappingFunctionFactory 
vmfFactoryD,VisualMappingFunctionFactory vmfFactoryP){
                // Add a menu item -- Apps->sample15
                super("sample15");
                setPreferredMenu("Apps");
 
+               this.cyApplicationManagerServiceRef = 
cyApplicationManagerServiceRef;
                this.visualStyleFactoryServiceRef = 
visualStyleFactoryServiceRef;
-               this.continuousMappingFactoryServiceRef = 
continuousMappingFactoryServiceRef;
-               this.vmmServiceRef = vmmServiceRef;
+               this.vmmServiceRef =  vmmServiceRef;
+               this.vmfFactoryC        = vmfFactoryC;
+               this.vmfFactoryD        = vmfFactoryD;
+               this.vmfFactoryP        = vmfFactoryP;
        }
        
        /**
@@ -33,17 +47,44 @@
         */
        public void actionPerformed(ActionEvent e) {
 
+               // If the style already existed, remove it first
+               Iterator it = vmmServiceRef.getAllVisualStyles().iterator();
+               while (it.hasNext()){
+                       VisualStyle curVS = (VisualStyle)it.next();
+                       if (curVS.getTitle().equalsIgnoreCase("sample15 visual 
style"))
+                       {
+                               vmmServiceRef.removeVisualStyle(curVS);
+                               break;
+                       }
+               }
+               
+               // Create a new Visual style
                VisualStyle vs= 
this.visualStyleFactoryServiceRef.createVisualStyle("sample15 visual style");
                this.vmmServiceRef.addVisualStyle(vs);
 
-               System.out.println("New visual style is created!");
+               CyTable attrForTest = 
cyApplicationManagerServiceRef.getCurrentNetwork().getDefaultNodeTable();
 
-               VisualMappingFunction mapping = 
-                       
this.continuousMappingFactoryServiceRef.createVisualMappingFunction("degree", 
Integer.class, null, BasicVisualLexicon.NODE_FILL_COLOR);
+               // 1. pass-through mapping
+               String ctrAttrName1 = "SUID";
+               PassthroughMapping pMapping = (PassthroughMapping) 
this.vmfFactoryP.createVisualMappingFunction(ctrAttrName1, String.class, 
attrForTest, BasicVisualLexicon.NODE_LABEL);
+               
+               // 2. DiscreteMapping - Set node shape based on attribute value
+               String ctrAttrName2 = "NodeShape";
+               Class dataType = String.class; 
 
+               DiscreteMapping dMapping = (DiscreteMapping) 
this.vmfFactoryD.createVisualMappingFunction(ctrAttrName2, dataType, 
attrForTest, BasicVisualLexicon.NODE_SHAPE);
+
+               // If attribute value is "diamon", map the nodeShape to DIAMOND
+               String key  = "diamond";
+               dMapping.putMapValue(key, NodeShapeVisualProperty.DIAMOND);
+
+               // If attribute value is "triangle", map the nodeShape to 
TRIANGLE
+               key  = "triangle";
+               dMapping.putMapValue(key, NodeShapeVisualProperty.TRIANGLE);
+
+               //3. continous mapping. Please look at Sample16
                
-               //mapping.
-               
-               vs.addVisualMappingFunction(mapping);   
+               vs.addVisualMappingFunction(pMapping);                  
+               vs.addVisualMappingFunction(dMapping);                  
        }
 }

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