Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
-
dc75a523
by Tony CHEMIT at 2017-08-12T13:43:42+02:00
5 changed files:
- client/src/main/java/fr/ird/observe/client/ui/tree/selection/SelectionTree.java
- client/src/main/java/fr/ird/observe/client/ui/tree/selection/SelectionTreeCellRenderer.java
- client/src/main/java/fr/ird/observe/client/ui/tree/selection/SelectionTreeHeaderHandler.java
- client/src/main/java/fr/ird/observe/client/ui/tree/selection/SelectionTreeModel.java
- client/src/main/java/fr/ird/observe/client/ui/tree/selection/nodes/RootSelectionTreeNode.java
Changes:
| ... | ... | @@ -28,7 +28,7 @@ import java.awt.event.ActionEvent; |
| 28 | 28 |
import javax.swing.AbstractAction;
|
| 29 | 29 |
import javax.swing.ActionMap;
|
| 30 | 30 |
import javax.swing.InputMap;
|
| 31 |
-import javax.swing.ListSelectionModel;
|
|
| 31 |
+import javax.swing.tree.TreeSelectionModel;
|
|
| 32 | 32 |
import org.jdesktop.swingx.JXTree;
|
| 33 | 33 |
|
| 34 | 34 |
/**
|
| ... | ... | @@ -45,7 +45,7 @@ public class SelectionTree extends JXTree { |
| 45 | 45 |
setCellRenderer(new SelectionTreeCellRenderer());
|
| 46 | 46 |
setRootVisible(false);
|
| 47 | 47 |
setRowHeight(30);
|
| 48 |
- getSelectionModel().setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
|
|
| 48 |
+ getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);
|
|
| 49 | 49 |
|
| 50 | 50 |
}
|
| 51 | 51 |
|
| ... | ... | @@ -76,16 +76,6 @@ public class SelectionTree extends JXTree { |
| 76 | 76 |
inputMap.put(ObserveKeyStrokes.KEY_STROKE_ENTER, "select/unselect");
|
| 77 | 77 |
actionMap.put("select/unselect", new AbstractAction() {
|
| 78 | 78 |
|
| 79 |
- protected void forTree(SelectionTree tree) {
|
|
| 80 |
- Object selectedRow = tree.getLastSelectedPathComponent();
|
|
| 81 |
- if (selectedRow == null) {
|
|
| 82 |
- return;
|
|
| 83 |
- }
|
|
| 84 |
- |
|
| 85 |
- SelectionTreeNodeSupport node = (SelectionTreeNodeSupport) selectedRow;
|
|
| 86 |
- tree.getTreeModel().setValueAt(node, !node.isSelected());
|
|
| 87 |
- }
|
|
| 88 |
- |
|
| 89 | 79 |
@Override
|
| 90 | 80 |
public void actionPerformed(ActionEvent e) {
|
| 91 | 81 |
if (isFocusOwner()) {
|
| ... | ... | @@ -94,6 +84,16 @@ public class SelectionTree extends JXTree { |
| 94 | 84 |
forTree(oppositeTree);
|
| 95 | 85 |
}
|
| 96 | 86 |
}
|
| 87 |
+ |
|
| 88 |
+ private void forTree(SelectionTree tree) {
|
|
| 89 |
+ Object selectedRow = tree.getLastSelectedPathComponent();
|
|
| 90 |
+ if (selectedRow == null) {
|
|
| 91 |
+ return;
|
|
| 92 |
+ }
|
|
| 93 |
+ |
|
| 94 |
+ SelectionTreeNodeSupport node = (SelectionTreeNodeSupport) selectedRow;
|
|
| 95 |
+ tree.getTreeModel().setValueAt(node, !node.isSelected());
|
|
| 96 |
+ }
|
|
| 97 | 97 |
});
|
| 98 | 98 |
}
|
| 99 | 99 |
|
| ... | ... | @@ -44,7 +44,7 @@ public class SelectionTreeCellRenderer extends DefaultXTreeCellRenderer { |
| 44 | 44 |
private final JPanel panel;
|
| 45 | 45 |
private final JCheckBox selected;
|
| 46 | 46 |
|
| 47 |
- public SelectionTreeCellRenderer() {
|
|
| 47 |
+ protected SelectionTreeCellRenderer() {
|
|
| 48 | 48 |
selected = new JCheckBox();
|
| 49 | 49 |
panel = new JPanel(new BorderLayout(2, 2));
|
| 50 | 50 |
panel.setOpaque(false);
|
| ... | ... | @@ -46,15 +46,15 @@ public class SelectionTreeHeaderHandler implements UIHandler<SelectionTreeHeader |
| 46 | 46 |
}
|
| 47 | 47 |
|
| 48 | 48 |
@Override
|
| 49 |
- public void beforeInit(SelectionTreeHeader selectionTreeHeader) {
|
|
| 50 |
- this.ui = selectionTreeHeader;
|
|
| 49 |
+ public void beforeInit(SelectionTreeHeader ui) {
|
|
| 50 |
+ this.ui = ui;
|
|
| 51 | 51 |
}
|
| 52 | 52 |
|
| 53 | 53 |
@Override
|
| 54 |
- public void afterInit(SelectionTreeHeader selectionTreeHeader) {
|
|
| 54 |
+ public void afterInit(SelectionTreeHeader ui) {
|
|
| 55 | 55 |
|
| 56 | 56 |
PropertyChangeListener propertyChangeListener = e -> onTripCountChanged((int) e.getNewValue());
|
| 57 |
- selectionTreeHeader.addPropertyChangeListener(SelectionTreeHeader.PROPERTY_TREE_TABLE, e -> {
|
|
| 57 |
+ ui.addPropertyChangeListener(SelectionTreeHeader.PROPERTY_TREE_TABLE, e -> {
|
|
| 58 | 58 |
SelectionTreeModel newValue = ((SelectionTree) e.getNewValue()).getTreeModel();
|
| 59 | 59 |
newValue.removePropertyChangeListener(SelectionTreeModel.SELECTED_COUNT, propertyChangeListener);
|
| 60 | 60 |
newValue.addPropertyChangeListener(SelectionTreeModel.SELECTED_COUNT, propertyChangeListener);
|
| ... | ... | @@ -108,10 +108,10 @@ public class SelectionTreeModel extends DefaultTreeModel { |
| 108 | 108 |
|
| 109 | 109 |
public void setSelectedCount(int selectedCount) {
|
| 110 | 110 |
int oldValue = getSelectedCount();
|
| 111 |
- boolean oldSelectionempty = isSelectionEmpty();
|
|
| 111 |
+ boolean oldSelectionEmpty = isSelectionEmpty();
|
|
| 112 | 112 |
this.selectedCount = selectedCount;
|
| 113 | 113 |
pcs.firePropertyChange(SELECTED_COUNT, oldValue, selectedCount);
|
| 114 |
- pcs.firePropertyChange(SELECTION_EMPTY, oldSelectionempty, isSelectionEmpty());
|
|
| 114 |
+ pcs.firePropertyChange(SELECTION_EMPTY, oldSelectionEmpty, isSelectionEmpty());
|
|
| 115 | 115 |
}
|
| 116 | 116 |
|
| 117 | 117 |
public boolean isSelectionEmpty() {
|
| ... | ... | @@ -228,10 +228,12 @@ public class SelectionTreeModel extends DefaultTreeModel { |
| 228 | 228 |
|
| 229 | 229 |
public ImmutableSet<Class<? extends ReferentialDto>> getSelectedReferentiel() {
|
| 230 | 230 |
ImmutableSet.Builder<Class<? extends ReferentialDto>> builder = ImmutableSet.builder();
|
| 231 |
- for (ReferentialsSelectionTreeNode programNode : getRoot().getReferentialsNodes()) {
|
|
| 232 |
- ImmutableList<Class<? extends ReferentialDto>> selected = programNode.getSelected();
|
|
| 233 |
- if (!selected.isEmpty()) {
|
|
| 234 |
- builder.addAll(selected);
|
|
| 231 |
+ if (isLoadReferential()) {
|
|
| 232 |
+ for (ReferentialsSelectionTreeNode programNode : getRoot().getReferentialsNodes()) {
|
|
| 233 |
+ ImmutableList<Class<? extends ReferentialDto>> selected = programNode.getSelected();
|
|
| 234 |
+ if (!selected.isEmpty()) {
|
|
| 235 |
+ builder.addAll(selected);
|
|
| 236 |
+ }
|
|
| 235 | 237 |
}
|
| 236 | 238 |
}
|
| 237 | 239 |
return builder.build();
|
| ... | ... | @@ -59,6 +59,7 @@ public class RootSelectionTreeNode extends SelectionTreeNodeSupport<Void> implem |
| 59 | 59 |
|
| 60 | 60 |
@Override
|
| 61 | 61 |
public Iterator<ProgramSelectionTreeNode> iterator() {
|
| 62 |
+ //noinspection unchecked
|
|
| 62 | 63 |
return (Iterator) EnumerationUtils.toList(children()).stream().filter(c -> c instanceof ProgramSelectionTreeNode).iterator();
|
| 63 | 64 |
}
|
| 64 | 65 |
|