This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git commit 48de4ddd8536e3b486c534cb1a46f5207873a4b7 Author: Tony CHEMIT <chemit@codelutin.com> Date: Tue Dec 6 18:06:01 2016 +0100 refs #8429 revue du changement de nœud --- .../application/swing/ui/tree/navigation/NavigationTree.java | 12 ++++++++++++ .../swing/ui/tree/navigation/NavigationTreeModel.java | 11 ++++------- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/navigation/NavigationTree.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/navigation/NavigationTree.java index 68e33c1..a476080 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/navigation/NavigationTree.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/navigation/NavigationTree.java @@ -65,6 +65,7 @@ import org.jdesktop.swingx.JXTree; import javax.swing.SwingUtilities; import javax.swing.event.TreeExpansionEvent; import javax.swing.event.TreeWillExpandListener; +import javax.swing.tree.DefaultTreeSelectionModel; import javax.swing.tree.ExpandVetoException; import javax.swing.tree.TreePath; import javax.swing.tree.TreeSelectionModel; @@ -88,6 +89,17 @@ public class NavigationTree extends JXTree { public NavigationTree() { super(new NavigationTreeModel()); + setSelectionModel(new DefaultTreeSelectionModel() { + @Override + public void setSelectionPath(TreePath path) { + boolean canChange = ObserveSwingApplicationContext.get().getContentUIManager().closeSelectedContentUI(); + if (!canChange) { + // cancel the change of node + return; + } + super.setSelectionPath(path); + } + }); setLargeModel(true); setRootVisible(false); getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION); diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/navigation/NavigationTreeModel.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/navigation/NavigationTreeModel.java index a67620f..70c5ed3 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/navigation/NavigationTreeModel.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/navigation/NavigationTreeModel.java @@ -187,13 +187,10 @@ public class NavigationTreeModel extends DefaultTreeModel { public <N extends NavigationTreeNodeSupport> void open(N node) { if (node instanceof WithChildsToReload) { - WithChildsToReload childsToReload = (WithChildsToReload) node; - node.populateChilds(); - - } - boolean updated = node.populateChilds(); - if (updated) { - reload(node); + boolean updated = node.populateChilds(); + if (updated) { + reload(node); + } } } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.