[Buix-commits] r1025 - in lutinjaxx/trunk/jaxx-core: . src/main/java/jaxx/runtime/swing/navigation
Author: chemit Date: 2008-11-19 00:07:29 +0000 (Wed, 19 Nov 2008) New Revision: 1025 Added: lutinjaxx/trunk/jaxx-core/src/main/java/jaxx/runtime/swing/navigation/NavigationUtil.java Modified: lutinjaxx/trunk/jaxx-core/changelog lutinjaxx/trunk/jaxx-core/src/main/java/jaxx/runtime/swing/navigation/NavigationTreeSelectionAdapter.java Log: introduce NavigationUtil save in context selected node Modified: lutinjaxx/trunk/jaxx-core/changelog =================================================================== --- lutinjaxx/trunk/jaxx-core/changelog 2008-11-17 13:21:12 UTC (rev 1024) +++ lutinjaxx/trunk/jaxx-core/changelog 2008-11-19 00:07:29 UTC (rev 1025) @@ -1,4 +1,5 @@ 0.6 chemit 200811?? + * 20081118 [chemit] introduce NavigationUtil, save in context selected node * 20081107 [chemit] improve data binding and code generation : - make possible inheritance in binding - add an attribute javaBean to an object : will generate a full java bean support property Modified: lutinjaxx/trunk/jaxx-core/src/main/java/jaxx/runtime/swing/navigation/NavigationTreeSelectionAdapter.java =================================================================== --- lutinjaxx/trunk/jaxx-core/src/main/java/jaxx/runtime/swing/navigation/NavigationTreeSelectionAdapter.java 2008-11-17 13:21:12 UTC (rev 1024) +++ lutinjaxx/trunk/jaxx-core/src/main/java/jaxx/runtime/swing/navigation/NavigationTreeSelectionAdapter.java 2008-11-19 00:07:29 UTC (rev 1025) @@ -21,6 +21,8 @@ static public final String NAVIGATION_CONTEXT_PATH = "navigation-context-path"; + static public final String NAVIGATION_SELECTED_NODE = "navigation-selected-node"; + /** la classe d'ui par defaut, associé à un noeud de l'arbe */ protected Class<? extends JAXXObject> defaultUIClass; @@ -140,6 +142,9 @@ // save in context current node context path context.setContextValue(node.getContextPath(), NAVIGATION_CONTEXT_PATH); + // save in context current node + context.setContextValue(node, NAVIGATION_SELECTED_NODE); + // really open the ui associated with the selected node openUI(newUI, node); Added: lutinjaxx/trunk/jaxx-core/src/main/java/jaxx/runtime/swing/navigation/NavigationUtil.java =================================================================== --- lutinjaxx/trunk/jaxx-core/src/main/java/jaxx/runtime/swing/navigation/NavigationUtil.java (rev 0) +++ lutinjaxx/trunk/jaxx-core/src/main/java/jaxx/runtime/swing/navigation/NavigationUtil.java 2008-11-19 00:07:29 UTC (rev 1025) @@ -0,0 +1,77 @@ +package jaxx.runtime.swing.navigation; + +import jaxx.runtime.JAXXContext; +import jaxx.runtime.swing.navigation.NavigationTreeModel.NavigationTreeNode; + +import java.lang.reflect.InvocationTargetException; +import java.util.regex.Pattern; + +/** + * Usefull methods on {@link NavigationTreeModel} and others. + * + * @author chemit + * @see jaxx.runtime.swing.navigation.NavigationTreeModel + * @see jaxx.runtime.swing.navigation.NavigationTreeModel.NavigationTreeNode + */ +public class NavigationUtil { + + public static String getCurrentNavigationNath(JAXXContext context) { + return context.getContextValue(String.class, NavigationTreeSelectionAdapter.NAVIGATION_CONTEXT_PATH); + } + + public static NavigationTreeNode getSelectedNode(JAXXContext context) { + return context.getContextValue(NavigationTreeNode.class, NavigationTreeSelectionAdapter.NAVIGATION_SELECTED_NODE); + } + + public static Object getContextValue(JAXXContext context, String contextKey, String navigationPath) throws InvocationTargetException, NoSuchMethodException, IllegalAccessException { + + NavigationTreeModel navigationModel = context.getContextValue(NavigationTreeModel.class, contextKey); + + return navigationModel.getJAXXContextValue(context, navigationPath); + } + + public static NavigationTreeNode findNode(JAXXContext context, String contextKey, String navigationPath) { + + NavigationTreeModel navigationModel = context.getContextValue(NavigationTreeModel.class, contextKey); + + return navigationModel.findNode(navigationPath); + } + + public static NavigationTreeNode findNode(JAXXContext context, String contextKey, String navigationPath, String regex) { + + NavigationTreeModel navigationModel = context.getContextValue(NavigationTreeModel.class, contextKey); + + return navigationModel.findNode(navigationPath, regex); + } + + + public static NavigationTreeNode findNode(JAXXContext context, String contextKey, String navigationPath, Pattern regex) { + + NavigationTreeModel navigationModel = context.getContextValue(NavigationTreeModel.class, contextKey); + + return navigationModel.findNode(navigationPath, regex); + } + + public static NavigationTreeNode findNode(JAXXContext context, String contextKey, String navigationPath, String regex, String suffix) { + + NavigationTreeModel navigationModel = context.getContextValue(NavigationTreeModel.class, contextKey); + + NavigationTreeNode navigationTreeNode = navigationModel.findNode(navigationPath, regex); + if (navigationTreeNode != null && suffix != null) { + navigationTreeNode = navigationModel.findNode(navigationTreeNode, suffix); + } + return navigationTreeNode; + } + + public static NavigationTreeNode findNode(JAXXContext context, String contextKey, String navigationPath, Pattern regex, String suffix) { + + NavigationTreeModel navigationModel = context.getContextValue(NavigationTreeModel.class, contextKey); + + NavigationTreeNode navigationTreeNode = navigationModel.findNode(navigationPath, regex); + if (navigationTreeNode != null && suffix != null) { + navigationTreeNode = navigationModel.findNode(navigationTreeNode, suffix); + } + return navigationTreeNode; + } + +}
participants (1)
-
chemit@users.labs.libre-entreprise.org