Stop processing a burn on motor close
[sw/motorsim] / gui / com / billkuker / rocketry / motorsim / visual / workbench / MotorEditor.java
index 9264cf209fcadcda0113524b08c2ac9c116b63c8..c71e2fdbdcc6074d22749fc55161c97164963744 100644 (file)
@@ -58,6 +58,7 @@ import com.billkuker.rocketry.motorsim.grain.Moonburner;
 import com.billkuker.rocketry.motorsim.grain.MultiGrain;\r
 import com.billkuker.rocketry.motorsim.grain.MultiPort;\r
 import com.billkuker.rocketry.motorsim.grain.RodAndTubeGrain;\r
+import com.billkuker.rocketry.motorsim.grain.Square;\r
 import com.billkuker.rocketry.motorsim.grain.Star;\r
 import com.billkuker.rocketry.motorsim.visual.BurnPanel;\r
 import com.billkuker.rocketry.motorsim.visual.ClassChooser;\r
@@ -76,6 +77,7 @@ public class MotorEditor extends JPanel implements PropertyChangeListener, FuelR
        SummaryPanel sp;\r
        JTextArea error;\r
        JTabbedPane tabs;\r
+       boolean closed = false;\r
 \r
        private Vector<BurnWatcher> burnWatchers = new Vector<BurnWatcher>();\r
        private DefaultComboBoxModel availableFuels = new DefaultComboBoxModel();\r
@@ -120,6 +122,7 @@ public class MotorEditor extends JPanel implements PropertyChangeListener, FuelR
                grainTypes.add(CSlot.class);\r
                grainTypes.add(EndBurner.class);\r
                grainTypes.add(MultiPort.class);\r
+               grainTypes.add(Square.class);\r
        }\r
        \r
        private List<Class<? extends Chamber>> chamberTypes = new Vector<Class<? extends Chamber>>();\r
@@ -169,6 +172,11 @@ public class MotorEditor extends JPanel implements PropertyChangeListener, FuelR
                                                                        @Override\r
                                                                        public void setProgress(float f) {\r
                                                                                if ( currentThread != me ){\r
+                                                                                       log.info("Cancel burn on change");\r
+                                                                                       throw new BurnCanceled();\r
+                                                                               }\r
+                                                                               if ( closed ){\r
+                                                                                       log.info("Cancel burn on close");\r
                                                                                        throw new BurnCanceled();\r
                                                                                }\r
                                                                        }\r
@@ -378,7 +386,7 @@ public class MotorEditor extends JPanel implements PropertyChangeListener, FuelR
                                                @Override\r
                                                public void actionPerformed(ActionEvent e) {\r
                                                        motor.setFuel((Fuel)getSelectedItem());\r
-                                                       System.out.println("FUEL CHANGED");\r
+                                                       log.debug("FUEL CHANGED");\r
                                                }});\r
                                }\r
                        });\r