Normand Briere
2019-07-27 1af7d3700724834e40ad8636bc9a56cdc3b19b15
ParticleEditor.java
....@@ -4,6 +4,8 @@
44 import javax.swing.*;
55 import javax.swing.event.*;
66
7
+import grafeme.ui.*;
8
+
79 class ParticleEditor extends ObjEditor implements //ItemListener,
810 ChangeListener, ObjectUI, ActionListener
911 {
....@@ -68,6 +70,8 @@
6870 oe.aConstraints.gridwidth = 1;
6971 */
7072 super.SetupUI2(oe);
73
+
74
+ particlesPanel = AddSlider(oe.ctrlPanel, "Particles", 0, 1000, particlesystem.numParticles);
7175
7276 // oe.aConstraints.gridx = 0;
7377 // oe.aConstraints.gridwidth = 1;
....@@ -80,32 +84,44 @@
8084 //
8185 // frameField.setFloat(particlesystem.initialVelocity);
8286
83
- particlesField = AddSlider(oe.ctrlPanel, "Particles", 0, 1000, particlesystem.numParticles); //, 1);
84
- Return();
85
- velocityField = AddSlider(oe.ctrlPanel, "Speed", 0, 10, particlesystem.initialVelocity, 1);
86
- Return();
87
- timestepField = AddSlider(oe.ctrlPanel, "Timestep", 0.001f, 1, particlesystem.controller.timestep, 1);
88
- Return();
89
- delayField = AddSlider(oe.ctrlPanel, "Delay", 0, 10, particlesystem.creationdelay, 1);
90
- Return();
91
- angleminField = AddSlider(oe.ctrlPanel, "Angle min", 0, (float)Math.PI, particlesystem.minimumAngle, 1);
92
- Return();
93
- anglemaxField = AddSlider(oe.ctrlPanel, "Angle max", 0, (float)Math.PI, particlesystem.maximumAngle, 1);
94
- Return();
95
- sizeminField = AddSlider(oe.ctrlPanel, "Size min", 0, 10, particlesystem.minimumSize, 1);
96
- Return();
97
- sizemaxField = AddSlider(oe.ctrlPanel, "Size max", 0, 10, particlesystem.maximumSize, 1);
98
- Return();
99
- lifeminField = AddSlider(oe.ctrlPanel, "Life min", 0, 100, particlesystem.minimumLifeTime, 1);
100
- Return();
101
- lifemaxField = AddSlider(oe.ctrlPanel, "Life max", 0, 100, particlesystem.maximumLifeTime, 1);
102
- Return();
103
- densityField = AddSlider(oe.ctrlPanel, "Density", 0, 1, particlesystem.density, 1);
104
- Return();
105
- gravityField = AddSlider(oe.ctrlPanel, "Gravity", 0, 1, -particlesystem.controller.gvector.y, 1);
106
- Return();
107
- standbyField = AddSlider(oe.ctrlPanel, "Standby", 0, 1, particlesystem.standby, 1);
108
- Return();
87
+ particlesField = (cNumberSlider)particlesPanel.getComponent(1); //, 1);
88
+ oe.ctrlPanel.Return();
89
+ speedPanel = AddSlider(oe.ctrlPanel, "Speed", 0, 10, particlesystem.initialVelocity, 1);
90
+ speedField = (cNumberSlider)speedPanel.getComponent(1);
91
+ oe.ctrlPanel.Return();
92
+ timestepPanel = AddSlider(oe.ctrlPanel, "Timestep", 0.001f, 1, particlesystem.controller.timestep, 1);
93
+ timestepField = (cNumberSlider)timestepPanel.getComponent(1);
94
+ oe.ctrlPanel.Return();
95
+ delayPanel = AddSlider(oe.ctrlPanel, "Delay", 0, 10, particlesystem.creationdelay, 1);
96
+ delayField = (cNumberSlider)delayPanel.getComponent(1);
97
+ oe.ctrlPanel.Return();
98
+ angleminPanel = AddSlider(oe.ctrlPanel, "Angle min", 0, (float)Math.PI, particlesystem.minimumAngle, 1);
99
+ angleminField = (cNumberSlider)angleminPanel.getComponent(1);
100
+ oe.ctrlPanel.Return();
101
+ anglemaxPanel = AddSlider(oe.ctrlPanel, "Angle max", 0, (float)Math.PI, particlesystem.maximumAngle, 1);
102
+ anglemaxField = (cNumberSlider)anglemaxPanel.getComponent(1);
103
+ oe.ctrlPanel.Return();
104
+ sizeminPanel = AddSlider(oe.ctrlPanel, "Size min", 0, 10, particlesystem.minimumSize, 1);
105
+ sizeminField = (cNumberSlider)sizeminPanel.getComponent(1);
106
+ oe.ctrlPanel.Return();
107
+ sizemaxPanel = AddSlider(oe.ctrlPanel, "Size max", 0, 10, particlesystem.maximumSize, 1);
108
+ sizemaxField = (cNumberSlider)sizemaxPanel.getComponent(1);
109
+ oe.ctrlPanel.Return();
110
+ lifeminPanel = AddSlider(oe.ctrlPanel, "Life min", 0, 100, particlesystem.minimumLifeTime, 1);
111
+ lifeminField = (cNumberSlider)lifeminPanel.getComponent(1);
112
+ oe.ctrlPanel.Return();
113
+ lifemaxPanel = AddSlider(oe.ctrlPanel, "Life max", 0, 100, particlesystem.maximumLifeTime, 1);
114
+ lifemaxField = (cNumberSlider)lifemaxPanel.getComponent(1);
115
+ oe.ctrlPanel.Return();
116
+ densityPanel = AddSlider(oe.ctrlPanel, "Density", 0, 1, particlesystem.density, 1);
117
+ densityField = (cNumberSlider)densityPanel.getComponent(1);
118
+ oe.ctrlPanel.Return();
119
+ gravityPanel = AddSlider(oe.ctrlPanel, "Gravity", 0, 1, -particlesystem.controller.gvector.y, 1);
120
+ gravityField = (cNumberSlider)gravityPanel.getComponent(1);
121
+ oe.ctrlPanel.Return();
122
+ standbyPanel = AddSlider(oe.ctrlPanel, "Standby", 0, 1, particlesystem.standby, 1);
123
+ standbyField = (cNumberSlider)standbyPanel.getComponent(1);
124
+ oe.ctrlPanel.Return();
109125
110126 // oe.aConstraints.gridy += 1;
111127 // oe.aConstraints.gridx = 0;
....@@ -175,7 +191,7 @@
175191 {
176192 //System.out.println("Biparam :: stateChanged");
177193 if (e.getSource() == particlesField ||
178
- e.getSource() == velocityField ||
194
+ e.getSource() == speedField ||
179195 e.getSource() == delayField ||
180196 e.getSource() == timestepField ||
181197 e.getSource() == angleminField ||
....@@ -202,7 +218,7 @@
202218 {
203219 // System.out.println("Biparam :: Refresh");
204220 new Exception().printStackTrace();
205
- particlesystem.initialVelocity = (float) velocityField.getFloat(); // biparam.minUDivs, 99);
221
+ particlesystem.initialVelocity = (float) speedField.getFloat(); // biparam.minUDivs, 99);
206222 particlesystem.controller.timestep = (float) timestepField.getFloat();
207223
208224 refreshContents();
....@@ -230,7 +246,7 @@
230246 //System.out.println("Biparam :: applySelf");
231247 //super.applySelf();
232248 particlesystem.numParticles = particlesField.getInteger(); // biparam.minUDivs, 99);
233
- particlesystem.initialVelocity = (float) velocityField.getFloat(); // biparam.minUDivs, 99);
249
+ particlesystem.initialVelocity = (float) speedField.getFloat(); // biparam.minUDivs, 99);
234250 particlesystem.controller.timestep = (float) timestepField.getFloat();
235251 particlesystem.creationdelay = (float) delayField.getFloat();
236252 particlesystem.minimumSize = (float) sizeminField.getFloat();
....@@ -251,19 +267,32 @@
251267
252268 public void closeUI()
253269 {
254
- Remove(particlesField);
255
- Remove(velocityField);
256
- Remove(timestepField);
257
- Remove(delayField);
258
- Remove(sizeminField);
259
- Remove(sizemaxField);
260
- Remove(angleminField);
261
- Remove(anglemaxField);
262
- Remove(lifeminField);
263
- Remove(lifemaxField);
264
- Remove(densityField);
265
- Remove(gravityField);
266
- Remove(standbyField);
270
+// Remove(particlesField);
271
+// Remove(speedField);
272
+// Remove(timestepField);
273
+// Remove(delayField);
274
+// Remove(sizeminField);
275
+// Remove(sizemaxField);
276
+// Remove(angleminField);
277
+// Remove(anglemaxField);
278
+// Remove(lifeminField);
279
+// Remove(lifemaxField);
280
+// Remove(densityField);
281
+// Remove(gravityField);
282
+// Remove(standbyField);
283
+ objEditor.ctrlPanel.remove(particlesPanel);
284
+ objEditor.ctrlPanel.remove(speedPanel);
285
+ objEditor.ctrlPanel.remove(timestepPanel);
286
+ objEditor.ctrlPanel.remove(delayPanel);
287
+ objEditor.ctrlPanel.remove(sizeminPanel);
288
+ objEditor.ctrlPanel.remove(sizemaxPanel);
289
+ objEditor.ctrlPanel.remove(angleminPanel);
290
+ objEditor.ctrlPanel.remove(anglemaxPanel);
291
+ objEditor.ctrlPanel.remove(lifeminPanel);
292
+ objEditor.ctrlPanel.remove(lifemaxPanel);
293
+ objEditor.ctrlPanel.remove(densityPanel);
294
+ objEditor.ctrlPanel.remove(gravityPanel);
295
+ objEditor.ctrlPanel.remove(standbyPanel);
267296
268297 // ObjEditor oe = objEditor;
269298
....@@ -289,19 +318,33 @@
289318
290319 ParticleSystem particlesystem;
291320
292
- NumberSlider particlesField;
293
- NumberSlider velocityField;
294
- NumberSlider timestepField;
295
- NumberSlider delayField;
296
- NumberSlider sizeminField;
297
- NumberSlider sizemaxField;
298
- NumberSlider angleminField;
299
- NumberSlider anglemaxField;
300
- NumberSlider lifeminField;
301
- NumberSlider lifemaxField;
302
- NumberSlider densityField;
303
- NumberSlider gravityField;
304
- NumberSlider standbyField;
321
+ cNumberSlider particlesField;
322
+ cNumberSlider speedField;
323
+ cNumberSlider timestepField;
324
+ cNumberSlider delayField;
325
+ cNumberSlider sizeminField;
326
+ cNumberSlider sizemaxField;
327
+ cNumberSlider angleminField;
328
+ cNumberSlider anglemaxField;
329
+ cNumberSlider lifeminField;
330
+ cNumberSlider lifemaxField;
331
+ cNumberSlider densityField;
332
+ cNumberSlider gravityField;
333
+ cNumberSlider standbyField;
334
+
335
+ cGridBag particlesPanel;
336
+ cGridBag speedPanel;
337
+ cGridBag timestepPanel;
338
+ cGridBag delayPanel;
339
+ cGridBag sizeminPanel;
340
+ cGridBag sizemaxPanel;
341
+ cGridBag angleminPanel;
342
+ cGridBag anglemaxPanel;
343
+ cGridBag lifeminPanel;
344
+ cGridBag lifemaxPanel;
345
+ cGridBag densityPanel;
346
+ cGridBag gravityPanel;
347
+ cGridBag standbyPanel;
305348
306349 ObjectUI parent;
307350 //ObjEditor objEditor;