Author: kono
Date: 2010-01-19 10:45:20 -0800 (Tue, 19 Jan 2010)
New Revision: 18954

Modified:
   
csplugins/trunk/ucsd/ruschein/BipartiteVisualiser/src/org/cytoscape/BipartiteVisualiserPlugin/duallayout/LayoutEngine.java
   
csplugins/trunk/ucsd/ruschein/BipartiteVisualiser/src/org/cytoscape/BipartiteVisualiserPlugin/duallayout/VisualStyleBuilder.java
Log:
Node attributes will be added when visualize pair of networks.  This will be 
used for generating Visual Style.

Modified: 
csplugins/trunk/ucsd/ruschein/BipartiteVisualiser/src/org/cytoscape/BipartiteVisualiserPlugin/duallayout/LayoutEngine.java
===================================================================
--- 
csplugins/trunk/ucsd/ruschein/BipartiteVisualiser/src/org/cytoscape/BipartiteVisualiserPlugin/duallayout/LayoutEngine.java
  2010-01-19 18:40:37 UTC (rev 18953)
+++ 
csplugins/trunk/ucsd/ruschein/BipartiteVisualiser/src/org/cytoscape/BipartiteVisualiserPlugin/duallayout/LayoutEngine.java
  2010-01-19 18:45:20 UTC (rev 18954)
@@ -110,7 +110,7 @@
                final double[] yMax = new double[3];
                findExtents(networkView, leftSet, rightSet, xMin, xMax, yMin, 
yMax);
                
-               final VisualStyle style = 
VisualStyleBuilder.getVisualStyle(visualStyleName);
+               final VisualStyle style = 
VisualStyleBuilder.getVisualStyle(visualStyleName, network1.getTitle(), 
network2.getTitle());
                networkView.setVisualStyle(style.getName());
                Cytoscape.getVisualMappingManager().setVisualStyle(style);
                networkView.redrawGraph(false, true);
@@ -126,23 +126,28 @@
                                     final Set<CyNode> rightSet)
        {
                @SuppressWarnings("unchecked")
-               final Set<CyNode> orig1 = new 
HashSet<CyNode>((List<CyNode>)network1);
+               final Set<CyNode> orig1 = new 
HashSet<CyNode>(network1.nodesList());
                @SuppressWarnings("unchecked")
-               final Set<CyNode> orig2 = new 
HashSet<CyNode>((List<CyNode>)network2);
+               final Set<CyNode> orig2 = new 
HashSet<CyNode>(network2.nodesList());
 
                @SuppressWarnings("unchecked")
                final List<CyNode> resultNodes = 
(List<CyNode>)result.nodesList();
+               
+               final CyAttributes nodeAttr = Cytoscape.getNodeAttributes();
+               
                for (final CyNode node : resultNodes) {
                        final boolean inNetwork1 = orig1.contains(node);
                        final boolean inNetwork2 = orig2.contains(node);
 
                        if (inNetwork1 && inNetwork2)
                                /* Do Nothing. */;
-                       else if (inNetwork1 && !inNetwork2)
+                       else if (inNetwork1 && !inNetwork2) {
                                leftSet.add(node);
-                       else if (!inNetwork1 && inNetwork2)
+                               nodeAttr.setAttribute(node.getIdentifier(), 
visualStyleName, network1.getTitle());
+                       } else if (!inNetwork1 && inNetwork2) {
                                rightSet.add(node);
-                       else // This should never happen!
+                               nodeAttr.setAttribute(node.getIdentifier(), 
visualStyleName, network1.getTitle());
+                       } else // This should never happen!
                                throw new IllegalStateException("Do not know 
how to categorise a node!");
                }
        }

Modified: 
csplugins/trunk/ucsd/ruschein/BipartiteVisualiser/src/org/cytoscape/BipartiteVisualiserPlugin/duallayout/VisualStyleBuilder.java
===================================================================
--- 
csplugins/trunk/ucsd/ruschein/BipartiteVisualiser/src/org/cytoscape/BipartiteVisualiserPlugin/duallayout/VisualStyleBuilder.java
    2010-01-19 18:40:37 UTC (rev 18953)
+++ 
csplugins/trunk/ucsd/ruschein/BipartiteVisualiser/src/org/cytoscape/BipartiteVisualiserPlugin/duallayout/VisualStyleBuilder.java
    2010-01-19 18:45:20 UTC (rev 18954)
@@ -27,15 +27,15 @@
        // This is a Singleton.
        private static VisualStyleBuilder builder = new VisualStyleBuilder();
 
-       public static VisualStyle getVisualStyle(final String vsName) {
-               return builder.getStyle(vsName);
+       public static VisualStyle getVisualStyle(final String vsName, final 
String network1, final String network2) {
+               return builder.getStyle(vsName, network1, network2);
        }
 
        private VisualStyleBuilder() {
        }
 
-       public VisualStyle getStyle(final String vsName) {
-               final VisualStyle newStyle = buildStyle(vsName);
+       public VisualStyle getStyle(final String vsName, final String network1, 
final String network2) {
+               final VisualStyle newStyle = buildStyle(vsName, network1, 
network2);
                Cytoscape.getVisualMappingManager().getCalculatorCatalog()
                                .addVisualStyle(newStyle);
                return newStyle;
@@ -46,9 +46,12 @@
         * 
         * @return default visual style.
         */
-       private VisualStyle buildStyle(final String vsName) {
+       private VisualStyle buildStyle(final String vsName, final String 
network1, final String network2) {
                final Color NODE_COLOR = new Color(25, 25, 200);
-               final Color NODE_BORDER_COLOR = new Color(25, 25, 25);
+               
+               final Color NODE_BORDER_COLOR_1 = new Color(25, 25, 25);
+               final Color NODE_BORDER_COLOR_2 = new Color(0, 50, 185);
+               
                final Color NODE_LABEL_COLOR = new Color(10, 10, 10);
 
                final Color EDGE_COLOR = new Color(10, 10, 10);
@@ -89,11 +92,27 @@
 
                
nac.getDefaultAppearance().set(VisualPropertyType.NODE_LINE_WIDTH, 4);
                
nac.getDefaultAppearance().set(VisualPropertyType.NODE_BORDER_COLOR,
-                               NODE_BORDER_COLOR);
+                               NODE_BORDER_COLOR_1);
                nac.getDefaultAppearance().set(VisualPropertyType.NODE_SIZE, 
65);
                
nac.getDefaultAppearance().set(VisualPropertyType.NODE_LABEL_COLOR,
                                NODE_LABEL_COLOR);
+               
+               // Node Mapping
+               // 1. Node border color
+               final DiscreteMapping nodeBorderColor = new 
DiscreteMapping(Color.black,
+                               vsName, ObjectMapping.NODE_MAPPING);
+               nodeBorderColor.setControllingAttributeName(vsName, null, 
false);
 
+               nodeBorderColor.putMapValue(network1, NODE_BORDER_COLOR_1);
+               nodeBorderColor.putMapValue(network2, NODE_BORDER_COLOR_2);
+
+               Calculator nodeBorderColorCalc = new BasicCalculator(vsName + 
"-"
+                               + "NodeBorderColorMapping", nodeBorderColor,
+                               VisualPropertyType.NODE_BORDER_COLOR);
+
+               nac.setCalculator(nodeBorderColorCalc);
+               
+
                eac.setCalculator(calce);
                eac.getDefaultAppearance().set(VisualPropertyType.EDGE_COLOR,
                                EDGE_COLOR);
@@ -133,7 +152,6 @@
 
                eac.setCalculator(edgeColorCalc);
 
-               // Edge continuous mappings
 
                return defStyle;
        }

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