X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=org.simantics.district.network.ui%2Fsrc%2Forg%2Fsimantics%2Fdistrict%2Fnetwork%2Fui%2FNetworkDrawingParticipant.java;h=69d1f724193fcbb797ae1eeb0edc403463758c81;hb=440c2b11fd49be2feb9edd39b931306b824b8aba;hp=a340d8591f625f0fdb78a7de27edaec6b34c3112;hpb=16ee01dc5a40981c58fd5b478b89552e5814e8bb;p=simantics%2Fdistrict.git diff --git a/org.simantics.district.network.ui/src/org/simantics/district/network/ui/NetworkDrawingParticipant.java b/org.simantics.district.network.ui/src/org/simantics/district/network/ui/NetworkDrawingParticipant.java index a340d859..69d1f724 100644 --- a/org.simantics.district.network.ui/src/org/simantics/district/network/ui/NetworkDrawingParticipant.java +++ b/org.simantics.district.network.ui/src/org/simantics/district/network/ui/NetworkDrawingParticipant.java @@ -1,6 +1,7 @@ package org.simantics.district.network.ui; +import java.awt.geom.AffineTransform; import java.awt.geom.Point2D; import java.util.ArrayList; import java.util.List; @@ -15,7 +16,7 @@ import org.simantics.g2d.diagram.handler.PickContext; import org.simantics.g2d.diagram.handler.PickRequest; import org.simantics.g2d.diagram.participant.AbstractDiagramParticipant; import org.simantics.g2d.element.IElement; -import org.simantics.scenegraph.g2d.G2DNode; +import org.simantics.scenegraph.Node; import org.simantics.scenegraph.g2d.G2DParentNode; import org.simantics.utils.datastructures.hints.IHintContext.Key; import org.simantics.utils.datastructures.hints.IHintContext.KeyOf; @@ -38,10 +39,17 @@ public class NetworkDrawingParticipant extends AbstractDiagramParticipant { public static final double PICK_DIST = 10; private NetworkDrawingNode node; + + private AffineTransform transform; + public NetworkDrawingParticipant(AffineTransform transform) { + this.transform = transform; + } + @SGInit public void initSG(G2DParentNode parent) { node = parent.addNode("networkDrawingNode", NetworkDrawingNode.class); + node.setTransform(transform); node.setNetworkDrawingParticipant(this); } @@ -51,7 +59,7 @@ public class NetworkDrawingParticipant extends AbstractDiagramParticipant { } public boolean pickHoveredElement(Point2D currentMousePos) { - PickRequest req = new PickRequest(currentMousePos.getX(), currentMousePos.getY()); + PickRequest req = new PickRequest(currentMousePos).context(getContext()); List pickables = new ArrayList(); pick.pick(diagram, req, pickables); @@ -61,7 +69,7 @@ public class NetworkDrawingParticipant extends AbstractDiagramParticipant { boolean changed = false; for (IElement sn : snap) { - G2DNode node = sn.getHint(DistrictNetworkVertexElement.KEY_DN_VERTEX_NODE); + Node node = sn.getHint(DistrictNetworkVertexElement.KEY_DN_VERTEX_NODE); if (node instanceof DistrictNetworkVertexNode) { if (((DistrictNetworkVertexNode) node).hover(false) && !changed) { changed = true; @@ -70,7 +78,7 @@ public class NetworkDrawingParticipant extends AbstractDiagramParticipant { } for (IElement elem : pickables) { - G2DNode node = elem.getHint(DistrictNetworkVertexElement.KEY_DN_VERTEX_NODE); + Node node = elem.getHint(DistrictNetworkVertexElement.KEY_DN_VERTEX_NODE); if (node instanceof DistrictNetworkVertexNode) { if (((DistrictNetworkVertexNode) node).hover(true) && !changed) { changed = true; @@ -80,4 +88,7 @@ public class NetworkDrawingParticipant extends AbstractDiagramParticipant { return changed; } + public AffineTransform getTransform() { + return transform; + } }