]> gerrit.simantics Code Review - simantics/district.git/blobdiff - org.simantics.district.network.ui/src/org/simantics/district/network/ui/adapters/DistrictNetworkEdgeElement.java
Some cleaning and fixing of district functionalities
[simantics/district.git] / org.simantics.district.network.ui / src / org / simantics / district / network / ui / adapters / DistrictNetworkEdgeElement.java
index 12f26182dca15fe03cd4cf02ff6588a2a3954f3f..db730b1e6fafcec231b54ecdde6afe73d36e0d57 100644 (file)
@@ -1,5 +1,7 @@
 package org.simantics.district.network.ui.adapters;
 
+import java.awt.Color;
+import java.awt.geom.AffineTransform;
 import java.awt.geom.Rectangle2D;
 import java.util.Collection;
 import java.util.Collections;
@@ -33,7 +35,8 @@ public class DistrictNetworkEdgeElement {
                     DNEdgeInternalSize.INSTANCE,
                     DNEdgeSceneGraph.INSTANCE,
                     DNEdgeConnectionHandler.INSTANCE,
-                    SimpleElementLayers.INSTANCE
+                    SimpleElementLayers.INSTANCE,
+                    DistrictNetworkAdditionalColor.INSTANCE
             ).setId(DistrictNetworkEdgeElement.class.getSimpleName());
     
     static final class DNEdgeSceneGraph implements SceneGraph {
@@ -53,7 +56,13 @@ public class DistrictNetworkEdgeElement {
                     node = parent.addNode(ElementUtils.generateNodeId(edgeElement), DistrictNetworkEdgeNode.class);
                     edgeElement.setHint(KEY_DN_EDGE_NODE, node);
                 }
+                
+                node.setColor(ElementUtils.getAdditionalColor(edgeElement, Color.BLUE));
+                
                 node.setDNEdge(edge);
+                AffineTransform at = ElementUtils.getTransform(edgeElement);
+                if (at != null)
+                    node.setTransform(at);
             }
         }
 
@@ -78,13 +87,12 @@ public class DistrictNetworkEdgeElement {
             if (size == null)
                 size = new Rectangle2D.Double();
             if (edge != null)
-                edge.getBounds(size);
+                size.setFrame(DistrictNetworkEdgeNode.calculatePath(edge).getBounds2D());
             else
                 LOGGER.debug("Element {} does not have edge!", e);
 
             return size;
         }
-        
     }
     
     static class DNEdgeConnectionHandler implements ConnectionHandler {