@Override public void bind(final SubModuleNode node) { if (node.getNavigationNodeController() == null) { node.setNavigationNodeController(createController(node)); } ReflectionUtils.setHidden(this, "currentController", node.getNavigationNodeController()); nodesBoundToSharedView.add(node); }
public void testShared() { subModuleNodeView.dispose(); final SubModuleNode s1 = new SubModuleNode(new NavigationNodeId("s", "1")); final SubModuleNode s2 = new SubModuleNode(new NavigationNodeId("s", "2")); moduleNode.addChild(s1); moduleNode.addChild(s2); final TestSharedView subModuleNodeSharedView = new TestSharedView(); subModuleNodeSharedView.s1 = s1; subModuleNodeSharedView.s2 = s2; subModuleNodeSharedView.createPartControl(new Shell()); assertNotNull(s1.getNavigationNodeController()); s1.activate(); final SubModuleController s1c = (SubModuleController) s1.getNavigationNodeController(); assertNotNull(s1c.getRidget("button")); assertEquals(nodesBoundToSharedView.get(0), s1); s2.activate(); assertEquals(nodesBoundToSharedView.get(2), s2); s1.dispose(); assertFalse(subModuleNodeSharedView.unbindActiveCalled); s2.dispose(); assertTrue(subModuleNodeSharedView.unbindActiveCalled); }