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.