X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;ds=inline;f=org.simantics.district.network.ui%2Fsrc%2Forg%2Fsimantics%2Fdistrict%2Fnetwork%2Fui%2FDistrictDiagramViewer.java;h=0e0a2f5244e517c1dc2fbd9ccf3ab4eec345d4a9;hb=refs%2Fchanges%2F82%2F3482%2F2;hp=85c23f4de06a2c66f4e3a520f5871d7f2ee278f1;hpb=45d66db8d7f81d6be14e7162579952791ac7092c;p=simantics%2Fdistrict.git diff --git a/org.simantics.district.network.ui/src/org/simantics/district/network/ui/DistrictDiagramViewer.java b/org.simantics.district.network.ui/src/org/simantics/district/network/ui/DistrictDiagramViewer.java index 85c23f4d..0e0a2f52 100644 --- a/org.simantics.district.network.ui/src/org/simantics/district/network/ui/DistrictDiagramViewer.java +++ b/org.simantics.district.network.ui/src/org/simantics/district/network/ui/DistrictDiagramViewer.java @@ -12,7 +12,7 @@ import java.util.function.Supplier; import org.simantics.datatypes.literal.RGB; import org.simantics.db.ReadGraph; import org.simantics.db.Resource; -import org.simantics.db.common.request.IndexRoot; +import org.simantics.db.common.request.PossibleIndexRoot; import org.simantics.db.common.request.UnaryRead; import org.simantics.db.exception.DatabaseException; import org.simantics.db.procedure.Listener; @@ -72,9 +72,10 @@ public class DistrictDiagramViewer extends DiagramViewer { AffineTransform tr = new AffineTransform(MapScalingTransform.INSTANCE); ctx.add(new MapPainter(tr)); - ctx.add(new NetworkDrawingParticipant(tr)); + DynamicVisualisationContributionsParticipant dynamicVisualisationContributionsParticipant = new DynamicVisualisationContributionsParticipant(tr); + ctx.add(new NetworkDrawingParticipant(dynamicVisualisationContributionsParticipant, tr)); ctx.add(new ElevationServerParticipant(tr)); - ctx.add(new DynamicVisualisationContributionsParticipant(tr)); + ctx.add(dynamicVisualisationContributionsParticipant); // Optimize AffineTransform memory allocations during district diagram rendering G2DParentNode spatialRoot = (G2DParentNode) ctx.getSceneGraph().lookupNode(SceneGraphConstants.SPATIAL_ROOT_NODE_ID); @@ -153,8 +154,9 @@ public class DistrictDiagramViewer extends DiagramViewer { public void dispose() { DistrictDiagramViewerListener[] listeners = Activator.getInstance().getDistrictDiagramViewerListeners(); if (listeners != null) { + Resource runtime = getRuntime(); for (DistrictDiagramViewerListener listener : listeners) { - listener.diagramDisposed(getRuntime(), canvasContext); + listener.diagramDisposed(runtime, canvasContext); } } super.dispose(); @@ -345,15 +347,17 @@ public class DistrictDiagramViewer extends DiagramViewer { @Override public ColorBarOptions perform(ReadGraph graph) throws DatabaseException { DistrictNetworkResource DN = DistrictNetworkResource.getInstance(graph); - Resource model = graph.syncRequest(new IndexRoot(parameter)); - Resource vf = DynamicVisualisations.getVisualisationFolder(graph, model); - if (vf != null) { - Resource activeVisualisation = graph.getPossibleObject(vf, DN.Diagram_hasActiveVisualisation); - if (activeVisualisation != null) { - return DynamicVisualisations.colorBarOptions(graph, activeVisualisation); + Resource model = graph.syncRequest(new PossibleIndexRoot(parameter)); + if (model != null) { + Resource vf = DynamicVisualisations.getVisualisationFolder(graph, model); + if (vf != null) { + Resource activeVisualisation = graph.getPossibleObject(vf, DN.Diagram_hasActiveVisualisation); + if (activeVisualisation != null) { + return DynamicVisualisations.colorBarOptions(graph, activeVisualisation); + } + } else { + LOGGER.debug("No visualisation folder available for model {}", model); } - } else { - LOGGER.debug("No visualisation folder available for model {}", model); } return ColorBarOptions.useDefault(); } @@ -368,15 +372,17 @@ public class DistrictDiagramViewer extends DiagramViewer { @Override public Map perform(ReadGraph graph) throws DatabaseException { DistrictNetworkResource DN = DistrictNetworkResource.getInstance(graph); - Resource model = graph.syncRequest(new IndexRoot(parameter)); - Resource vf = DynamicVisualisations.getVisualisationFolder(graph, model); - if (vf != null) { - Resource activeVisualisation = graph.getPossibleObject(vf, DN.Diagram_hasActiveVisualisation); - if (activeVisualisation != null) { - return DynamicVisualisations.colorContributions(graph, activeVisualisation); + Resource model = graph.syncRequest(new PossibleIndexRoot(parameter)); + if (model != null) { + Resource vf = DynamicVisualisations.getVisualisationFolder(graph, model); + if (vf != null) { + Resource activeVisualisation = graph.getPossibleObject(vf, DN.Diagram_hasActiveVisualisation); + if (activeVisualisation != null) { + return DynamicVisualisations.colorContributions(graph, activeVisualisation); + } + } else { + LOGGER.debug("No visualisation folder available for model {}", model); } - } else { - LOGGER.debug("No visualisation folder available for model {}", model); } return Collections.emptyMap(); } @@ -449,15 +455,17 @@ public class DistrictDiagramViewer extends DiagramViewer { @Override public SizeBarOptions perform(ReadGraph graph) throws DatabaseException { DistrictNetworkResource DN = DistrictNetworkResource.getInstance(graph); - Resource model = graph.syncRequest(new IndexRoot(parameter)); - Resource vf = DynamicVisualisations.getVisualisationFolder(graph, model); - if (vf != null) { - Resource activeVisualisation = graph.getPossibleObject(vf, DN.Diagram_hasActiveVisualisation); - if (activeVisualisation != null) { - return DynamicVisualisations.sizeBarOptions(graph, activeVisualisation); + Resource model = graph.syncRequest(new PossibleIndexRoot(parameter)); + if (model != null) { + Resource vf = DynamicVisualisations.getVisualisationFolder(graph, model); + if (vf != null) { + Resource activeVisualisation = graph.getPossibleObject(vf, DN.Diagram_hasActiveVisualisation); + if (activeVisualisation != null) { + return DynamicVisualisations.sizeBarOptions(graph, activeVisualisation); + } + } else { + LOGGER.debug("No visualisation folder available for model {}", model); } - } else { - LOGGER.debug("No visualisation folder available for model {}", model); } return SizeBarOptions.useDefault(); } @@ -500,15 +508,17 @@ public class DistrictDiagramViewer extends DiagramViewer { @Override public Map perform(ReadGraph graph) throws DatabaseException { DistrictNetworkResource DN = DistrictNetworkResource.getInstance(graph); - Resource model = graph.syncRequest(new IndexRoot(parameter)); - Resource vf = DynamicVisualisations.getVisualisationFolder(graph, model); - if (vf != null) { - Resource activeVisualisation = graph.getPossibleObject(vf, DN.Diagram_hasActiveVisualisation); - if (activeVisualisation != null) { - return DynamicVisualisations.sizeContributions(graph, activeVisualisation); + Resource model = graph.syncRequest(new PossibleIndexRoot(parameter)); + if (model != null) { + Resource vf = DynamicVisualisations.getVisualisationFolder(graph, model); + if (vf != null) { + Resource activeVisualisation = graph.getPossibleObject(vf, DN.Diagram_hasActiveVisualisation); + if (activeVisualisation != null) { + return DynamicVisualisations.sizeContributions(graph, activeVisualisation); + } + } else { + LOGGER.debug("No visualisation folder available for model {}", model); } - } else { - LOGGER.debug("No visualisation folder available for model {}", model); } return Collections.emptyMap(); }