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 |  153 ++++++++++++++++++++++++++++++++------------------
 1 files changed, 98 insertions(+), 55 deletions(-)

diff --git a/ParticleEditor.java b/ParticleEditor.java
index 26c73c4..31e626f 100644
--- a/ParticleEditor.java
+++ b/ParticleEditor.java
@@ -4,6 +4,8 @@
 import javax.swing.*;
 import javax.swing.event.*;
 
+import grafeme.ui.*;
+
 class ParticleEditor extends ObjEditor implements //ItemListener,
         ChangeListener, ObjectUI, ActionListener
 {
@@ -68,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;
@@ -80,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;
@@ -175,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 ||
@@ -202,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();
@@ -230,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();
@@ -251,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;
 
@@ -289,19 +318,33 @@
     
     ParticleSystem particlesystem;
     
-    NumberSlider particlesField;
-    NumberSlider velocityField;
-    NumberSlider timestepField;
-    NumberSlider delayField;
-    NumberSlider sizeminField;
-    NumberSlider sizemaxField;
-    NumberSlider angleminField;
-    NumberSlider anglemaxField;
-    NumberSlider lifeminField;
-    NumberSlider lifemaxField;
-    NumberSlider densityField;
-    NumberSlider gravityField;
-    NumberSlider standbyField;
+    cNumberSlider particlesField;
+    cNumberSlider speedField;
+    cNumberSlider timestepField;
+    cNumberSlider delayField;
+    cNumberSlider sizeminField;
+    cNumberSlider sizemaxField;
+    cNumberSlider angleminField;
+    cNumberSlider anglemaxField;
+    cNumberSlider lifeminField;
+    cNumberSlider lifemaxField;
+    cNumberSlider densityField;
+    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