X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=org.simantics.district.network.ui%2Fsrc%2Forg%2Fsimantics%2Fdistrict%2Fnetwork%2Fui%2Fadapters%2FDistrictNetworkVertexElement.java;fp=org.simantics.district.network.ui%2Fsrc%2Forg%2Fsimantics%2Fdistrict%2Fnetwork%2Fui%2Fadapters%2FDistrictNetworkVertexElement.java;h=24f8459dccba859c40590d1d2ab3a7e61e56e48c;hb=1bc60c2213f9b3fc7b4d935ba9afda2b767290e5;hp=3e64bc3193957d249df2d6371cc5dfbcbc422d65;hpb=b10b919b6756df3b423dd416df6b1b06abc15f22;p=simantics%2Fdistrict.git diff --git a/org.simantics.district.network.ui/src/org/simantics/district/network/ui/adapters/DistrictNetworkVertexElement.java b/org.simantics.district.network.ui/src/org/simantics/district/network/ui/adapters/DistrictNetworkVertexElement.java index 3e64bc31..24f8459d 100644 --- a/org.simantics.district.network.ui/src/org/simantics/district/network/ui/adapters/DistrictNetworkVertexElement.java +++ b/org.simantics.district.network.ui/src/org/simantics/district/network/ui/adapters/DistrictNetworkVertexElement.java @@ -1,5 +1,6 @@ package org.simantics.district.network.ui.adapters; +import java.awt.Color; import java.awt.geom.AffineTransform; import java.awt.geom.Rectangle2D; @@ -26,7 +27,8 @@ public class DistrictNetworkVertexElement { DefaultTransform.INSTANCE, DNVertexInternalSize.INSTANCE, DNVertexSceneGraph.INSTANCE, - SimpleElementLayers.INSTANCE + SimpleElementLayers.INSTANCE, + DistrictNetworkAdditionalColor.INSTANCE ).setId(DistrictNetworkVertexElement.class.getSimpleName()); static final class DNVertexSceneGraph implements SceneGraph { @@ -36,19 +38,21 @@ public class DistrictNetworkVertexElement { private static final long serialVersionUID = 8894367073815556871L; @Override - public void init(IElement edgeElement, G2DParentNode parent) { - DistrictNetworkVertex vertex = edgeElement.getHint(KEY_DN_VERTEX); + public void init(IElement vertexElement, G2DParentNode parent) { + DistrictNetworkVertex vertex = vertexElement.getHint(KEY_DN_VERTEX); if (vertex == null) { - cleanup(edgeElement); + cleanup(vertexElement); } else { - DistrictNetworkVertexNode node = edgeElement.getHint(KEY_DN_VERTEX_NODE); + DistrictNetworkVertexNode node = vertexElement.getHint(KEY_DN_VERTEX_NODE); if (node == null) { - node = parent.addNode(ElementUtils.generateNodeId(edgeElement), DistrictNetworkVertexNode.class); - edgeElement.setHint(KEY_DN_VERTEX_NODE, node); + node = parent.addNode(ElementUtils.generateNodeId(vertexElement), DistrictNetworkVertexNode.class); + vertexElement.setHint(KEY_DN_VERTEX_NODE, node); } node.setVertex(vertex); - AffineTransform at = ElementUtils.getTransform(edgeElement); + node.setColor(ElementUtils.getAdditionalColor(vertexElement, Color.BLUE)); + + AffineTransform at = ElementUtils.getTransform(vertexElement); if(at != null) node.setTransform(at); } @@ -69,9 +73,8 @@ public class DistrictNetworkVertexElement { @Override public Rectangle2D getBounds(IElement e, Rectangle2D size) { - if (size == null) - size = new Rectangle2D.Double(); - size.setFrame(-0.5, -0.5, 1, 1); + DistrictNetworkVertexNode node = e.getHint(KEY_DN_VERTEX_NODE); + size.setFrame(node.getBoundsInLocal()); return size; }