From: Bill Kuker Date: Sun, 21 Nov 2010 18:09:14 +0000 (+0000) Subject: More Fuel work X-Git-Url: https://git.gag.com/?a=commitdiff_plain;h=c93cb87c9e36e448bcfae574281d206683756d39;p=sw%2Fmotorsim More Fuel work --- diff --git a/gui/com/billkuker/rocketry/motorsim/visual/workbench/MotorEditor.java b/gui/com/billkuker/rocketry/motorsim/visual/workbench/MotorEditor.java index 2dd251a..486a644 100644 --- a/gui/com/billkuker/rocketry/motorsim/visual/workbench/MotorEditor.java +++ b/gui/com/billkuker/rocketry/motorsim/visual/workbench/MotorEditor.java @@ -12,7 +12,6 @@ import java.awt.event.FocusListener; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.beans.PropertyVetoException; -import java.util.Collection; import java.util.List; import java.util.Vector; @@ -47,6 +46,7 @@ import com.billkuker.rocketry.motorsim.Motor; import com.billkuker.rocketry.motorsim.Nozzle; import com.billkuker.rocketry.motorsim.cases.Schedule40; import com.billkuker.rocketry.motorsim.cases.Schedule80; +import com.billkuker.rocketry.motorsim.fuel.FuelResolver; import com.billkuker.rocketry.motorsim.fuel.KNDX; import com.billkuker.rocketry.motorsim.fuel.KNSU; import com.billkuker.rocketry.motorsim.grain.CSlot; @@ -64,7 +64,7 @@ import com.billkuker.rocketry.motorsim.visual.GrainPanel; import com.billkuker.rocketry.motorsim.visual.HardwarePanel; import com.billkuker.rocketry.motorsim.visual.SummaryPanel; -public class MotorEditor extends JPanel implements PropertyChangeListener { +public class MotorEditor extends JPanel implements PropertyChangeListener, FuelResolver.FuelsChangeListener{ private static final long serialVersionUID = 1L; private static Logger log = Logger.getLogger(MotorEditor.class); Motor motor; @@ -78,8 +78,21 @@ public class MotorEditor extends JPanel implements PropertyChangeListener { private Vector burnWatchers = new Vector(); private DefaultComboBoxModel availableFuels = new DefaultComboBoxModel(); - public void addFuel(Fuel f){ - availableFuels.addElement(f); + public MotorEditor(Motor m) { + setLayout( new BorderLayout()); + tabs = new JTabbedPane(JTabbedPane.TOP); + add(tabs, BorderLayout.CENTER); + setMotor(m); + fuelsChanged(); + } + + @Override + public void fuelsChanged() { + availableFuels.removeAllElements(); + availableFuels.addElement(motor.getFuel()); + for ( Fuel f : FuelResolver.getFuelMap().values() ){ + availableFuels.addElement(f); + } } //private static final int XML_TAB = 0; @@ -424,16 +437,7 @@ public class MotorEditor extends JPanel implements PropertyChangeListener { } - public MotorEditor(Motor m, Collection fuels) { - - setLayout( new BorderLayout()); - tabs = new JTabbedPane(JTabbedPane.TOP); - add(tabs, BorderLayout.CENTER); - for ( Fuel f : fuels ) - addFuel(f); - setMotor(m); - } public Motor getMotor() { return motor; @@ -528,4 +532,5 @@ public class MotorEditor extends JPanel implements PropertyChangeListener { } } + } diff --git a/gui/com/billkuker/rocketry/motorsim/visual/workbench/MotorWorkbench.java b/gui/com/billkuker/rocketry/motorsim/visual/workbench/MotorWorkbench.java index 328e64d..433507b 100644 --- a/gui/com/billkuker/rocketry/motorsim/visual/workbench/MotorWorkbench.java +++ b/gui/com/billkuker/rocketry/motorsim/visual/workbench/MotorWorkbench.java @@ -23,10 +23,8 @@ import javax.swing.JTabbedPane; import javax.swing.WindowConstants; import com.billkuker.rocketry.motorsim.Burn; -import com.billkuker.rocketry.motorsim.Fuel; import com.billkuker.rocketry.motorsim.Motor; import com.billkuker.rocketry.motorsim.RocketScience.UnitPreference; -import com.billkuker.rocketry.motorsim.fuel.FuelResolver; import com.billkuker.rocketry.motorsim.fuel.FuelsEditor; import com.billkuker.rocketry.motorsim.io.ENGExporter; import com.billkuker.rocketry.motorsim.io.MotorIO; @@ -75,10 +73,6 @@ public class MotorWorkbench extends JFrame { motors = new JTabbedPane(); top.add(motors, BorderLayout.CENTER); - - for ( Fuel f : FuelResolver.getFuelMap().values() ){ - addFuel(f); - } setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); setVisible(true); @@ -298,11 +292,7 @@ public class MotorWorkbench extends JFrame { } }); } - - private void addFuel(Fuel f){ - for ( MotorEditor e : m2e.values() ) - e.addFuel(f); - } + private void save(Motor m, File f) { @@ -316,7 +306,7 @@ public class MotorWorkbench extends JFrame { } public void addMotor(Motor m, File f) { - MotorEditor e = new MotorEditor(m, FuelResolver.getFuelMap().values()); + MotorEditor e = new MotorEditor(m); e.addBurnWatcher(mb); String title; if (f == null) {