From b3ae4e889872ca0b9ca76f1d17b2f0b961226729 Mon Sep 17 00:00:00 2001
From: Normand Briere <nbriere@noware.ca>
Date: Mon, 05 Aug 2019 21:48:55 -0400
Subject: [PATCH] Fix physics UI

---
 ParticleEditor.java |  127 ++++++++++++++++++++++++++++--------------
 1 files changed, 84 insertions(+), 43 deletions(-)

diff --git a/ParticleEditor.java b/ParticleEditor.java
index 8533f74..31e626f 100644
--- a/ParticleEditor.java
+++ b/ParticleEditor.java
@@ -70,6 +70,8 @@
         oe.aConstraints.gridwidth = 1;
          */
         super.SetupUI2(oe);
+        
+        particlesPanel = AddSlider(oe.ctrlPanel, "Particles", 0, 1000, particlesystem.numParticles);
 
 //		oe.aConstraints.gridx = 0;
 //		oe.aConstraints.gridwidth = 1;
@@ -82,32 +84,44 @@
 //        
 //        frameField.setFloat(particlesystem.initialVelocity);
 
-        particlesField = AddSlider(oe.ctrlPanel, "Particles", 0, 1000, particlesystem.numParticles); //, 1);
-        Return();
-        velocityField = AddSlider(oe.ctrlPanel, "Speed", 0, 10, particlesystem.initialVelocity, 1);
-        Return();
-        timestepField = AddSlider(oe.ctrlPanel, "Timestep", 0.001f, 1, particlesystem.controller.timestep, 1);
-        Return();
-        delayField = AddSlider(oe.ctrlPanel, "Delay", 0, 10, particlesystem.creationdelay, 1);
-        Return();
-        angleminField = AddSlider(oe.ctrlPanel, "Angle min", 0, (float)Math.PI, particlesystem.minimumAngle, 1);
-        Return();
-        anglemaxField = AddSlider(oe.ctrlPanel, "Angle max", 0, (float)Math.PI, particlesystem.maximumAngle, 1);
-        Return();
-        sizeminField = AddSlider(oe.ctrlPanel, "Size min", 0, 10, particlesystem.minimumSize, 1);
-        Return();
-        sizemaxField = AddSlider(oe.ctrlPanel, "Size max", 0, 10, particlesystem.maximumSize, 1);
-        Return();
-        lifeminField = AddSlider(oe.ctrlPanel, "Life min", 0, 100, particlesystem.minimumLifeTime, 1);
-        Return();
-        lifemaxField = AddSlider(oe.ctrlPanel, "Life max", 0, 100, particlesystem.maximumLifeTime, 1);
-        Return();
-        densityField = AddSlider(oe.ctrlPanel, "Density", 0, 1, particlesystem.density, 1);
-        Return();
-        gravityField = AddSlider(oe.ctrlPanel, "Gravity", 0, 1, -particlesystem.controller.gvector.y, 1);
-        Return();
-        standbyField = AddSlider(oe.ctrlPanel, "Standby", 0, 1, particlesystem.standby, 1);
-        Return();
+        particlesField = (cNumberSlider)particlesPanel.getComponent(1); //, 1);
+        oe.ctrlPanel.Return();
+                speedPanel = AddSlider(oe.ctrlPanel, "Speed", 0, 10, particlesystem.initialVelocity, 1);
+        speedField = (cNumberSlider)speedPanel.getComponent(1);
+        oe.ctrlPanel.Return();
+                timestepPanel = AddSlider(oe.ctrlPanel, "Timestep", 0.001f, 1, particlesystem.controller.timestep, 1);
+        timestepField = (cNumberSlider)timestepPanel.getComponent(1);
+        oe.ctrlPanel.Return();
+                delayPanel = AddSlider(oe.ctrlPanel, "Delay", 0, 10, particlesystem.creationdelay, 1);
+        delayField = (cNumberSlider)delayPanel.getComponent(1);
+        oe.ctrlPanel.Return();
+                angleminPanel = AddSlider(oe.ctrlPanel, "Angle min", 0, (float)Math.PI, particlesystem.minimumAngle, 1);
+        angleminField = (cNumberSlider)angleminPanel.getComponent(1);
+        oe.ctrlPanel.Return();
+                anglemaxPanel = AddSlider(oe.ctrlPanel, "Angle max", 0, (float)Math.PI, particlesystem.maximumAngle, 1);
+        anglemaxField = (cNumberSlider)anglemaxPanel.getComponent(1);
+        oe.ctrlPanel.Return();
+                sizeminPanel = AddSlider(oe.ctrlPanel, "Size min", 0, 10, particlesystem.minimumSize, 1);
+        sizeminField = (cNumberSlider)sizeminPanel.getComponent(1);
+        oe.ctrlPanel.Return();
+                sizemaxPanel = AddSlider(oe.ctrlPanel, "Size max", 0, 10, particlesystem.maximumSize, 1);
+        sizemaxField = (cNumberSlider)sizemaxPanel.getComponent(1);
+        oe.ctrlPanel.Return();
+                lifeminPanel = AddSlider(oe.ctrlPanel, "Life min", 0, 100, particlesystem.minimumLifeTime, 1);
+        lifeminField = (cNumberSlider)lifeminPanel.getComponent(1);
+        oe.ctrlPanel.Return();
+                lifemaxPanel = AddSlider(oe.ctrlPanel, "Life max", 0, 100, particlesystem.maximumLifeTime, 1);
+        lifemaxField = (cNumberSlider)lifemaxPanel.getComponent(1);
+        oe.ctrlPanel.Return();
+                densityPanel = AddSlider(oe.ctrlPanel, "Density", 0, 1, particlesystem.density, 1);
+        densityField = (cNumberSlider)densityPanel.getComponent(1);
+        oe.ctrlPanel.Return();
+                gravityPanel = AddSlider(oe.ctrlPanel, "Gravity", 0, 1, -particlesystem.controller.gvector.y, 1);
+        gravityField = (cNumberSlider)gravityPanel.getComponent(1);
+        oe.ctrlPanel.Return();
+                standbyPanel = AddSlider(oe.ctrlPanel, "Standby", 0, 1, particlesystem.standby, 1);
+        standbyField = (cNumberSlider)standbyPanel.getComponent(1);
+        oe.ctrlPanel.Return();
 
 //		oe.aConstraints.gridy += 1;
 //		oe.aConstraints.gridx = 0;
