Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: b970af53 by Tony Chemit at 2021-01-31T12:11:45+01:00 Sélection multiple de marées - Closes #1747 - - - - - 2 changed files: - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/selection/SelectionTree.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/selection/actions/SelectUnselect.java Changes: ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/selection/SelectionTree.java ===================================== @@ -43,7 +43,7 @@ public class SelectionTree extends JXTree { setCellRenderer(new SelectionTreeCellRenderer()); setRootVisible(false); setRowHeight(30); - getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION); + getSelectionModel().setSelectionMode(TreeSelectionModel.DISCONTIGUOUS_TREE_SELECTION); setMinimumSize(UIHelper.newMinDimension()); setToggleClickCount(100); } ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/selection/actions/SelectUnselect.java ===================================== @@ -32,6 +32,7 @@ import org.apache.logging.log4j.Logger; import javax.swing.ActionMap; import javax.swing.InputMap; import javax.swing.KeyStroke; +import javax.swing.tree.TreePath; import java.awt.event.ActionEvent; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; @@ -104,13 +105,16 @@ public class SelectUnselect extends SelectionTreePaneActionSupport { } protected void selectUnSelect(SelectionTree tree) { - Object selectedRow = tree.getLastSelectedPathComponent(); - if (selectedRow == null) { - return; - } + TreePath[] selectionPath = tree.getSelectionPaths(); - SelectionTreeNodeSupport<?> node = (SelectionTreeNodeSupport<?>) selectedRow; - tree.getTreeModel().setValueAt(node, !node.isSelected()); + for (TreePath treePath : selectionPath) { + Object selectedRow = treePath.getLastPathComponent(); + if (selectedRow == null) { + return; + } + SelectionTreeNodeSupport<?> node = (SelectionTreeNodeSupport<?>) selectedRow; + tree.getTreeModel().setValueAt(node, !node.isSelected()); + } } public void setExcludeKeyStrokes(KeyStroke... keyStrokes) { View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/b970af5366eede35bb48a3de32... -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/b970af5366eede35bb48a3de32... You're receiving this email because of your account on gitlab.com.
participants (1)
-
Tony CHEMIT