This is an automated email from the git hooks/post-receive script. New commit to annotated tag v2.0.0-beta-1 in repository jaxx. See https://gitlab.nuiton.org/nuiton/jaxx.git commit 06c236729dfbf929cd9ccc53ce1227395c52f5f1 Author: Sylvain Letellier <???> Date: Fri Oct 23 14:30:44 2009 +0000 Adding repaint node mathods --- .../swing/navigation/NavigationTreeHelper.java | 58 ++++++++++++++++++++++ 1 file changed, 58 insertions(+) diff --git a/jaxx-runtime/src/main/java/jaxx/runtime/swing/navigation/NavigationTreeHelper.java b/jaxx-runtime/src/main/java/jaxx/runtime/swing/navigation/NavigationTreeHelper.java index 11d0317..1b9fbeb 100644 --- a/jaxx-runtime/src/main/java/jaxx/runtime/swing/navigation/NavigationTreeHelper.java +++ b/jaxx-runtime/src/main/java/jaxx/runtime/swing/navigation/NavigationTreeHelper.java @@ -1,6 +1,7 @@ package jaxx.runtime.swing.navigation; import java.lang.reflect.InvocationTargetException; +import java.util.Enumeration; import java.util.regex.Pattern; import javax.swing.JTree; import javax.swing.tree.TreePath; @@ -123,6 +124,63 @@ public abstract class NavigationTreeHelper extends NavigationTreeContextHelper { tree.scrollPathToVisible(path); } + /** + * Sélection du parent du noeud selectionne dans l'arbre de navigation. + * + * @param context le contexte applicatif + */ + public void gotoParentNode(JAXXContext context) { + + NavigationTreeNode node = getSelectedNode(context); + + if (node == null) { + // pas de noeud selectionne + throw new NullPointerException("no selected node in context"); + } + node = node.getParent(); + + selectNode(context, node); + } + + /** + * Demande une opération de repaint sur un noeud de l'arbre de navigation. + * + * <b>Note:</b> La descendance du noeud n'est pas repainte. + * + * @param context le contexte applicatif + * @param node le noeud à repaindre + */ + public void repaintNode(JAXXContext context, NavigationTreeNode node) { + repaintNode(context, node, false); + } + + /** + * Demande une opération de repaint sur un noeud de l'arbre de navigation. + * + * <b>Note:</b> La descendance du noeud est repainte si le paramètre + * <code>deep</code> est à <code>true</code>. + * + * @param context le contexte applicatif + * @param node le noeud à repaindre + * @param deep un flag pour activer la repainte de la descendance du noeud + */ + public void repaintNode(JAXXContext context, NavigationTreeNode node, boolean deep) { + NavigationTreeModel navigationModel = getSafeTreeModel(context); + if (log.isDebugEnabled()) { + log.debug(node); + } + navigationModel.nodeChanged(node); + if (deep) { + // repaint childs nodes + //todo we should only repaint necessary nodes ? + Enumeration<?> e = node.children(); + while (e.hasMoreElements()) { + NavigationTreeNode child = (NavigationTreeNode) e.nextElement(); + repaintNode(context, child, true); + } + } + } + public NavigationTreeModel getSafeTreeModel(JAXXContext context) throws NullPointerException { NavigationTreeModel treeModel = getTreeModel(context); if (treeModel == null) { -- To stop receiving notification emails like this one, please contact nuiton.org SCM administrator <admin+scm@nuiton.org>.