Add settings dialog
authorBill Kuker <bkuker@billkuker.com>
Thu, 2 Dec 2010 02:18:55 +0000 (02:18 +0000)
committerBill Kuker <bkuker@billkuker.com>
Thu, 2 Dec 2010 02:18:55 +0000 (02:18 +0000)
gui/com/billkuker/rocketry/motorsim/visual/workbench/MotorEditor.java
gui/com/billkuker/rocketry/motorsim/visual/workbench/MotorWorkbench.java
gui/com/billkuker/rocketry/motorsim/visual/workbench/SettingsEditor.java [new file with mode: 0644]

index 38e47fb38822be08473c48ddc18668cf488dcbb8..76f846ecf6cc7df20850a58c84358489ed73897c 100644 (file)
@@ -87,6 +87,8 @@ public class MotorEditor extends JPanel implements PropertyChangeListener, FuelR
                FuelResolver.addFuelsChangeListener(this);\r
                fuelsChanged();\r
                setMotor(m);\r
+               \r
+               Burn.getBurnSettings().addPropertyChangeListener(this);\r
        }\r
 \r
        @Override\r
index 140036dd216ed4a1c24cd6f4302b738aea92146d..991c2bb96f716a7d7a8d2fe9b280ed3917a16a5e 100644 (file)
@@ -27,6 +27,8 @@ public class MotorWorkbench extends RememberJFrame {
        private MultiMotorThrustChart mb;\r
        private JFrame allBurns;\r
        \r
+       private SettingsEditor settings = new SettingsEditor(this);\r
+       \r
        private JFrame fuelEditorFrame = new RememberJFrame(800,600){\r
                private static final long serialVersionUID = 1L;\r
                {\r
@@ -161,6 +163,19 @@ public class MotorWorkbench extends RememberJFrame {
                                                });\r
                                                add(sci);\r
                                                add(nonsci);\r
+                                               \r
+                                               add(new JSeparator());\r
+                                               add(new JMenuItem("Simulation Settings"){\r
+                                                       private static final long serialVersionUID = 1L;\r
+                                                       {\r
+                                                               addActionListener(new ActionListener() {\r
+                                                                       @Override\r
+                                                                       public void actionPerformed(ActionEvent e) {\r
+                                                                               settings.setVisible(true);\r
+                                                                       }\r
+                                                               });\r
+                                                       }\r
+                                               });\r
                                        }\r
                                });\r
                                add(new JMenu("View") {\r
diff --git a/gui/com/billkuker/rocketry/motorsim/visual/workbench/SettingsEditor.java b/gui/com/billkuker/rocketry/motorsim/visual/workbench/SettingsEditor.java
new file mode 100644 (file)
index 0000000..dc11f1d
--- /dev/null
@@ -0,0 +1,45 @@
+package com.billkuker.rocketry.motorsim.visual.workbench;\r
+\r
+import javax.swing.JDialog;\r
+import javax.swing.JFrame;\r
+import javax.swing.SwingUtilities;\r
+\r
+import com.billkuker.rocketry.motorsim.Burn;\r
+import com.billkuker.rocketry.motorsim.visual.Editor;\r
+\r
+public class SettingsEditor extends JDialog {\r
+       private static final long serialVersionUID = 1L;\r
+       \r
+       private final JFrame f;\r
+\r
+       public SettingsEditor(final JFrame f) {\r
+               super(f, MotorWorkbench.name + " - Simulation Settings", true);\r
+               this.f = f;\r
+               setSize(320, 240);\r
+               setContentPane(new Editor(Burn.getBurnSettings()));\r
+       }\r
+\r
+       @Override\r
+       public void setVisible(boolean v) {\r
+               int x = f.getLocation().x + f.getWidth() / 2 - getWidth() / 2;\r
+               int y = f.getLocation().y + f.getHeight() / 2 - getHeight() / 2;\r
+               setLocation(x, y);\r
+               super.setVisible(v);\r
+       }\r
+\r
+       public static void main(String args[]) {\r
+               JFrame f = new JFrame();\r
+               f.setSize(1024, 768);\r
+               f.setVisible(true);\r
+               final SettingsEditor s = new SettingsEditor(f);\r
+               SwingUtilities.invokeLater(new Runnable() {\r
+\r
+                       @Override\r
+                       public void run() {\r
+                               s.setVisible(true);\r
+\r
+                       }\r
+               });\r
+\r
+       }\r
+}\r