Skip to content

Commit da6ec88

Browse files
committed
added action "EnableAllControls"
1 parent ad46a52 commit da6ec88

File tree

69 files changed

+219
-78
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

69 files changed

+219
-78
lines changed

src/main/java/com/ss/editor/JfxApplication.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -167,9 +167,7 @@ public static void main(final String[] args) {
167167
private static void configureLogger() {
168168

169169
// disable the standard logger
170-
if (!Config.DEV_DEBUG) {
171-
java.util.logging.Logger.getLogger("").setLevel(Level.WARNING);
172-
}
170+
java.util.logging.Logger.getLogger("").setLevel(Level.WARNING);
173171

174172
// configure our logger
175173
LoggerLevel.DEBUG.setEnabled(Config.DEV_DEBUG);

src/main/java/com/ss/editor/Messages.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -298,6 +298,7 @@ public class Messages {
298298
public static final String MODEL_NODE_TREE_ACTION_SPHERE_COLLISION_SHAPE;
299299
public static final String MODEL_NODE_TREE_ACTION_ADD_WHEEL;
300300
public static final String MODEL_NODE_TREE_ACTION_ADD_TERRAIN;
301+
public static final String MODEL_NODE_TREE_ACTION_ENABLE_ALL_CONTROLS;
301302

302303
public static final String MODEL_PROPERTY_CULL_HINT;
303304
public static final String MODEL_PROPERTY_SHADOW_MODE;
@@ -998,6 +999,7 @@ public class Messages {
998999
MODEL_NODE_TREE_ACTION_SPHERE_COLLISION_SHAPE = bundle.getString("ModelNodeTreeActionSphereCollisionShape");
9991000
MODEL_NODE_TREE_ACTION_ADD_WHEEL = bundle.getString("ModelNodeTreeActionAddWheel");
10001001
MODEL_NODE_TREE_ACTION_ADD_TERRAIN = bundle.getString("ModelNodeTreeActionAddTerrain");
1002+
MODEL_NODE_TREE_ACTION_ENABLE_ALL_CONTROLS = bundle.getString("ModelNodeTreeActionEnableAllControls");
10011003

10021004
MODEL_PROPERTY_CULL_HINT = bundle.getString("ModelPropertyCullHint");
10031005
MODEL_PROPERTY_SHADOW_MODE = bundle.getString("ModelPropertyShadowMode");

src/main/java/com/ss/editor/control/painting/spawn/SpawnToolControl.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
import com.ss.editor.control.painting.impl.AbstractPaintingControl;
2424
import com.ss.editor.model.undo.editor.ModelChangeConsumer;
2525
import com.ss.editor.ui.component.painting.spawn.SpawnPaintingComponent;
26-
import com.ss.editor.ui.control.tree.action.impl.operation.AddChildOperation;
26+
import com.ss.editor.model.undo.impl.AddChildOperation;
2727
import com.ss.editor.util.GeomUtils;
2828
import com.ss.editor.util.LocalObjects;
2929
import com.ss.editor.util.NodeUtils;
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.ss.editor.ui.control.tree.action.impl.operation;
1+
package com.ss.editor.model.undo.impl;
22

33
import com.jme3.scene.Node;
44
import com.jme3.scene.Spatial;
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.ss.editor.ui.control.tree.action.impl.operation;
1+
package com.ss.editor.model.undo.impl;
22

33
import com.jme3.scene.Spatial;
44
import com.jme3.scene.control.Control;
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.ss.editor.ui.control.tree.action.impl.operation;
1+
package com.ss.editor.model.undo.impl;
22

33
import com.jme3.light.Light;
44
import com.jme3.scene.Node;
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.ss.editor.ui.control.tree.action.impl.operation;
1+
package com.ss.editor.model.undo.impl;
22

33
import static com.ss.rlib.util.ObjectUtils.notNull;
44
import com.jme3.bullet.control.VehicleControl;
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.ss.editor.ui.control.tree.action.impl.operation;
1+
package com.ss.editor.model.undo.impl;
22

33
import com.jme3.bullet.collision.PhysicsCollisionObject;
44
import com.jme3.bullet.collision.shapes.CollisionShape;
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.ss.editor.ui.control.tree.action.impl.operation;
1+
package com.ss.editor.model.undo.impl;
22

33
import com.jme3.scene.Geometry;
44
import com.jme3.scene.Mesh;
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
package com.ss.editor.model.undo.impl;
2+
3+
import com.jme3.scene.Node;
4+
import com.jme3.scene.control.Control;
5+
import com.ss.editor.Messages;
6+
import com.ss.editor.annotation.JmeThread;
7+
import com.ss.editor.model.undo.editor.ModelChangeConsumer;
8+
import com.ss.editor.util.ControlUtils;
9+
import com.ss.rlib.util.array.Array;
10+
import com.ss.rlib.util.array.ArrayCollectors;
11+
import org.jetbrains.annotations.NotNull;
12+
13+
/**
14+
* The implementation of {@link AbstractEditorOperation} to enable {@link com.jme3.scene.control.AbstractControl} in a {@link Node}.
15+
*
16+
* @author JavaSaBr.
17+
*/
18+
public class EnableControlsOperation extends AbstractEditorOperation<ModelChangeConsumer> {
19+
20+
/**
21+
* The controls to enable.
22+
*/
23+
@NotNull
24+
private final Array<Control> controls;
25+
26+
/**
27+
* The list of disabled controls.
28+
*/
29+
@NotNull
30+
private final Array<Control> wasDisabled;
31+
32+
public EnableControlsOperation(@NotNull final Array<Control> controls) {
33+
this.controls = controls;
34+
this.wasDisabled = controls.stream()
35+
.filter(control -> !ControlUtils.isEnabled(control))
36+
.collect(ArrayCollectors.toArray(Control.class));
37+
}
38+
39+
@Override
40+
@JmeThread
41+
protected void redoImpl(@NotNull final ModelChangeConsumer editor) {
42+
EXECUTOR_MANAGER.addJmeTask(() -> {
43+
44+
for (final Control control : wasDisabled) {
45+
ControlUtils.setEnabled(control, true);
46+
}
47+
48+
EXECUTOR_MANAGER.addFxTask(() -> {
49+
wasDisabled.forEach(editor, (control, consumer) ->
50+
consumer.notifyFxChangeProperty(control, Messages.MODEL_PROPERTY_IS_ENABLED));
51+
});
52+
});
53+
}
54+
55+
@Override
56+
@JmeThread
57+
protected void undoImpl(@NotNull final ModelChangeConsumer editor) {
58+
EXECUTOR_MANAGER.addJmeTask(() -> {
59+
60+
for (final Control control : wasDisabled) {
61+
ControlUtils.setEnabled(control, false);
62+
}
63+
64+
wasDisabled.clear();
65+
66+
EXECUTOR_MANAGER.addFxTask(() -> {
67+
wasDisabled.forEach(editor, (control, consumer) ->
68+
consumer.notifyFxChangeProperty(control, Messages.MODEL_PROPERTY_IS_ENABLED));
69+
});
70+
});
71+
}
72+
}

0 commit comments

Comments
 (0)