React better to fuels loading
authorBill Kuker <bkuker@billkuker.com>
Tue, 23 Nov 2010 00:06:40 +0000 (00:06 +0000)
committerBill Kuker <bkuker@billkuker.com>
Tue, 23 Nov 2010 00:06:40 +0000 (00:06 +0000)
gui/com/billkuker/rocketry/motorsim/visual/workbench/MotorEditor.java

index 2505dd73c93863ef1b71825d10f08da043033d8c..f08c4f5f370324018c9dd0703ccd71595eb14835 100644 (file)
@@ -82,16 +82,22 @@ public class MotorEditor extends JPanel implements PropertyChangeListener, FuelR
                setLayout( new BorderLayout());\r
                tabs = new JTabbedPane(JTabbedPane.TOP);\r
                add(tabs, BorderLayout.CENTER);\r
-               setMotor(m);\r
+               availableFuels.addElement(m.getFuel());\r
+               availableFuels.setSelectedItem(m.getFuel());\r
+               FuelResolver.addFuelsChangeListener(this);\r
                fuelsChanged();\r
+               setMotor(m);\r
        }\r
 \r
        @Override\r
        public void fuelsChanged() {\r
-               availableFuels.removeAllElements();\r
-               availableFuels.addElement(motor.getFuel());\r
+               while ( availableFuels.getSize() > 0 && availableFuels.getIndexOf(availableFuels.getSelectedItem()) != 0 )\r
+                       availableFuels.removeElementAt(0);\r
+               while ( availableFuels.getSize() > 1 )\r
+                       availableFuels.removeElementAt(1);\r
                for ( Fuel f : FuelResolver.getFuelMap().values() ){\r
-                       availableFuels.addElement(f);\r
+                       if ( f != availableFuels.getSelectedItem() )\r
+                               availableFuels.addElement(f);\r
                }\r
        }\r
 \r