Skip to content

Commit d28d2a1

Browse files
committed
updated node tree component.
1 parent da6ec88 commit d28d2a1

File tree

5 files changed

+18
-33
lines changed

5 files changed

+18
-33
lines changed

src/main/java/com/ss/editor/plugin/api/editor/material/BaseMaterialFileEditor.java

Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -44,19 +44,6 @@
4444
public abstract class BaseMaterialFileEditor<T extends BaseMaterialEditor3DPart, S extends EditorMaterialEditorState, C extends ChangeConsumer> extends
4545
Advanced3DFileEditorWithSplitRightTool<T, S> {
4646

47-
private static class MaterialSettingsNodeTree<C extends ChangeConsumer> extends NodeTree<C> {
48-
49-
public MaterialSettingsNodeTree(@NotNull final Consumer<Array<Object>> selectionHandler, @Nullable final C consumer) {
50-
super(selectionHandler, consumer);
51-
}
52-
53-
@Override
54-
@FxThread
55-
protected @NotNull SelectionMode getSelectionMode() {
56-
return SelectionMode.SINGLE;
57-
}
58-
}
59-
6047
/**
6148
* The default state of editor light.
6249
*/
@@ -156,7 +143,7 @@ protected boolean handleKeyActionImpl(@NotNull final KeyCode keyCode, final bool
156143
protected void createToolComponents(@NotNull final EditorToolComponent container, @NotNull final StackPane root) {
157144
super.createToolComponents(container, root);
158145

159-
settingsTree = new MaterialSettingsNodeTree<>(this::selectedFromTree, getChangeConsumer());
146+
settingsTree = new NodeTree<>(this::selectedFromTree, getChangeConsumer(), SelectionMode.SINGLE);
160147
propertyEditor = new PropertyEditor<>(getChangeConsumer());
161148
propertyEditor.prefHeightProperty().bind(root.heightProperty());
162149

src/main/java/com/ss/editor/ui/control/layer/LayerNodeTree.java

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,12 +27,6 @@ public LayerNodeTree(@NotNull final Consumer<Array<Object>> selectionHandler, @N
2727
super(selectionHandler, consumer);
2828
}
2929

30-
@Override
31-
@FxThread
32-
protected @NotNull SelectionMode getSelectionMode() {
33-
return SelectionMode.SINGLE;
34-
}
35-
3630
@Override
3731
@FxThread
3832
protected @NotNull NodeTreeCell<SceneChangeConsumer, ?> createNodeTreeCell() {

src/main/java/com/ss/editor/ui/control/model/ModelNodeTree.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import com.ss.editor.ui.control.tree.NodeTree;
55
import com.ss.editor.ui.control.tree.action.impl.multi.RemoveElementsAction;
66
import com.ss.rlib.util.array.Array;
7+
import javafx.scene.control.SelectionMode;
78
import org.jetbrains.annotations.NotNull;
89
import org.jetbrains.annotations.Nullable;
910

@@ -22,6 +23,6 @@ public class ModelNodeTree extends NodeTree<ModelChangeConsumer> {
2223

2324
public ModelNodeTree(@NotNull final Consumer<Array<Object>> selectionHandler,
2425
@Nullable final ModelChangeConsumer consumer) {
25-
super(selectionHandler, consumer);
26+
super(selectionHandler, consumer, SelectionMode.MULTIPLE);
2627
}
2728
}

src/main/java/com/ss/editor/ui/control/scene/SceneNodeTree.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import com.ss.editor.model.undo.editor.SceneChangeConsumer;
44
import com.ss.editor.ui.control.tree.NodeTree;
55
import com.ss.rlib.util.array.Array;
6+
import javafx.scene.control.SelectionMode;
67
import org.jetbrains.annotations.NotNull;
78
import org.jetbrains.annotations.Nullable;
89

@@ -16,6 +17,6 @@
1617
public class SceneNodeTree extends NodeTree<SceneChangeConsumer> {
1718

1819
public SceneNodeTree(@NotNull final Consumer<Array<Object>> selectionHandler, @Nullable final SceneChangeConsumer consumer) {
19-
super(selectionHandler, consumer);
20+
super(selectionHandler, consumer, SelectionMode.SINGLE);
2021
}
2122
}

src/main/java/com/ss/editor/ui/control/tree/NodeTree.java

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -74,15 +74,27 @@ public static void register(@NotNull final TripleConsumer<NodeTree<?>, List<Menu
7474
@Nullable
7575
private final C changeConsumer;
7676

77+
/**
78+
* The selection mode.
79+
*/
80+
@NotNull
81+
private final SelectionMode selectionMode;
82+
7783
/**
7884
* The tree with structure of the model.
7985
*/
8086
@Nullable
8187
private TreeView<TreeNode<?>> treeView;
8288

8389
public NodeTree(@NotNull final Consumer<Array<Object>> selectionHandler, @Nullable final C consumer) {
90+
this(selectionHandler, consumer, SelectionMode.SINGLE);
91+
}
92+
93+
public NodeTree(@NotNull final Consumer<Array<Object>> selectionHandler, @Nullable final C consumer,
94+
@NotNull final SelectionMode selectionMode) {
8495
this.selectionHandler = selectionHandler;
8596
this.changeConsumer = consumer;
97+
this.selectionMode = selectionMode;
8698
createComponents();
8799
FXUtils.addClassTo(this, CssClasses.ABSTRACT_NODE_TREE_CONTAINER);
88100
}
@@ -102,22 +114,12 @@ protected void createComponents() {
102114
treeView.prefWidthProperty().bind(widthProperty());
103115

104116
final MultipleSelectionModel<TreeItem<TreeNode<?>>> selectionModel = treeView.getSelectionModel();
105-
selectionModel.setSelectionMode(getSelectionMode());
117+
selectionModel.setSelectionMode(selectionMode);
106118
selectionModel.selectedItemProperty().addListener(this::updateSelection);
107119

108120
FXUtils.addToPane(treeView, this);
109121
}
110122

111-
/**
112-
* Get the selection mode.
113-
*
114-
* @return the selection mode.
115-
*/
116-
@FxThread
117-
protected @NotNull SelectionMode getSelectionMode() {
118-
return SelectionMode.MULTIPLE;
119-
}
120-
121123
/**
122124
* Create node tree cell abstract node tree cell.
123125
*

0 commit comments

Comments
 (0)