From: jsimomaa Date: Fri, 27 Jul 2018 07:07:40 +0000 (+0300) Subject: Customize NavigationNode for PanZoomRotateHandler X-Git-Tag: v1.43.0~136^2~433 X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=commitdiff_plain;h=refs%2Fchanges%2F61%2F1961%2F2 Customize NavigationNode for PanZoomRotateHandler gitlab #63 Change-Id: I127743304e9ebae068c961e9929a18fb17115a08 --- diff --git a/bundles/org.simantics.g2d/src/org/simantics/g2d/participant/PanZoomRotateHandler.java b/bundles/org.simantics.g2d/src/org/simantics/g2d/participant/PanZoomRotateHandler.java index eeab18069..371ecbf15 100644 --- a/bundles/org.simantics.g2d/src/org/simantics/g2d/participant/PanZoomRotateHandler.java +++ b/bundles/org.simantics.g2d/src/org/simantics/g2d/participant/PanZoomRotateHandler.java @@ -185,18 +185,22 @@ public class PanZoomRotateHandler extends AbstractCanvasParticipant { super.removedFromContext(ctx); } + protected Class getNavigationNodeClass() { + return NavigationNode.class; + } + @SGInit public void initSG(G2DParentNode parent) { // Replace old NAVIGATION_NODE with a new one INode oldnav = NodeUtil.getRootNode(parent).getNode(SceneGraphConstants.NAVIGATION_NODE_NAME); if(oldnav != null) { - node = oldnav.appendParent(SceneGraphConstants.NAVIGATION_NODE_NAME, NavigationNode.class); + node = oldnav.appendParent(SceneGraphConstants.NAVIGATION_NODE_NAME, getNavigationNodeClass()); // FIXME : oldnav seems to be the same node as parent (most of the cases). // Deleting it will cause plenty of code to fail, since they refer to the node directly. // The bug was not shown, since deleting() a Node did not actually wipe its structures (until now). // oldnav.delete(); } else { - node = parent.addNode(SceneGraphConstants.NAVIGATION_NODE_NAME, NavigationNode.class); + node = parent.addNode(SceneGraphConstants.NAVIGATION_NODE_NAME, getNavigationNodeClass()); } node.setLookupId(SceneGraphConstants.NAVIGATION_NODE_NAME); node.setZIndex(0);