import org.simantics.diagram.ui.DiagramModelHints;
import org.simantics.district.network.DistrictNetworkUtil;
import org.simantics.district.network.ontology.DistrictNetworkResource;
+import org.simantics.district.network.ui.internal.Activator;
import org.simantics.district.network.ui.nodes.DistrictRenderingPreparationNode;
import org.simantics.district.network.ui.participants.DNPointerInteractor;
import org.simantics.district.network.ui.participants.DynamicVisualisationContributionsParticipant;
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);
setupColorBarOptions();
setupSizingObjects();
setupSizeBarOptions();
+
+ // add listeners
+ DistrictDiagramViewerListener[] listeners = Activator.getInstance().getDistrictDiagramViewerListeners();
+ if (listeners != null) {
+ for (DistrictDiagramViewerListener listener : listeners) {
+ listener.diagramLoaded(getRuntime(), canvasContext);
+ }
+ }
+ }
+
+ @Override
+ public void dispose() {
+ DistrictDiagramViewerListener[] listeners = Activator.getInstance().getDistrictDiagramViewerListeners();
+ if (listeners != null) {
+ for (DistrictDiagramViewerListener listener : listeners) {
+ listener.diagramDisposed(getRuntime(), canvasContext);
+ }
+ }
+ super.dispose();
}
private void setupDrawMapEnabled() {