From: Bill Kuker Date: Fri, 5 Nov 2010 14:46:49 +0000 (+0000) Subject: Made editors have their own list of fuels X-Git-Url: https://git.gag.com/?a=commitdiff_plain;h=34b41474f2182fdbe4eed06b6802db1797c762a8;p=sw%2Fmotorsim Made editors have their own list of fuels --- diff --git a/gui/com/billkuker/rocketry/motorsim/visual/workbench/MotorEditor.java b/gui/com/billkuker/rocketry/motorsim/visual/workbench/MotorEditor.java index 988ad6c..b71748c 100644 --- a/gui/com/billkuker/rocketry/motorsim/visual/workbench/MotorEditor.java +++ b/gui/com/billkuker/rocketry/motorsim/visual/workbench/MotorEditor.java @@ -10,6 +10,7 @@ import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.beans.PropertyVetoException; import java.io.IOException; +import java.util.Collection; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -19,7 +20,7 @@ import javax.measure.quantity.Length; import javax.measure.unit.SI; import javax.swing.Box; import javax.swing.BoxLayout; -import javax.swing.ComboBoxModel; +import javax.swing.DefaultComboBoxModel; import javax.swing.JButton; import javax.swing.JComboBox; import javax.swing.JFrame; @@ -74,7 +75,11 @@ public class MotorEditor extends JTabbedPane implements PropertyChangeListener { Burn burn; private Vector burnWatchers = new Vector(); - private ComboBoxModel availableFuels; + private DefaultComboBoxModel availableFuels = new DefaultComboBoxModel(); + + public void addFuel(Fuel f){ + availableFuels.addElement(f); + } //private static final int XML_TAB = 0; private static final int CASING_TAB = 0; @@ -332,9 +337,10 @@ public class MotorEditor extends JTabbedPane implements PropertyChangeListener { } - public MotorEditor(Motor m, ComboBoxModel fuels) { + public MotorEditor(Motor m, Collection fuels) { super(JTabbedPane.BOTTOM); - this.availableFuels = fuels; + for ( Fuel f : fuels ) + addFuel(f); text.setName("XML"); text.setEditable(false); //add(text, XML_TAB); diff --git a/gui/com/billkuker/rocketry/motorsim/visual/workbench/MotorWorkbench.java b/gui/com/billkuker/rocketry/motorsim/visual/workbench/MotorWorkbench.java index 0abe084..894f599 100644 --- a/gui/com/billkuker/rocketry/motorsim/visual/workbench/MotorWorkbench.java +++ b/gui/com/billkuker/rocketry/motorsim/visual/workbench/MotorWorkbench.java @@ -9,11 +9,9 @@ import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.io.File; import java.util.HashMap; -import java.util.List; import java.util.Vector; import javax.swing.ButtonGroup; -import javax.swing.DefaultComboBoxModel; import javax.swing.JFrame; import javax.swing.JMenu; import javax.swing.JMenuBar; @@ -37,10 +35,7 @@ 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.KNDX; -import com.billkuker.rocketry.motorsim.fuel.KNER; -import com.billkuker.rocketry.motorsim.fuel.KNSB; -import com.billkuker.rocketry.motorsim.fuel.KNSU; +import com.billkuker.rocketry.motorsim.fuel.FuelResolver; import com.billkuker.rocketry.motorsim.io.ENGExporter; import com.billkuker.rocketry.motorsim.io.MotorIO; import com.billkuker.rocketry.motorsim.visual.FuelPanel; @@ -50,14 +45,6 @@ import com.billkuker.rocketry.motorsim.visual.workbench.WorkbenchTreeModel.FuelN public class MotorWorkbench extends JFrame implements TreeSelectionListener { private static final long serialVersionUID = 1L; - private List> fuelTypes = new Vector>(); - { - fuelTypes.add(KNSB.class); - fuelTypes.add(KNSU.class); - fuelTypes.add(KNER.class); - fuelTypes.add(KNDX.class); - } - private JPanel top; private JSplitPane split; private JTree tree; @@ -70,8 +57,7 @@ public class MotorWorkbench extends JFrame implements TreeSelectionListener { private HashMap f2e = new HashMap(); private HashMap m2e = new HashMap(); - - private DefaultComboBoxModel fuels = new DefaultComboBoxModel(); + public MotorWorkbench() { setTitle("MotorSim 1.0 RC1"); @@ -107,16 +93,8 @@ public class MotorWorkbench extends JFrame implements TreeSelectionListener { top.add(split, BorderLayout.CENTER); - for ( Class f : fuelTypes){ - try { - addFuel(f.newInstance()); - } catch (InstantiationException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } catch (IllegalAccessException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } + for ( Fuel f : FuelResolver.getFuelMap().values() ){ + addFuel(f); } setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); @@ -344,8 +322,8 @@ public class MotorWorkbench extends JFrame implements TreeSelectionListener { } private void addFuel(Fuel f){ - - fuels.addElement(f); + for ( MotorEditor e : m2e.values() ) + e.addFuel(f); FuelPanel fp = new FuelPanel(f); FuelNode fn = tm.new FuelNode(fp, f); tm.getFuels().add(fn); @@ -355,7 +333,8 @@ public class MotorWorkbench extends JFrame implements TreeSelectionListener { private void newFuel(){ final SRFuelEditor ed = new SRFuelEditor(); - fuels.addElement(ed.getFuel()); + for ( MotorEditor e : m2e.values() ) + e.addFuel(ed.getFuel()); final FuelEditNode node = tm.new FuelEditNode(ed); tm.getFuels().add(node); tm.nodeStructureChanged(tm.getFuels()); @@ -384,7 +363,7 @@ public class MotorWorkbench extends JFrame implements TreeSelectionListener { public void addMotor(Motor m, File f) { tm.addMotor(m); - MotorEditor e = new MotorEditor(m, fuels); + MotorEditor e = new MotorEditor(m, FuelResolver.getFuelMap().values()); e.addBurnWatcher(mb); String title; if (f == null) {