Author: tchemit Date: 2009-11-07 07:12:53 +0100 (Sat, 07 Nov 2009) New Revision: 1637 Modified: branches/jaxx-2.X/jaxx-runtime/src/main/java/jaxx/runtime/swing/navigation/NavigationTreeContextHelper.java branches/jaxx-2.X/jaxx-runtime/src/main/java/jaxx/runtime/swing/navigation/NavigationTreeHandler.java branches/jaxx-2.X/jaxx-runtime/src/main/java/jaxx/runtime/swing/navigation/NavigationTreeHelper.java branches/jaxx-2.X/jaxx-runtime/src/main/java/jaxx/runtime/swing/navigation/NavigationTreeModel.java Log: - remove selectUI from context, it is too messy (can not know exactly where it is stored...) - add getParentNode to obtain the first ancestor with a matching internalClass - open api Modified: branches/jaxx-2.X/jaxx-runtime/src/main/java/jaxx/runtime/swing/navigation/NavigationTreeContextHelper.java =================================================================== --- branches/jaxx-2.X/jaxx-runtime/src/main/java/jaxx/runtime/swing/navigation/NavigationTreeContextHelper.java 2009-11-06 11:36:48 UTC (rev 1636) +++ branches/jaxx-2.X/jaxx-runtime/src/main/java/jaxx/runtime/swing/navigation/NavigationTreeContextHelper.java 2009-11-07 06:12:53 UTC (rev 1637) @@ -69,7 +69,7 @@ protected JAXXContextEntryDef<NavigationTreeModel> treeModelContextEntry; protected JAXXContextEntryDef<NavigationTreeHandler> treeHandlerContextEntry; protected JAXXContextEntryDef<JTree> treeContextEntry; - protected JAXXContextEntryDef<Component> selectedUIContextEntry; +// protected JAXXContextEntryDef<Component> selectedUIContextEntry; public NavigationTreeContextHelper(String prefix) { this.prefix = prefix; @@ -79,7 +79,7 @@ selectedBeanContextEntry = Util.newContextEntryDef(prefix + "-selected-bean", Object.class); selectedNodeContextEntry = Util.newContextEntryDef(prefix + "-selected-node", NavigationTreeNode.class); selectedPathContextEntry = Util.newContextEntryDef(prefix + "-selected-path", String.class); - selectedUIContextEntry = Util.newContextEntryDef(prefix + "-selected-ui", Component.class); +// selectedUIContextEntry = Util.newContextEntryDef(prefix + "-selected-ui", Component.class); } public String getPrefix() { @@ -116,10 +116,10 @@ return r; } - public Component getSelectedUI(JAXXContext context) { - Component r = getSelectedUIContextEntry().getContextValue(context); - return r; - } +// public Component getSelectedUI(JAXXContext context) { +// Component r = getSelectedUIContextEntry().getContextValue(context); +// return r; +// } public void setTreeModel(JAXXContext context, NavigationTreeModel model) { getTreeModelContextEntry().setContextValue(context, model); @@ -157,13 +157,13 @@ } } - public void setSelectedUI(JAXXContext context, Component ui) { - if (ui == null) { - getSelectedUIContextEntry().removeContextValue(context); - } else { - getSelectedUIContextEntry().setContextValue(context, ui); - } - } +// public void setSelectedUI(JAXXContext context, Component ui) { +// if (ui == null) { +// getSelectedUIContextEntry().removeContextValue(context); +// } else { +// getSelectedUIContextEntry().setContextValue(context, ui); +// } +// } protected JAXXContextEntryDef<NavigationTreeModel> getTreeModelContextEntry() { return treeModelContextEntry; @@ -189,7 +189,7 @@ return treeContextEntry; } - public JAXXContextEntryDef<Component> getSelectedUIContextEntry() { - return selectedUIContextEntry; - } +// public JAXXContextEntryDef<Component> getSelectedUIContextEntry() { +// return selectedUIContextEntry; +// } } Modified: branches/jaxx-2.X/jaxx-runtime/src/main/java/jaxx/runtime/swing/navigation/NavigationTreeHandler.java =================================================================== --- branches/jaxx-2.X/jaxx-runtime/src/main/java/jaxx/runtime/swing/navigation/NavigationTreeHandler.java 2009-11-06 11:36:48 UTC (rev 1636) +++ branches/jaxx-2.X/jaxx-runtime/src/main/java/jaxx/runtime/swing/navigation/NavigationTreeHandler.java 2009-11-07 06:12:53 UTC (rev 1637) @@ -240,7 +240,7 @@ helper.setSelectedNode(ctxt, node); // save in context current ui - helper.setSelectedUI(ctxt, newUI); +// helper.setSelectedUI(ctxt, newUI); // really open the ui associated with the selected node // init ui before to be visible Modified: branches/jaxx-2.X/jaxx-runtime/src/main/java/jaxx/runtime/swing/navigation/NavigationTreeHelper.java =================================================================== --- branches/jaxx-2.X/jaxx-runtime/src/main/java/jaxx/runtime/swing/navigation/NavigationTreeHelper.java 2009-11-06 11:36:48 UTC (rev 1636) +++ branches/jaxx-2.X/jaxx-runtime/src/main/java/jaxx/runtime/swing/navigation/NavigationTreeHelper.java 2009-11-07 06:12:53 UTC (rev 1637) @@ -163,6 +163,26 @@ } /** + * Obtain the first ancestor with the matching internalClass + * + * @param current the node to test + * @param beanClass the type of the internal class to seek of + * @return the first ancestor node with the matching class or {@code null} if not found + */ + public NavigationTreeNode getParentNode(NavigationTreeNode current, Class<?> beanClass) { + if (current == null) { + // ancestor not found + return null; + } + if (beanClass.isAssignableFrom(current.getInternalClass())) { + // matching node + return current; + } + // try in the parent of node + return getParentNode(current.getParent(), beanClass); + } + + /** * Sélection d'un fils du noeud selectionne dans l'arbre de navigation. * * @param context le contexte applicatif Modified: branches/jaxx-2.X/jaxx-runtime/src/main/java/jaxx/runtime/swing/navigation/NavigationTreeModel.java =================================================================== --- branches/jaxx-2.X/jaxx-runtime/src/main/java/jaxx/runtime/swing/navigation/NavigationTreeModel.java 2009-11-06 11:36:48 UTC (rev 1636) +++ branches/jaxx-2.X/jaxx-runtime/src/main/java/jaxx/runtime/swing/navigation/NavigationTreeModel.java 2009-11-07 06:12:53 UTC (rev 1637) @@ -50,7 +50,7 @@ * The path separator used to build the {@link NavigationTreeNode#fullPath}. * * @see NavigationTreeNode#getNodePath() - * @see NavigationTreeNode#getFullPath() + * @see NavigationTreeNode#getFullPath() */ protected final String pathSeparator; /** @@ -206,7 +206,7 @@ /** * Obtain the associated bean value from context corresponding to node * - * @param node the current node + * @param node the current node * @return the value associated in context with the given node. */ public Object getBean(NavigationTreeNode node) { @@ -263,4 +263,8 @@ } } } + + public String getPathSeparator() { + return pathSeparator; + } }
participants (1)
-
tchemit@users.nuiton.org