From 56e6bade5f3a9cd2210184ffc13ffb29f007dccf Mon Sep 17 00:00:00 2001 From: jsimomaa Date: Fri, 27 Jul 2018 10:07:40 +0300 Subject: [PATCH] Customize NavigationNode for PanZoomRotateHandler gitlab #63 Change-Id: I127743304e9ebae068c961e9929a18fb17115a08 --- .../simantics/g2d/participant/PanZoomRotateHandler.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) 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); -- 2.43.2