X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2Fnet%2Fsf%2Fopenrocket%2Fgui%2Fmain%2FSimulationEditDialog.java;h=5f9e932f972f0d5197db6e8c84b7da2b7cbe8a6f;hb=e298a9509613f232227d16d28310611b33c3aa03;hp=d4774471a3aa784166dfa1b910c21312d13061cc;hpb=3300ab50b96876523862913e63fe168a0fcdb2bd;p=debian%2Fopenrocket
diff --git a/src/net/sf/openrocket/gui/main/SimulationEditDialog.java b/src/net/sf/openrocket/gui/main/SimulationEditDialog.java
index d4774471..5f9e932f 100644
--- a/src/net/sf/openrocket/gui/main/SimulationEditDialog.java
+++ b/src/net/sf/openrocket/gui/main/SimulationEditDialog.java
@@ -38,10 +38,11 @@ import net.sf.openrocket.gui.adaptors.DoubleModel;
import net.sf.openrocket.gui.adaptors.MotorConfigurationModel;
import net.sf.openrocket.gui.components.BasicSlider;
import net.sf.openrocket.gui.components.DescriptionArea;
+import net.sf.openrocket.gui.components.SimulationExportPanel;
import net.sf.openrocket.gui.components.UnitSelector;
import net.sf.openrocket.gui.plot.Axis;
import net.sf.openrocket.gui.plot.PlotConfiguration;
-import net.sf.openrocket.gui.plot.PlotPanel;
+import net.sf.openrocket.gui.plot.SimulationPlotPanel;
import net.sf.openrocket.rocketcomponent.Configuration;
import net.sf.openrocket.simulation.FlightData;
import net.sf.openrocket.simulation.FlightDataBranch;
@@ -51,6 +52,7 @@ import net.sf.openrocket.simulation.SimulationListener;
import net.sf.openrocket.simulation.listeners.CSVSaveListener;
import net.sf.openrocket.unit.Unit;
import net.sf.openrocket.unit.UnitGroup;
+import net.sf.openrocket.util.Chars;
import net.sf.openrocket.util.GUIUtil;
import net.sf.openrocket.util.Icons;
import net.sf.openrocket.util.Prefs;
@@ -126,7 +128,7 @@ public class SimulationEditDialog extends JDialog {
tabbedPane.addTab("Launch conditions", flightConditionsTab());
tabbedPane.addTab("Simulation options", simulationOptionsTab());
tabbedPane.addTab("Plot data", plotTab());
-// tabbedPane.addTab("Export data", exportTab());
+ tabbedPane.addTab("Export data", exportTab());
// Select the initial tab
if (tab == EDIT) {
@@ -173,8 +175,8 @@ public class SimulationEditDialog extends JDialog {
this.validate();
this.pack();
this.setLocationByPlatform(true);
- GUIUtil.setDefaultButton(button);
- GUIUtil.installEscapeCloseOperation(this);
+
+ GUIUtil.setDisposableDialogOptions(this, button);
}
@@ -392,7 +394,7 @@ public class SimulationEditDialog extends JDialog {
spin.setToolTipText(tip);
sub.add(spin,"w 65lp!");
- label = new JLabel("\u00b0 N");
+ label = new JLabel(Chars.DEGREE + " N");
label.setToolTipText(tip);
sub.add(label,"growx");
slider = new BasicSlider(m.getSliderModel(-90, 90));
@@ -632,6 +634,12 @@ public class SimulationEditDialog extends JDialog {
button.setToolTipText("Reset the time step to its default value (" +
UnitGroup.UNITS_SHORT_TIME.toStringUnit(RK4Simulator.RECOMMENDED_TIME_STEP) +
").");
+ button.addActionListener(new ActionListener() {
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ conditions.setTimeStep(RK4Simulator.RECOMMENDED_TIME_STEP);
+ }
+ });
// button.setToolTipText("Reset the step value to its default:
" +
// "Time step " +
@@ -650,11 +658,11 @@ public class SimulationEditDialog extends JDialog {
DescriptionArea desc = new DescriptionArea(5);
- desc.setText("
" + + desc.setText("" + "Simulation listeners is an advanced feature that allows "+ "user-written code to listen to and interact with the simulation. " + "For details on writing simulation listeners, see the OpenRocket " + - "technical documentation.
"); + "technical documentation."); sub.add(desc, "aligny 0, growx, wrap para"); @@ -744,7 +752,7 @@ public class SimulationEditDialog extends JDialog { if (true) - return new PlotPanel(simulation); + return new SimulationPlotPanel(simulation); JPanel panel = new JPanel(new MigLayout("fill")); @@ -778,19 +786,15 @@ public class SimulationEditDialog extends JDialog { * A panel for exporting the data. */ private JPanel exportTab() { + FlightData data = simulation.getSimulatedData(); // Check that data exists - if (simulation.getSimulatedData() == null || - simulation.getSimulatedData().getBranchCount() == 0) { + if (data == null || data.getBranchCount() == 0 || + data.getBranch(0).getTypes().length == 0) { return noDataPanel(); } - - JPanel panel = new JPanel(new MigLayout("fill")); - - panel.add(new JLabel("Not implemented yet.")); // TODO: HIGH: Implement export - - return panel; + return new SimulationExportPanel(simulation); } @@ -801,7 +805,7 @@ public class SimulationEditDialog extends JDialog { * Return a panel stating that there is no data available, and that the user * should run the simulation first. */ - private JPanel noDataPanel() { + public static JPanel noDataPanel() { JPanel panel = new JPanel(new MigLayout("fill")); // No data available @@ -934,8 +938,8 @@ public class SimulationEditDialog extends JDialog { dialog.setLocationByPlatform(true); dialog.pack(); - GUIUtil.installEscapeCloseOperation(dialog); - GUIUtil.setDefaultButton(button); + + GUIUtil.setDisposableDialogOptions(dialog, button); dialog.setVisible(true); }