]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.scenegraph/src/org/simantics/scenegraph/g2d/nodes/connection/RouteGraphNode.java
Improvements to styling of connection lines
[simantics/platform.git] / bundles / org.simantics.scenegraph / src / org / simantics / scenegraph / g2d / nodes / connection / RouteGraphNode.java
index b0e9147f63134e5c2af5dee0c2436efbdbc016e3..3c7b9bad85be182d92cca5637f2fddfcd390169f 100644 (file)
@@ -288,6 +288,7 @@ public class RouteGraphNode extends G2DNode implements ISelectionPainterNode, In
                  selectionStroke = new BasicStroke(width, BasicStroke.CAP_BUTT, stroke.getLineJoin());
              }
          } else {
+             // TODO: support AggregateConnectionStyle
              selectionStroke = SELECTION_STROKE;
          }
     }
@@ -301,24 +302,28 @@ public class RouteGraphNode extends G2DNode implements ISelectionPainterNode, In
         
         if(dynamicColor != null || dynamicStroke != null) {
             BasicConnectionStyle baseStyle = (BasicConnectionStyle)tryGetStyle(baseRenderer);
-            try {
-               Constructor<? extends BasicConnectionStyle> c = baseStyle.getClass().getConstructor(Color.class, Color.class, double.class, Stroke.class, Stroke.class, double.class, double.class);
-               renderer = new StyledRouteGraphRenderer(c.newInstance(
-                        dynamicColor != null ? dynamicColor : baseStyle.getLineColor(),
-                                baseStyle.getBranchPointColor(), baseStyle.getBranchPointRadius(),
-                                    dynamicStroke != null ? dynamicStroke : baseStyle.getLineStroke(), 
-                                            dynamicStroke != null ? dynamicStroke : baseStyle.getRouteLineStroke(),
-                                                    baseStyle.getDegeneratedLineLength(), baseStyle.getRounding()));
-            } catch (Exception e) {
-               renderer = new StyledRouteGraphRenderer(new BasicConnectionStyle(
-                        dynamicColor != null ? dynamicColor : baseStyle.getLineColor(),
-                                baseStyle.getBranchPointColor(), baseStyle.getBranchPointRadius(),
-                                    dynamicStroke != null ? dynamicStroke : baseStyle.getLineStroke(), 
-                                            dynamicStroke != null ? dynamicStroke : baseStyle.getRouteLineStroke(),
-                                                    baseStyle.getDegeneratedLineLength(), baseStyle.getRounding()));
+            if (baseStyle != null) {
+                try {
+                    Constructor<? extends BasicConnectionStyle> c = baseStyle.getClass().getConstructor(Color.class, Color.class, double.class, Stroke.class, Stroke.class, double.class, double.class, double.class);
+                    renderer = new StyledRouteGraphRenderer(c.newInstance(
+                            dynamicColor != null ? dynamicColor : baseStyle.getLineColor(),
+                                    baseStyle.getBranchPointColor(), baseStyle.getBranchPointRadius(),
+                                        dynamicStroke != null ? dynamicStroke : baseStyle.getLineStroke(), 
+                                                dynamicStroke != null ? dynamicStroke : baseStyle.getRouteLineStroke(),
+                                                        baseStyle.getDegeneratedLineLength(), baseStyle.getRounding(), baseStyle.getOffset()));
+                } catch (Exception e) {
+                    renderer = new StyledRouteGraphRenderer(new BasicConnectionStyle(
+                            dynamicColor != null ? dynamicColor : baseStyle.getLineColor(),
+                                    baseStyle.getBranchPointColor(), baseStyle.getBranchPointRadius(),
+                                        dynamicStroke != null ? dynamicStroke : baseStyle.getLineStroke(), 
+                                                dynamicStroke != null ? dynamicStroke : baseStyle.getRouteLineStroke(),
+                                                        baseStyle.getDegeneratedLineLength(), baseStyle.getRounding(), baseStyle.getOffset()));
+                }
+            } else {
+                // TODO: support AggregateConnectionStyle
+                renderer = baseRenderer;
             }
             
-            
         } else {
             renderer = baseRenderer;
         }