More Fuel work
[sw/motorsim] / gui / com / billkuker / rocketry / motorsim / visual / workbench / MotorEditor.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