X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=org.simantics.district.network.ui%2Fsrc%2Forg%2Fsimantics%2Fdistrict%2Fnetwork%2Fui%2Fparticipants%2FDynamicVisualisationContributionsParticipant.java;h=36eaaf619f618e8e0bd9d572018e8ce7a251e2c2;hb=10cc983e56eaadd88e66aca478918a4bd841fdfd;hp=9fbb8a29d008f8d24e9c7971b384b04199875ef6;hpb=86d471d96d6bc11bf7629113e57c6d9a9916e608;p=simantics%2Fdistrict.git diff --git a/org.simantics.district.network.ui/src/org/simantics/district/network/ui/participants/DynamicVisualisationContributionsParticipant.java b/org.simantics.district.network.ui/src/org/simantics/district/network/ui/participants/DynamicVisualisationContributionsParticipant.java index 9fbb8a29..36eaaf61 100644 --- a/org.simantics.district.network.ui/src/org/simantics/district/network/ui/participants/DynamicVisualisationContributionsParticipant.java +++ b/org.simantics.district.network.ui/src/org/simantics/district/network/ui/participants/DynamicVisualisationContributionsParticipant.java @@ -17,6 +17,8 @@ import org.simantics.db.exception.DatabaseException; import org.simantics.district.network.ontology.DistrictNetworkResource; import org.simantics.district.network.profile.RuntimeDynamicVisualisationsRequest; import org.simantics.district.network.ui.DistrictDiagramViewer; +import org.simantics.district.network.ui.nodes.DeferredRenderingNode; +import org.simantics.district.network.ui.nodes.DistrictNetworkEdgeArrayNode; import org.simantics.district.network.ui.nodes.DistrictNetworkHoverInfoNode; import org.simantics.district.network.ui.nodes.DynamicVisualisationContributionsNode; import org.simantics.district.network.ui.styles.DistrictNetworkHoverInfoStyle; @@ -33,6 +35,7 @@ import org.simantics.scenegraph.INode; import org.simantics.scenegraph.g2d.G2DParentNode; import org.simantics.scenegraph.g2d.events.EventHandlerReflection.EventHandler; import org.simantics.scenegraph.g2d.events.command.CommandEvent; +import org.simantics.utils.datastructures.Pair; import org.simantics.utils.datastructures.hints.HintListenerAdapter; import org.simantics.utils.datastructures.hints.IHintContext.Key; import org.simantics.utils.datastructures.hints.IHintListener; @@ -59,6 +62,7 @@ public class DynamicVisualisationContributionsParticipant extends AbstractCanvas private DynamicVisualisationContributionsNode node; private AffineTransform transform; private DistrictNetworkHoverInfoNode hoverInfoNode; + private DeferredRenderingNode deferredEdgeArrowRendererNode; public DynamicVisualisationContributionsParticipant(AffineTransform tr) { this.transform = tr; @@ -98,6 +102,9 @@ public class DynamicVisualisationContributionsParticipant extends AbstractCanvas hoverInfoNode.setLookupId("districtNetworkHoverInfoNode"); hoverInfoNode.setTransform(transform); hoverInfoNode.setZIndex(Integer.MAX_VALUE - 500); + + Pair> dearn = DistrictNetworkEdgeArrayNode.renderer(); + deferredEdgeArrowRendererNode = parent.addNode(dearn.first, dearn.second); } @EventHandler(priority = 0) @@ -173,7 +180,7 @@ public class DynamicVisualisationContributionsParticipant extends AbstractCanvas StyleResult results = DistrictNetworkHoverInfoStyle.doCalculateStyleResult(graph, runtimeDiagram, mapElement); if (results != null) { - Point2D location = DistrictNetworkHoverInfoStyle.calculatePoint(hoveredNode, zoomLevel); + Point2D location = DistrictNetworkHoverInfoStyle.calculatePoint(hoveredNode, zoomLevel, null); thread.asyncExec(() -> { if (isRemoved()) return;