diff --git a/core/src/net/sf/openrocket/gui/simulation/SimulationEditDialog.java b/core/src/net/sf/openrocket/gui/simulation/SimulationEditDialog.java index 9e16e1a02..0e57dd01c 100644 --- a/core/src/net/sf/openrocket/gui/simulation/SimulationEditDialog.java +++ b/core/src/net/sf/openrocket/gui/simulation/SimulationEditDialog.java @@ -42,6 +42,28 @@ public class SimulationEditDialog extends JDialog { private final static String EDITMODE = "EDIT"; private final static String PLOTMODE = "PLOT"; + public SimulationEditDialog(Window parent, final OpenRocketDocument document, Simulation... sims) { + //// Edit simulation + super(parent, trans.get("simedtdlg.title.Editsim"), JDialog.ModalityType.DOCUMENT_MODAL); + this.document = document; + this.parentWindow = parent; + this.simulation = sims; + this.conditions = simulation[0].getOptions(); + configuration = simulation[0].getConfiguration(); + + this.cards = new JPanel(new CardLayout()); + this.add(cards); + buildEditCard(); + buildPlotCard(); + + this.validate(); + this.pack(); + + this.setLocationByPlatform(true); + + GUIUtil.setDisposableDialogOptions(this, null); + } + private boolean isSingleEdit() { return simulation.length == 1; } @@ -65,138 +87,141 @@ public class SimulationEditDialog extends JDialog { cards.validate(); } - public SimulationEditDialog(Window parent, OpenRocketDocument document, Simulation... sims) { - //// Edit simulation - super(parent, trans.get("simedtdlg.title.Editsim"), JDialog.ModalityType.DOCUMENT_MODAL); - this.document = document; - this.parentWindow = parent; - this.simulation = sims; - this.conditions = simulation[0].getOptions(); - configuration = simulation[0].getConfiguration(); - - this.cards = new JPanel(new CardLayout()); - this.add(cards); - { - JPanel simEditPanel = new JPanel(new MigLayout("fill")); - - if (isSingleEdit()) { - //// Simulation name: - simEditPanel.add(new JLabel(trans.get("simedtdlg.lbl.Simname") + " "), "shrink"); - final JTextField field = new JTextField(simulation[0].getName()); - field.getDocument().addDocumentListener(new DocumentListener() { - @Override - public void changedUpdate(DocumentEvent e) { - setText(); - } - - @Override - public void insertUpdate(DocumentEvent e) { - setText(); - } - - @Override - public void removeUpdate(DocumentEvent e) { - setText(); - } - - private void setText() { - String name = field.getText(); - if (name == null || name.equals("")) - return; - //System.out.println("Setting name:" + name); - simulation[0].setName(name); - - } - }); - simEditPanel.add(field, "shrinky, growx, wrap"); - - //// Flight selector - //// Flight configuration: - JLabel label = new JLabel(trans.get("simedtdlg.lbl.Flightcfg")); - //// Select the motor configuration to use. - label.setToolTipText(trans.get("simedtdlg.lbl.ttip.Flightcfg")); - simEditPanel.add(label, "shrink"); - - JComboBox combo = new JComboBox(new FlightConfigurationModel(configuration)); - //// Select the motor configuration to use. - combo.setToolTipText(trans.get("simedtdlg.combo.ttip.Flightcfg")); - combo.addActionListener(new ActionListener() { - @Override - public void actionPerformed(ActionEvent e) { - conditions.setMotorConfigurationID(configuration.getFlightConfigurationID()); - } - }); - simEditPanel.add(combo, "split 2, shrink"); - - //// Edit button - JButton button = new JButton(trans.get("simedtdlg.but.FlightcfgEdit")); - button.addActionListener(new ActionListener() { - @Override - public void actionPerformed(ActionEvent e) { - JDialog configDialog = new FlightConfigurationDialog(SimulationEditDialog.this.document.getRocket(), SwingUtilities.windowForComponent(SimulationEditDialog.this)); - configDialog.setVisible(true); - } - }); - simEditPanel.add(button, "shrink, wrap"); + private void copyChangesToAllSims() { + if (simulation.length > 1) { + for (int i = 1; i < simulation.length; i++) { + simulation[i].getOptions().copyConditionsFrom(simulation[0].getOptions()); + simulation[i].getSimulationListeners().clear(); + simulation[i].getSimulationListeners().addAll(simulation[0].getSimulationListeners()); } - JTabbedPane tabbedPane = new JTabbedPane(); - - //// Launch conditions - tabbedPane.addTab(trans.get("simedtdlg.tab.Launchcond"), new SimulationConditionsPanel(simulation[0])); - //// Simulation options - tabbedPane.addTab(trans.get("simedtdlg.tab.Simopt"), new SimulationOptionsPanel(simulation[0])); - - tabbedPane.setSelectedIndex(0); - - simEditPanel.add(tabbedPane, "spanx, grow, wrap"); - - - //// Open Plot button - JButton button = new JButton("< 1) { - for (int i = 1; i < simulation.length; i++) { - simulation[i].getOptions().copyConditionsFrom(simulation[0].getOptions()); - simulation[i].getSimulationListeners().clear(); - simulation[i].getSimulationListeners().addAll(simulation[0].getSimulationListeners()); - } - } - } - }