Author: kono
Date: 2012-08-31 15:06:27 -0700 (Fri, 31 Aug 2012)
New Revision: 30306

Modified:
   
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/DNodeShape.java
   
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/DVisualLexicon.java
   
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/NodeViewDefaultSupport.java
   
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/graph/render/immed/nodeshape/VeeNodeShape.java
Log:
fixes #1385 V shape registration code had been modified.  If we want to add new 
DNodeShapes, we need to do it inside DNodeShape implementation class.

Modified: 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/DNodeShape.java
===================================================================
--- 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/DNodeShape.java
  2012-08-31 19:46:23 UTC (rev 30305)
+++ 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/DNodeShape.java
  2012-08-31 22:06:27 UTC (rev 30306)
@@ -2,48 +2,42 @@
 
 import java.awt.Shape;
 import java.util.HashMap;
-import java.util.IdentityHashMap;
 import java.util.Map;
 
 import org.cytoscape.graph.render.immed.GraphGraphics;
+import org.cytoscape.view.model.DiscreteRange;
 import org.cytoscape.view.presentation.property.NodeShapeVisualProperty;
 import org.cytoscape.view.presentation.property.values.NodeShape;
 
+/**
+ * Ding Implementation of node shapes
+ * 
+ */
 public class DNodeShape implements NodeShape {
 
-       private static final DNodeShape RECTANGLE = new DNodeShape(
-                       GraphGraphics.SHAPE_RECTANGLE,
+       private static final DNodeShape RECTANGLE = new 
DNodeShape(GraphGraphics.SHAPE_RECTANGLE,
                        NodeShapeVisualProperty.RECTANGLE.getDisplayName(),
                        
NodeShapeVisualProperty.RECTANGLE.getSerializableString());
-       private static final DNodeShape ROUND_RECTANGLE = new DNodeShape(
-                       GraphGraphics.SHAPE_ROUNDED_RECTANGLE, 
+       private static final DNodeShape ROUND_RECTANGLE = new 
DNodeShape(GraphGraphics.SHAPE_ROUNDED_RECTANGLE,
                        
NodeShapeVisualProperty.ROUND_RECTANGLE.getDisplayName(),
                        
NodeShapeVisualProperty.ROUND_RECTANGLE.getSerializableString());
-       private static final DNodeShape TRIANGLE = new DNodeShape(
-                       GraphGraphics.SHAPE_TRIANGLE,
-                       NodeShapeVisualProperty.TRIANGLE.getDisplayName(),
-                       
NodeShapeVisualProperty.TRIANGLE.getSerializableString());
-       private static final DNodeShape PARALLELOGRAM = new DNodeShape(
-                       GraphGraphics.SHAPE_PARALLELOGRAM,
+       private static final DNodeShape TRIANGLE = new 
DNodeShape(GraphGraphics.SHAPE_TRIANGLE,
+                       NodeShapeVisualProperty.TRIANGLE.getDisplayName(), 
NodeShapeVisualProperty.TRIANGLE.getSerializableString());
+       private static final DNodeShape PARALLELOGRAM = new 
DNodeShape(GraphGraphics.SHAPE_PARALLELOGRAM,
                        NodeShapeVisualProperty.PARALLELOGRAM.getDisplayName(),
                        
NodeShapeVisualProperty.PARALLELOGRAM.getSerializableString());
-       private static final DNodeShape DIAMOND = new DNodeShape(
-                       GraphGraphics.SHAPE_DIAMOND,
-                       NodeShapeVisualProperty.DIAMOND.getDisplayName(),
-                       
NodeShapeVisualProperty.DIAMOND.getSerializableString());
-       private static final DNodeShape ELLIPSE = new DNodeShape(
-                       GraphGraphics.SHAPE_ELLIPSE,
-                       NodeShapeVisualProperty.ELLIPSE.getDisplayName(),
-                       
NodeShapeVisualProperty.ELLIPSE.getSerializableString());
-       private static final DNodeShape HEXAGON = new DNodeShape(
-                       GraphGraphics.SHAPE_HEXAGON,
-                       NodeShapeVisualProperty.HEXAGON.getDisplayName(),
-                       
NodeShapeVisualProperty.HEXAGON.getSerializableString());
-       private static final DNodeShape OCTAGON = new DNodeShape(
-                       GraphGraphics.SHAPE_OCTAGON,
-                       NodeShapeVisualProperty.OCTAGON.getDisplayName(),
-                       
NodeShapeVisualProperty.OCTAGON.getSerializableString());
+       private static final DNodeShape DIAMOND = new 
DNodeShape(GraphGraphics.SHAPE_DIAMOND,
+                       NodeShapeVisualProperty.DIAMOND.getDisplayName(), 
NodeShapeVisualProperty.DIAMOND.getSerializableString());
+       private static final DNodeShape ELLIPSE = new 
DNodeShape(GraphGraphics.SHAPE_ELLIPSE,
+                       NodeShapeVisualProperty.ELLIPSE.getDisplayName(), 
NodeShapeVisualProperty.ELLIPSE.getSerializableString());
+       private static final DNodeShape HEXAGON = new 
DNodeShape(GraphGraphics.SHAPE_HEXAGON,
+                       NodeShapeVisualProperty.HEXAGON.getDisplayName(), 
NodeShapeVisualProperty.HEXAGON.getSerializableString());
+       private static final DNodeShape OCTAGON = new 
DNodeShape(GraphGraphics.SHAPE_OCTAGON,
+                       NodeShapeVisualProperty.OCTAGON.getDisplayName(), 
NodeShapeVisualProperty.OCTAGON.getSerializableString());
 
+       // Ding specific node shapes.
+       private static final DNodeShape VEE = new 
DNodeShape(GraphGraphics.SHAPE_VEE, "V", "VEE");
+
        private static final Map<NodeShape, DNodeShape> DEF_SHAPE_MAP;
 
        static {
@@ -56,10 +50,14 @@
                DEF_SHAPE_MAP.put(NodeShapeVisualProperty.PARALLELOGRAM, 
PARALLELOGRAM);
                DEF_SHAPE_MAP.put(NodeShapeVisualProperty.ROUND_RECTANGLE, 
ROUND_RECTANGLE);
                DEF_SHAPE_MAP.put(NodeShapeVisualProperty.TRIANGLE, TRIANGLE);
+
+               // Register special shape to range
+               ((DiscreteRange<NodeShape>) 
DVisualLexicon.NODE_SHAPE.getRange()).addRangeValue(VEE);
+               DEF_SHAPE_MAP.put(VEE, VEE);
        }
 
        public static final DNodeShape getDShape(final NodeShape shape) {
-               if(DEF_SHAPE_MAP.get(shape) == null)
+               if (DEF_SHAPE_MAP.get(shape) == null)
                        return RECTANGLE;
                else
                        return DEF_SHAPE_MAP.get(shape);

Modified: 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/DVisualLexicon.java
===================================================================
--- 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/DVisualLexicon.java
      2012-08-31 19:46:23 UTC (rev 30305)
+++ 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/DVisualLexicon.java
      2012-08-31 22:06:27 UTC (rev 30306)
@@ -246,9 +246,6 @@
 //                     ObjectPositionImpl.DEFAULT_POSITION, 
"EDGE_LABEL_POSITION",
 //                     "Edge Label Position", CyEdge.class);
 
-       // Ding specific node shapes.
-       private static final NodeShape VEE = new 
DNodeShape(GraphGraphics.SHAPE_VEE, "V", "VEE");
-
        // Ding-local line types
        private static final DLineType ZIGZAG = new DLineType("Zigzag", 
"ZIGZAG",
                        new ZigzagStroke(1.0f));
@@ -337,9 +334,6 @@
        public DVisualLexicon(final CustomGraphicsManager manager) {
                super(DING_ROOT);
 
-               // Add new Shapes to the default
-               ((DiscreteRange<NodeShape>) 
NODE_SHAPE.getRange()).addRangeValue(VEE);
-
                // Add Ding-dependent line types.
                ((DiscreteRange<LineType>) 
EDGE_LINE_TYPE.getRange()).addRangeValue(ZIGZAG);
                ((DiscreteRange<LineType>) 
EDGE_LINE_TYPE.getRange()).addRangeValue(BACKWARD_SLASH);

Modified: 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/NodeViewDefaultSupport.java
===================================================================
--- 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/NodeViewDefaultSupport.java
 2012-08-31 19:46:23 UTC (rev 30305)
+++ 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/NodeViewDefaultSupport.java
 2012-08-31 22:06:27 UTC (rev 30306)
@@ -102,13 +102,10 @@
 
        void setShape(final NodeShape shape) {
                synchronized (lock) {
-                       NodeShape dShape;
-                       if (!NodeShapeVisualProperty.isDefaultShape(shape))
-                               dShape = NodeShapeVisualProperty.RECTANGLE;
+                       if (shape == null)
+                               
nodeDetails.setShapeDefault(NodeShapeVisualProperty.RECTANGLE);
                        else
-                               dShape = shape;
-
-                       nodeDetails.setShapeDefault(dShape);
+                               nodeDetails.setShapeDefault(shape);
                }
        }
 

Modified: 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/graph/render/immed/nodeshape/VeeNodeShape.java
===================================================================
--- 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/graph/render/immed/nodeshape/VeeNodeShape.java
        2012-08-31 19:46:23 UTC (rev 30305)
+++ 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/graph/render/immed/nodeshape/VeeNodeShape.java
        2012-08-31 22:06:27 UTC (rev 30306)
@@ -34,14 +34,22 @@
 import java.awt.Shape;
 
 
-public class VeeNodeShape extends AbstractNodeShape {
+
+/**
+ * Ding local node shape.
+ * This represents V-like shape.
+ *
+ */
+public final class VeeNodeShape extends AbstractNodeShape {
+       
        private final GeneralPath path; 
 
        public VeeNodeShape() {
                super(GraphGraphics.SHAPE_VEE);
                path = new GeneralPath(); 
        }
-               
+       
+       @Override
        public Shape getShape(float xMin, float yMin, float xMax, float yMax) {
 
                path.reset();

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