Author: tchemit Date: 2010-03-25 17:43:48 +0100 (Thu, 25 Mar 2010) New Revision: 1809 Log: add moveNode in NavigationModelBuilder api Modified: trunk/jaxx-runtime/src/main/java/jaxx/runtime/swing/navigation/AbstractNavigationModelBuilder.java trunk/jaxx-runtime/src/main/java/jaxx/runtime/swing/navigation/NavigationModelBuilder.java Modified: trunk/jaxx-runtime/src/main/java/jaxx/runtime/swing/navigation/AbstractNavigationModelBuilder.java =================================================================== --- trunk/jaxx-runtime/src/main/java/jaxx/runtime/swing/navigation/AbstractNavigationModelBuilder.java 2010-03-25 16:35:00 UTC (rev 1808) +++ trunk/jaxx-runtime/src/main/java/jaxx/runtime/swing/navigation/AbstractNavigationModelBuilder.java 2010-03-25 16:43:48 UTC (rev 1809) @@ -66,10 +66,12 @@ this.model = model; } + @Override public NavigationModel<E> getModel() { return model; } + @Override public E buildEmptyRoot(JAXXContextEntryDef<?> entryDef, String contextName) { E node = createNavigationTreeNode( @@ -82,6 +84,7 @@ return addChildNode(null, node); } + @Override public E build(E parentNode, String libelle, JAXXContextEntryDef<?> entryDef, @@ -100,6 +103,7 @@ return addChildNode(parentNode, node); } + @Override public E build(E parentNode, String libelle, JAXXContextEntryDef<?> entryDef, @@ -117,6 +121,7 @@ return addChildNode(parentNode, node); } + @Override public E build(E parentNode, String libelle, String entryPath, @@ -134,6 +139,7 @@ return addChildNode(parentNode, node); } + @Override public E build(E parentNode, Decorator<?> decorator, JAXXContextEntryDef<?> entryDef, @@ -152,6 +158,7 @@ return addChildNode(parentNode, node); } + @Override public E build(E parentNode, Decorator<?> decorator, JAXXContextEntryDef<?> entryDef, @@ -169,6 +176,7 @@ return addChildNode(parentNode, node); } + @Override public E build(E parentNode, Decorator<?> decorator, String entryPath, @@ -186,40 +194,34 @@ return addChildNode(parentNode, node); } - protected E addChildNode(E parentNode, E node) { - - if (node.getUIClass() == null) { - // no ui is associated with this node, use the default one - node.setUIClass(defaultUIClass); - } - - if (node.getUIHandlerClass() == null) { - // no ui handler associated with this node, use the default one - node.setUIHandlerClass(defaultUIHandlerClass); - } - if (parentNode == null) { - model.setRoot(node); - } else { - parentNode.add(node); - } - model.nodeStructureChanged(parentNode == null ? node : parentNode); - return node; - } - + @Override public E removeChildNode(E node) { E parentNode = (E) node.getParent(); model.removeNodeFromParent(node); return parentNode; } + @Override + public void moveNode(E parentNode, + E node, + int position) { + parentNode.remove(node); + parentNode.insert(node, position); + NavigationModel<E> treeModel = getModel(); + treeModel.nodeStructureChanged(parentNode); + } + + @Override public void addI18nNodeRenderer(E node, String libelle) { node.setRenderer(new NavigationTreeNodeRendererI18nImpl(libelle)); } + @Override public void addDecoratorNodeRenderer(E node, Decorator<?> decorator) { node.setRenderer(new NavigationTreeNodeRendererDecoratorImpl(decorator)); } + @Override public void addNodeJaxxClasses( E node, Class<? extends JAXXObject> uIClass, @@ -228,6 +230,7 @@ node.setUIHandlerClass(uIHandlerClass); } + @Override public void printModel(E node) { if (node == null) { return; @@ -246,14 +249,26 @@ } } -// // To create your own instance of NavigationTreeTableNode -// -// public abstract E createNavigationTreeNode( -// String pathSeparator, -// String contextName, -// JAXXContextEntryDef<?> jaxxContextEntryDef, -// String jaxxContextEntryPath); + protected E addChildNode(E parentNode, E node) { + if (node.getUIClass() == null) { + // no ui is associated with this node, use the default one + node.setUIClass(defaultUIClass); + } + + if (node.getUIHandlerClass() == null) { + // no ui handler associated with this node, use the default one + node.setUIHandlerClass(defaultUIHandlerClass); + } + if (parentNode == null) { + model.setRoot(node); + } else { + parentNode.add(node); + } + model.nodeStructureChanged(parentNode == null ? node : parentNode); + return node; + } + public static abstract class ChildBuilder<O, E extends NavigationTreeNode> { protected AbstractNavigationModelBuilder<E> builder; Modified: trunk/jaxx-runtime/src/main/java/jaxx/runtime/swing/navigation/NavigationModelBuilder.java =================================================================== --- trunk/jaxx-runtime/src/main/java/jaxx/runtime/swing/navigation/NavigationModelBuilder.java 2010-03-25 16:35:00 UTC (rev 1808) +++ trunk/jaxx-runtime/src/main/java/jaxx/runtime/swing/navigation/NavigationModelBuilder.java 2010-03-25 16:43:48 UTC (rev 1809) @@ -43,7 +43,7 @@ String contextName, JAXXContextEntryDef<?> jaxxContextEntryDef, String jaxxContextEntryPath); - + E buildEmptyRoot(JAXXContextEntryDef<?> entryDef, String contextName); E build(E parentNode, @@ -103,4 +103,6 @@ Class<? extends JAXXAction> uIHandlerClass); void printModel(E node); + + void moveNode(E parentNode, E node, int position); }