More Fuel work
authorBill Kuker <bkuker@billkuker.com>
Sun, 21 Nov 2010 18:09:14 +0000 (18:09 +0000)
committerBill Kuker <bkuker@billkuker.com>
Sun, 21 Nov 2010 18:09:14 +0000 (18:09 +0000)
gui/com/billkuker/rocketry/motorsim/visual/workbench/MotorEditor.java
gui/com/billkuker/rocketry/motorsim/visual/workbench/MotorWorkbench.java

index 2dd251a3dd8cea55a8b7e184b03517cf90fb5d10..486a64485de6b05b407af8d968bd0898952a1004 100644 (file)
@@ -12,7 +12,6 @@ import java.awt.event.FocusListener;
 import java.beans.PropertyChangeEvent;\r
 import java.beans.PropertyChangeListener;\r
 import java.beans.PropertyVetoException;\r
-import java.util.Collection;\r
 import java.util.List;\r
 import java.util.Vector;\r
 \r
@@ -47,6 +46,7 @@ import com.billkuker.rocketry.motorsim.Motor;
 import com.billkuker.rocketry.motorsim.Nozzle;\r
 import com.billkuker.rocketry.motorsim.cases.Schedule40;\r
 import com.billkuker.rocketry.motorsim.cases.Schedule80;\r
+import com.billkuker.rocketry.motorsim.fuel.FuelResolver;\r
 import com.billkuker.rocketry.motorsim.fuel.KNDX;\r
 import com.billkuker.rocketry.motorsim.fuel.KNSU;\r
 import com.billkuker.rocketry.motorsim.grain.CSlot;\r
@@ -64,7 +64,7 @@ import com.billkuker.rocketry.motorsim.visual.GrainPanel;
 import com.billkuker.rocketry.motorsim.visual.HardwarePanel;\r
 import com.billkuker.rocketry.motorsim.visual.SummaryPanel;\r
 \r
-public class MotorEditor extends JPanel implements PropertyChangeListener {\r
+public class MotorEditor extends JPanel implements PropertyChangeListener, FuelResolver.FuelsChangeListener{\r
        private static final long serialVersionUID = 1L;\r
        private static Logger log = Logger.getLogger(MotorEditor.class);\r
        Motor motor;\r
@@ -78,8 +78,21 @@ public class MotorEditor extends JPanel implements PropertyChangeListener {
        private Vector<BurnWatcher> burnWatchers = new Vector<BurnWatcher>();\r
        private DefaultComboBoxModel availableFuels = new DefaultComboBoxModel();\r
        \r
-       public void addFuel(Fuel f){\r
-               availableFuels.addElement(f);\r
+       public MotorEditor(Motor m) {\r
+               setLayout( new BorderLayout());\r
+               tabs = new JTabbedPane(JTabbedPane.TOP);\r
+               add(tabs, BorderLayout.CENTER);\r
+               setMotor(m);\r
+               fuelsChanged();\r
+       }\r
+\r
+       @Override\r
+       public void fuelsChanged() {\r
+               availableFuels.removeAllElements();\r
+               availableFuels.addElement(motor.getFuel());\r
+               for ( Fuel f : FuelResolver.getFuelMap().values() ){\r
+                       availableFuels.addElement(f);\r
+               }\r
        }\r
 \r
        //private static final int XML_TAB = 0;\r
@@ -424,16 +437,7 @@ public class MotorEditor extends JPanel implements PropertyChangeListener {
        }\r
 \r
 \r
-       public MotorEditor(Motor m, Collection<Fuel> fuels) {\r
-               \r
-               setLayout( new BorderLayout());\r
-               tabs = new JTabbedPane(JTabbedPane.TOP);\r
-               add(tabs, BorderLayout.CENTER);\r
 \r
-               for ( Fuel f : fuels )\r
-                       addFuel(f);\r
-               setMotor(m);\r
-       }\r
 \r
        public Motor getMotor() {\r
                return motor;\r
@@ -528,4 +532,5 @@ public class MotorEditor extends JPanel implements PropertyChangeListener {
                }\r
        }\r
 \r
+\r
 }\r
index 328e64d68900e3ed896d99e9501f8264b2a19bd6..433507be88d331f6d07abc82c06df0b46b3ef670 100644 (file)
@@ -23,10 +23,8 @@ import javax.swing.JTabbedPane;
 import javax.swing.WindowConstants;\r
 \r
 import com.billkuker.rocketry.motorsim.Burn;\r
-import com.billkuker.rocketry.motorsim.Fuel;\r
 import com.billkuker.rocketry.motorsim.Motor;\r
 import com.billkuker.rocketry.motorsim.RocketScience.UnitPreference;\r
-import com.billkuker.rocketry.motorsim.fuel.FuelResolver;\r
 import com.billkuker.rocketry.motorsim.fuel.FuelsEditor;\r
 import com.billkuker.rocketry.motorsim.io.ENGExporter;\r
 import com.billkuker.rocketry.motorsim.io.MotorIO;\r
@@ -75,10 +73,6 @@ public class MotorWorkbench extends JFrame {
                motors = new JTabbedPane();\r
                \r
                top.add(motors, BorderLayout.CENTER);\r
-               \r
-               for ( Fuel f : FuelResolver.getFuelMap().values() ){\r
-                       addFuel(f);\r
-               }\r
 \r
                setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);\r
                setVisible(true);\r
@@ -298,11 +292,7 @@ public class MotorWorkbench extends JFrame {
                        }\r
                });\r
        }\r
-       \r
-       private void addFuel(Fuel f){\r
-               for ( MotorEditor e : m2e.values() )\r
-                       e.addFuel(f);\r
-       }\r
+\r
        \r
 \r
        private void save(Motor m, File f) {\r
@@ -316,7 +306,7 @@ public class MotorWorkbench extends JFrame {
        }\r
 \r
        public void addMotor(Motor m, File f) {\r
-               MotorEditor e = new MotorEditor(m, FuelResolver.getFuelMap().values());\r
+               MotorEditor e = new MotorEditor(m);\r
                e.addBurnWatcher(mb);\r
                String title;\r
                if (f == null) {\r