/** * Returns the active navigation node. * * @return active navigation node; {@code null} if no active node was found */ protected INavigationNode<?> getActiveNode() { final IModuleGroupNode group = navigationComponentProvider.getActiveModuleGroupNode(); IModuleNode module = null; ISubModuleNode submodule = null; if (group != null) { for (final IModuleNode candidate : group.getChildren()) { if (candidate.isActivated()) { module = candidate; break; } } } if (module != null) { submodule = getActiveSubModuleNode(module.getChildren()); } return submodule != null ? submodule : module != null ? module : group; }
/** * @see * org.eclipse.riena.navigation.INavigationAssembler#buildNode(org.eclipse.riena.navigation.NavigationNodeId, * org.eclipse.riena.navigation.NavigationArgument) */ public IModuleGroupNode[] buildNode( final NavigationNodeId presentationId, final NavigationArgument navigationArgument) { try { Thread.sleep(3000); } catch (final InterruptedException e) { throw new MurphysLawFailure("Sleeping failed", e); // $NON-NLS-1$ } final IModuleGroupNode node = new ModuleGroupNode( new NavigationNodeId( "org.eclipse.riena.example.navigate.tableTextAndTree")); //$NON-NLS-1$ final IModuleNode module = new ModuleNode(null, "Table,Text&Tree"); // $NON-NLS-1$ node.addChild(module); ISubModuleNode subModule = new SubModuleNode( new NavigationNodeId("org.eclipse.riena.example.table"), "Table"); //$NON-NLS-1$ //$NON-NLS-2$ WorkareaManager.getInstance() .registerDefinition( subModule, TableSubModuleController.class, TableSubModuleView.ID, false); module.addChild(subModule); subModule = new SubModuleNode( new NavigationNodeId("org.eclipse.riena.example.text"), "Text"); //$NON-NLS-1$ //$NON-NLS-2$ WorkareaManager.getInstance() .registerDefinition(subModule, TextSubModuleController.class, TextSubModuleView.ID, false); module.addChild(subModule); subModule = new SubModuleNode( new NavigationNodeId("org.eclipse.riena.example.tree"), "Tree"); //$NON-NLS-1$ //$NON-NLS-2$ WorkareaManager.getInstance() .registerDefinition(subModule, TreeSubModuleController.class, TreeSubModuleView.ID, false); module.addChild(subModule); return new IModuleGroupNode[] {node}; }