Skip to content

Commit e7a9927

Browse files
committed
refactoring property builders.
1 parent ba877a7 commit e7a9927

20 files changed

+300
-127
lines changed

src/main/java/com/ss/editor/ui/control/app/state/property/builder/impl/AppStatePropertyBuilder.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package com.ss.editor.ui.control.app.state.property.builder.impl;
22

3+
import com.ss.editor.annotation.FXThread;
4+
import com.ss.editor.annotation.FromAnyThread;
35
import com.ss.editor.extension.property.EditableProperty;
46
import com.ss.editor.extension.scene.app.state.EditableSceneAppState;
57
import com.ss.editor.model.undo.editor.SceneChangeConsumer;
@@ -20,23 +22,21 @@ public class AppStatePropertyBuilder extends EditableModelObjectPropertyBuilder
2022
private static final AppStatePropertyBuilder INSTANCE = new AppStatePropertyBuilder();
2123

2224
/**
23-
* Gets instance.
25+
* Get the single instance.
2426
*
25-
* @return the instance
27+
* @return the single instance.
2628
*/
27-
@NotNull
28-
public static AppStatePropertyBuilder getInstance() {
29+
@FromAnyThread
30+
public static @NotNull AppStatePropertyBuilder getInstance() {
2931
return INSTANCE;
3032
}
3133

32-
/**
33-
* Instantiates a new App state property builder.
34-
*/
3534
protected AppStatePropertyBuilder() {
3635
super(SceneChangeConsumer.class);
3736
}
3837

3938
@Override
39+
@FXThread
4040
protected @Nullable List<EditableProperty<?, ?>> getProperties(@NotNull final Object object) {
4141
if (!(object instanceof EditableSceneAppState)) return null;
4242
final EditableSceneAppState state = (EditableSceneAppState) object;

src/main/java/com/ss/editor/ui/control/filter/property/builder/impl/FilterPropertyBuilder.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package com.ss.editor.ui.control.filter.property.builder.impl;
22

3+
import com.ss.editor.annotation.FXThread;
4+
import com.ss.editor.annotation.FromAnyThread;
35
import com.ss.editor.extension.property.EditableProperty;
46
import com.ss.editor.extension.scene.filter.EditableSceneFilter;
57
import com.ss.editor.model.undo.editor.ModelChangeConsumer;
@@ -20,23 +22,21 @@ public class FilterPropertyBuilder extends EditableModelObjectPropertyBuilder {
2022
private static final FilterPropertyBuilder INSTANCE = new FilterPropertyBuilder();
2123

2224
/**
23-
* Gets instance.
25+
* Get the single instance.
2426
*
25-
* @return the instance
27+
* @return the single instance
2628
*/
27-
@NotNull
28-
public static FilterPropertyBuilder getInstance() {
29+
@FromAnyThread
30+
public static @NotNull FilterPropertyBuilder getInstance() {
2931
return INSTANCE;
3032
}
3133

32-
/**
33-
* Instantiates a new Filter property builder.
34-
*/
3534
protected FilterPropertyBuilder() {
3635
super(ModelChangeConsumer.class);
3736
}
3837

3938
@Override
39+
@FXThread
4040
protected @Nullable List<EditableProperty<?, ?>> getProperties(@NotNull final Object object) {
4141
if (!(object instanceof EditableSceneFilter)) return null;
4242
final EditableSceneFilter filter = (EditableSceneFilter) object;

src/main/java/com/ss/editor/ui/control/material/property/builder/MaterialSettingsPropertyBuilder.java

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77
import com.jme3.material.RenderState;
88
import com.jme3.shader.VarType;
99
import com.ss.editor.Messages;
10+
import com.ss.editor.annotation.FXThread;
11+
import com.ss.editor.annotation.FromAnyThread;
1012
import com.ss.editor.extension.property.EditableProperty;
1113
import com.ss.editor.extension.property.EditablePropertyType;
1214
import com.ss.editor.extension.property.SimpleProperty;
@@ -54,13 +56,21 @@ public class MaterialSettingsPropertyBuilder extends MaterialPropertyBuilder {
5456
COLOR_TYPES.add(VarType.Vector4);
5557
}
5658

59+
@NotNull
5760
private static final PropertyBuilder INSTANCE = new MaterialSettingsPropertyBuilder();
5861

62+
/**
63+
* Get the single instance.
64+
*
65+
* @return the single instance.
66+
*/
67+
@FromAnyThread
5968
public static @NotNull PropertyBuilder getInstance() {
6069
return INSTANCE;
6170
}
6271

6372
@Override
73+
@FXThread
6474
protected @Nullable List<EditableProperty<?, ?>> getProperties(@NotNull final Object object) {
6575

6676
if (!(object instanceof MaterialSettings) || object instanceof RootMaterialSettings) {
@@ -120,6 +130,14 @@ public class MaterialSettingsPropertyBuilder extends MaterialPropertyBuilder {
120130
.collect(Collectors.toList());
121131
}
122132

133+
/**
134+
* Filter material parameters for the presented object.
135+
*
136+
* @param param the material parameter.
137+
* @param object the presented object.
138+
* @return true of we can show the parameter.
139+
*/
140+
@FXThread
123141
private boolean filter(@NotNull final MatParam param, @NotNull final Object object) {
124142

125143
if (object instanceof TexturesSettings) {
@@ -131,6 +149,15 @@ private boolean filter(@NotNull final MatParam param, @NotNull final Object obje
131149
return !TEXTURE_TYPES.contains(param.getVarType()) && !COLOR_TYPES.contains(param.getVarType());
132150
}
133151

152+
/**
153+
* Convert the material parameter to an editable property.
154+
*
155+
* @param param the material parameter.
156+
* @param material the material.
157+
* @param settings the settings.
158+
* @return the editable property or null.
159+
*/
160+
@FXThread
134161
private @Nullable EditableProperty<?, ?> convert(@NotNull final MatParam param, @NotNull final Material material,
135162
@NotNull final MaterialSettings settings) {
136163

src/main/java/com/ss/editor/ui/control/model/property/builder/impl/AudioNodePropertyBuilder.java

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
import com.jme3.audio.AudioNode;
77
import com.jme3.math.Vector3f;
88
import com.ss.editor.Messages;
9+
import com.ss.editor.annotation.FXThread;
10+
import com.ss.editor.annotation.FromAnyThread;
911
import com.ss.editor.model.undo.editor.ModelChangeConsumer;
1012
import com.ss.editor.ui.control.property.builder.PropertyBuilder;
1113
import com.ss.editor.ui.control.property.builder.impl.AbstractPropertyBuilder;
@@ -45,10 +47,11 @@ public class AudioNodePropertyBuilder extends AbstractPropertyBuilder<ModelChang
4547
private static final PropertyBuilder INSTANCE = new AudioNodePropertyBuilder();
4648

4749
/**
48-
* Gets instance.
50+
* Get the single instance.
4951
*
50-
* @return the instance
52+
* @return the single instance.
5153
*/
54+
@FromAnyThread
5255
public static @NotNull PropertyBuilder getInstance() {
5356
return INSTANCE;
5457
}
@@ -58,8 +61,9 @@ private AudioNodePropertyBuilder() {
5861
}
5962

6063
@Override
61-
protected void buildForImpl(@NotNull final Object object, @Nullable final Object parent, @NotNull final VBox container,
62-
@NotNull final ModelChangeConsumer changeConsumer) {
64+
@FXThread
65+
protected void buildForImpl(@NotNull final Object object, @Nullable final Object parent,
66+
@NotNull final VBox container, @NotNull final ModelChangeConsumer changeConsumer) {
6367

6468
if (!(object instanceof AudioNode)) return;
6569

src/main/java/com/ss/editor/ui/control/model/property/builder/impl/CollisionShapePropertyBuilder.java

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
import com.jme3.math.Quaternion;
77
import com.jme3.math.Vector3f;
88
import com.ss.editor.Messages;
9+
import com.ss.editor.annotation.FXThread;
10+
import com.ss.editor.annotation.FromAnyThread;
911
import com.ss.editor.model.undo.editor.ModelChangeConsumer;
1012
import com.ss.editor.ui.control.property.builder.PropertyBuilder;
1113
import com.ss.editor.ui.control.property.builder.impl.AbstractPropertyBuilder;
@@ -26,10 +28,11 @@ public class CollisionShapePropertyBuilder extends AbstractPropertyBuilder<Model
2628
private static final PropertyBuilder INSTANCE = new CollisionShapePropertyBuilder();
2729

2830
/**
29-
* Gets instance.
31+
* Get the single instance.
3032
*
31-
* @return the instance
33+
* @return the single instance
3234
*/
35+
@FromAnyThread
3336
public static @NotNull PropertyBuilder getInstance() {
3437
return INSTANCE;
3538
}
@@ -39,6 +42,7 @@ private CollisionShapePropertyBuilder() {
3942
}
4043

4144
@Override
45+
@FXThread
4246
protected void buildForImpl(@NotNull final Object object, @Nullable final Object parent,
4347
@NotNull final VBox container, @NotNull final ModelChangeConsumer changeConsumer) {
4448

@@ -63,6 +67,7 @@ protected void buildForImpl(@NotNull final Object object, @Nullable final Object
6367
build((CollisionShape) object, container, changeConsumer);
6468
}
6569

70+
@FXThread
6671
private void build(@NotNull final CylinderCollisionShape shape, @NotNull final VBox container,
6772
@NotNull final ModelChangeConsumer changeConsumer) {
6873

@@ -120,6 +125,7 @@ private void build(@NotNull final ConeCollisionShape shape, @NotNull final VBox
120125
FXUtils.addToPane(heightControl, container);
121126
}
122127

128+
@FXThread
123129
private void build(@NotNull final CapsuleCollisionShape shape, @NotNull final VBox container,
124130
@NotNull final ModelChangeConsumer changeConsumer) {
125131

@@ -154,6 +160,7 @@ private void build(@NotNull final CapsuleCollisionShape shape, @NotNull final VB
154160
FXUtils.addToPane(axisControl, container);
155161
}
156162

163+
@FXThread
157164
private void build(@NotNull final SphereCollisionShape shape, @NotNull final VBox container,
158165
@NotNull final ModelChangeConsumer changeConsumer) {
159166

@@ -169,6 +176,7 @@ private void build(@NotNull final SphereCollisionShape shape, @NotNull final VBo
169176
FXUtils.addToPane(radiusControl, container);
170177
}
171178

179+
@FXThread
172180
private void build(@NotNull final BoxCollisionShape shape, @NotNull final VBox container,
173181
@NotNull final ModelChangeConsumer changeConsumer) {
174182

@@ -184,6 +192,7 @@ private void build(@NotNull final BoxCollisionShape shape, @NotNull final VBox c
184192
FXUtils.addToPane(halfExtentsControl, container);
185193
}
186194

195+
@FXThread
187196
private void build(@NotNull final CollisionShape shape, @NotNull final VBox container,
188197
@NotNull final ModelChangeConsumer changeConsumer) {
189198

@@ -217,6 +226,7 @@ private void build(@NotNull final CollisionShape shape, @NotNull final VBox cont
217226
FXUtils.addToPane(objectIdControl, container);
218227
}
219228

229+
@FXThread
220230
private void build(@NotNull final ChildCollisionShape shape, @NotNull final VBox container,
221231
@NotNull final ModelChangeConsumer changeConsumer) {
222232

src/main/java/com/ss/editor/ui/control/model/property/builder/impl/DefaultControlPropertyBuilder.java

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
import com.jme3.scene.control.AbstractControl;
1717
import com.jme3.scene.control.Control;
1818
import com.ss.editor.Messages;
19+
import com.ss.editor.annotation.FXThread;
1920
import com.ss.editor.model.undo.editor.ModelChangeConsumer;
2021
import com.ss.editor.ui.control.model.property.control.WheelElementModelPropertyControl;
2122
import com.ss.editor.ui.control.property.builder.PropertyBuilder;
@@ -43,10 +44,11 @@ public class DefaultControlPropertyBuilder extends AbstractPropertyBuilder<Model
4344
private static final LoopMode[] LOOP_MODES = LoopMode.values();
4445

4546
/**
46-
* Gets instance.
47+
* Get the single instance.
4748
*
48-
* @return the instance
49+
* @return the single instance
4950
*/
51+
@FXThread
5052
public static @NotNull PropertyBuilder getInstance() {
5153
return INSTANCE;
5254
}
@@ -56,6 +58,7 @@ private DefaultControlPropertyBuilder() {
5658
}
5759

5860
@Override
61+
@FXThread
5962
protected void buildForImpl(@NotNull final Object object, @Nullable final Object parent,
6063
@NotNull final VBox container, @NotNull final ModelChangeConsumer changeConsumer) {
6164

@@ -90,6 +93,7 @@ protected void buildForImpl(@NotNull final Object object, @Nullable final Object
9093
}
9194
}
9295

96+
@FXThread
9397
private void build(@NotNull final AbstractCinematicEvent control, @NotNull final VBox container,
9498
@NotNull final ModelChangeConsumer changeConsumer) {
9599

@@ -133,6 +137,7 @@ private void build(@NotNull final AbstractCinematicEvent control, @NotNull final
133137
FXUtils.addToPane(timeControl, container);
134138
}
135139

140+
@FXThread
136141
private void build(@NotNull final AbstractControl control, @NotNull final VBox container,
137142
@NotNull final ModelChangeConsumer changeConsumer) {
138143

@@ -148,6 +153,7 @@ private void build(@NotNull final AbstractControl control, @NotNull final VBox c
148153
FXUtils.addToPane(enabledControl, container);
149154
}
150155

156+
@FXThread
151157
private void build(@NotNull final MotionEvent control, @NotNull final VBox container,
152158
@NotNull final ModelChangeConsumer changeConsumer) {
153159

@@ -185,6 +191,7 @@ private void build(@NotNull final MotionEvent control, @NotNull final VBox conta
185191
FXUtils.addToPane(rotationControl, container);
186192
}
187193

194+
@FXThread
188195
private void build(@NotNull final CharacterControl control, @NotNull final VBox container,
189196
@NotNull final ModelChangeConsumer changeConsumer) {
190197

@@ -277,6 +284,7 @@ private void build(@NotNull final CharacterControl control, @NotNull final VBox
277284
FXUtils.addToPane(walkDirectionControl, container);
278285
}
279286

287+
@FXThread
280288
private void build(@NotNull final SkeletonControl control, @NotNull final VBox container,
281289
@NotNull final ModelChangeConsumer changeConsumer) {
282290

@@ -292,6 +300,7 @@ private void build(@NotNull final SkeletonControl control, @NotNull final VBox c
292300
FXUtils.addToPane(hardwareSkinningPreferredControl, container);
293301
}
294302

303+
@FXThread
295304
private void build(@NotNull final Animation animation, @NotNull final VBox container,
296305
@NotNull final ModelChangeConsumer changeConsumer) {
297306

@@ -307,10 +316,10 @@ private void build(@NotNull final Animation animation, @NotNull final VBox conta
307316
FXUtils.addToPane(lengthControl, container);
308317
}
309318

319+
@FXThread
310320
private void build(@NotNull final RigidBodyControl control, @NotNull final VBox container,
311321
@NotNull final ModelChangeConsumer changeConsumer) {
312322

313-
314323
final boolean kinematicSpatial = control.isKinematicSpatial();
315324
final boolean enabled = control.isEnabled();
316325

@@ -332,6 +341,7 @@ private void build(@NotNull final RigidBodyControl control, @NotNull final VBox
332341
FXUtils.addToPane(kinematicSpatialControl, container);
333342
}
334343

344+
@FXThread
335345
private void build(@NotNull final VehicleControl control, @NotNull final VBox container,
336346
@NotNull final ModelChangeConsumer changeConsumer) {
337347

@@ -356,6 +366,7 @@ private void build(@NotNull final VehicleControl control, @NotNull final VBox co
356366
FXUtils.addToPane(applyPhysicsLocalControl, container);
357367
}
358368

369+
@FXThread
359370
private void build(@NotNull final VehicleWheel control, @NotNull final VBox container,
360371
@NotNull final ModelChangeConsumer changeConsumer) {
361372

@@ -510,6 +521,7 @@ private void build(@NotNull final VehicleWheel control, @NotNull final VBox cont
510521
FXUtils.addToPane(axleControl, container);
511522
}
512523

524+
@FXThread
513525
private void build(@NotNull final PhysicsRigidBody control, @NotNull final VBox container,
514526
@NotNull final ModelChangeConsumer changeConsumer) {
515527

src/main/java/com/ss/editor/ui/control/model/property/builder/impl/EditableControlPropertyBuilder.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package com.ss.editor.ui.control.model.property.builder.impl;
22

3+
import com.ss.editor.annotation.FXThread;
4+
import com.ss.editor.annotation.FromAnyThread;
35
import com.ss.editor.extension.property.EditableProperty;
46
import com.ss.editor.extension.scene.control.EditableControl;
57
import com.ss.editor.model.undo.editor.ModelChangeConsumer;
@@ -19,10 +21,11 @@ public class EditableControlPropertyBuilder extends EditableModelObjectPropertyB
1921
private static final EditableControlPropertyBuilder INSTANCE = new EditableControlPropertyBuilder();
2022

2123
/**
22-
* Gets instance.
24+
* Get the single instance.
2325
*
24-
* @return the instance
26+
* @return the single instance
2527
*/
28+
@FromAnyThread
2629
public static @NotNull EditableControlPropertyBuilder getInstance() {
2730
return INSTANCE;
2831
}
@@ -32,6 +35,7 @@ private EditableControlPropertyBuilder() {
3235
}
3336

3437
@Override
38+
@FXThread
3539
protected @Nullable List<EditableProperty<?, ?>> getProperties(@NotNull final Object object) {
3640
if(!(object instanceof EditableControl)) return null;
3741
return ((EditableControl) object).getEditableProperties();

0 commit comments

Comments
 (0)