From 83869e9ff1de2f620116d6da4b684b14948c4b8b Mon Sep 17 00:00:00 2001 From: Bill Kuker Date: Mon, 22 Nov 2010 13:47:19 +0000 Subject: [PATCH] integrate multiburnchart in motors editor --- .../motorsim/visual/MultiObjectEditor.java | 12 ++++++------ .../motorsim/visual/workbench/MotorWorkbench.java | 12 ------------ .../motorsim/visual/workbench/MotorsEditor.java | 15 +++++++++++++++ .../motorsim/visual/workbench/MultiBurnChart.java | 4 ++-- 4 files changed, 23 insertions(+), 20 deletions(-) diff --git a/gui/com/billkuker/rocketry/motorsim/visual/MultiObjectEditor.java b/gui/com/billkuker/rocketry/motorsim/visual/MultiObjectEditor.java index 28fed63..6d17dd4 100644 --- a/gui/com/billkuker/rocketry/motorsim/visual/MultiObjectEditor.java +++ b/gui/com/billkuker/rocketry/motorsim/visual/MultiObjectEditor.java @@ -53,9 +53,9 @@ public abstract class MultiObjectEditor extend this.noun = " " + noun.trim(); } - protected void objectAdded(OBJECT o){} + protected void objectAdded(OBJECT o, EDITOR e){} - protected void objectRemoved(OBJECT o){} + protected void objectRemoved(OBJECT o, EDITOR e){} protected final void addCreator(ObjectCreator c){ creators.add(c); @@ -115,7 +115,7 @@ public abstract class MultiObjectEditor extend editorToObject.remove(e); fileToEditor.remove(f); editorToFile.remove(e); - objectRemoved(o); + objectRemoved(o, e); remove(e); } @@ -177,7 +177,7 @@ public abstract class MultiObjectEditor extend fileToEditor.put(file, e); editorToFile.put(e, file); addTab(file.getName(), e); - objectAdded(o); + objectAdded(o, e); } catch (Exception e) { errorDialog(e); } @@ -279,7 +279,7 @@ public abstract class MultiObjectEditor extend editorToObject.put(e, o); addTab("new", e); dirty(o); - objectAdded(o); + objectAdded(o, e); } public final void load(final File f) throws IOException{ @@ -290,7 +290,7 @@ public abstract class MultiObjectEditor extend fileToEditor.put(f, e); editorToFile.put(e, f); addTab(f.getName(), e); - objectAdded(o); + objectAdded(o, e); } public abstract EDITOR createEditor(final OBJECT o); diff --git a/gui/com/billkuker/rocketry/motorsim/visual/workbench/MotorWorkbench.java b/gui/com/billkuker/rocketry/motorsim/visual/workbench/MotorWorkbench.java index 4b0abd3..d3a2475 100644 --- a/gui/com/billkuker/rocketry/motorsim/visual/workbench/MotorWorkbench.java +++ b/gui/com/billkuker/rocketry/motorsim/visual/workbench/MotorWorkbench.java @@ -98,18 +98,6 @@ public class MotorWorkbench extends JFrame { add(new JMenu("View") { private static final long serialVersionUID = 1L; { - add(new JMenuItem("All Motors Graph") { - private static final long serialVersionUID = 1L; - { - addActionListener(new ActionListener() { - @Override - public void actionPerformed(ActionEvent arg0) { - allBurns.setVisible(true); - allBurns.toFront(); - } - }); - } - }); add(new JMenuItem("Fuel Editor") { private static final long serialVersionUID = 1L; { diff --git a/gui/com/billkuker/rocketry/motorsim/visual/workbench/MotorsEditor.java b/gui/com/billkuker/rocketry/motorsim/visual/workbench/MotorsEditor.java index 48a469a..f0b2c24 100644 --- a/gui/com/billkuker/rocketry/motorsim/visual/workbench/MotorsEditor.java +++ b/gui/com/billkuker/rocketry/motorsim/visual/workbench/MotorsEditor.java @@ -22,9 +22,14 @@ import com.billkuker.rocketry.motorsim.visual.MultiObjectEditor; public class MotorsEditor extends MultiObjectEditor { private static final long serialVersionUID = 1L; + + MultiBurnChart mbc = new MultiBurnChart(); public MotorsEditor(JFrame f) { super(f, "Motor"); + + addTab("Thrust Graphs", mbc); + addCreator(new ObjectCreator() { @Override public Motor newObject() { @@ -37,6 +42,16 @@ public class MotorsEditor extends MultiObjectEditor { } }); } + + @Override + protected void objectAdded(Motor m, MotorEditor e){ + e.addBurnWatcher(mbc); + } + + @Override + protected void objectRemoved(Motor m, MotorEditor e){ + mbc.removeBurn(e.burn); + } @Override public MotorEditor createEditor(Motor o) { diff --git a/gui/com/billkuker/rocketry/motorsim/visual/workbench/MultiBurnChart.java b/gui/com/billkuker/rocketry/motorsim/visual/workbench/MultiBurnChart.java index 6738e94..2234029 100644 --- a/gui/com/billkuker/rocketry/motorsim/visual/workbench/MultiBurnChart.java +++ b/gui/com/billkuker/rocketry/motorsim/visual/workbench/MultiBurnChart.java @@ -36,8 +36,8 @@ public class MultiBurnChart extends JPanel implements BurnWatcher { .getPreferredUnit(SI.NEWTON); JFreeChart chart = ChartFactory.createXYLineChart( "", // Title - time.toString(), // x-axis Label - force.toString(), // y-axis Label + "Time (" + time.toString() + ")", // x-axis Label + "Thrust (" + force.toString() + ")", // y-axis Label dataset, PlotOrientation.VERTICAL, // Plot Orientation true, // Show Legend true, // Use tool tips -- 2.30.2