@@ -177,7 +191,7 @@
     {
         //System.out.println("Biparam :: stateChanged");
         if (e.getSource() == particlesField ||
-            e.getSource() == velocityField ||
+            e.getSource() == speedField ||
             e.getSource() == delayField ||
             e.getSource() == timestepField ||
             e.getSource() == angleminField ||
@@ -204,7 +218,7 @@
     {
 //		System.out.println("Biparam :: Refresh");
         new Exception().printStackTrace();
-        particlesystem.initialVelocity = (float) velocityField.getFloat(); // biparam.minUDivs, 99);
+        particlesystem.initialVelocity = (float) speedField.getFloat(); // biparam.minUDivs, 99);
         particlesystem.controller.timestep = (float) timestepField.getFloat();
 
         refreshContents();
@@ -232,7 +246,7 @@
         //System.out.println("Biparam :: applySelf");
         //super.applySelf();
         particlesystem.numParticles = particlesField.getInteger(); // biparam.minUDivs, 99);
-        particlesystem.initialVelocity = (float) velocityField.getFloat(); // biparam.minUDivs, 99);
+        particlesystem.initialVelocity = (float) speedField.getFloat(); // biparam.minUDivs, 99);
         particlesystem.controller.timestep = (float) timestepField.getFloat();
         particlesystem.creationdelay = (float) delayField.getFloat();
         particlesystem.minimumSize = (float) sizeminField.getFloat();
@@ -253,19 +267,32 @@
 
     public void closeUI()
     {
-        Remove(particlesField);
-        Remove(velocityField);
-        Remove(timestepField);
-        Remove(delayField);
-        Remove(sizeminField);
-        Remove(sizemaxField);
-        Remove(angleminField);
-        Remove(anglemaxField);
-        Remove(lifeminField);
-        Remove(lifemaxField);
-        Remove(densityField);
-        Remove(gravityField);
-        Remove(standbyField);
+//        Remove(particlesField);
+//        Remove(speedField);
+//        Remove(timestepField);
+//        Remove(delayField);
+//        Remove(sizeminField);
+//        Remove(sizemaxField);
+//        Remove(angleminField);
+//        Remove(anglemaxField);
+//        Remove(lifeminField);
+//        Remove(lifemaxField);
+//        Remove(densityField);
+//        Remove(gravityField);
+//        Remove(standbyField);
+        objEditor.ctrlPanel.remove(particlesPanel);
+        objEditor.ctrlPanel.remove(speedPanel);
+        objEditor.ctrlPanel.remove(timestepPanel);
+        objEditor.ctrlPanel.remove(delayPanel);
+        objEditor.ctrlPanel.remove(sizeminPanel);
+        objEditor.ctrlPanel.remove(sizemaxPanel);
+        objEditor.ctrlPanel.remove(angleminPanel);
+        objEditor.ctrlPanel.remove(anglemaxPanel);
+        objEditor.ctrlPanel.remove(lifeminPanel);
+        objEditor.ctrlPanel.remove(lifemaxPanel);
+        objEditor.ctrlPanel.remove(densityPanel);
+        objEditor.ctrlPanel.remove(gravityPanel);
+        objEditor.ctrlPanel.remove(standbyPanel);
 
 //		ObjEditor oe = objEditor;
 
@@ -292,7 +319,7 @@
     ParticleSystem particlesystem;
     
     cNumberSlider particlesField;
-    cNumberSlider velocityField;
+    cNumberSlider speedField;
     cNumberSlider timestepField;
     cNumberSlider delayField;
     cNumberSlider sizeminField;
@@ -305,6 +332,20 @@
     cNumberSlider gravityField;
     cNumberSlider standbyField;
     
+    cGridBag particlesPanel;
+    cGridBag speedPanel;
+    cGridBag timestepPanel;
+    cGridBag delayPanel;
+    cGridBag sizeminPanel;
+    cGridBag sizemaxPanel;
+    cGridBag angleminPanel;
+    cGridBag anglemaxPanel;
+    cGridBag lifeminPanel;
+    cGridBag lifemaxPanel;
+    cGridBag densityPanel;
+    cGridBag gravityPanel;
+    cGridBag standbyPanel;
+    
     ObjectUI parent;
     //ObjEditor objEditor;
 }

--
Gitblit v1.6.2