create changelog entry
[debian/openrocket] / core / src / net / sf / openrocket / gui / configdialog / StageConfig.java
1 package net.sf.openrocket.gui.configdialog;
2
3 import javax.swing.JComboBox;
4 import javax.swing.JLabel;
5 import javax.swing.JPanel;
6 import javax.swing.JSpinner;
7
8 import net.miginfocom.swing.MigLayout;
9 import net.sf.openrocket.document.OpenRocketDocument;
10 import net.sf.openrocket.gui.SpinnerEditor;
11 import net.sf.openrocket.gui.adaptors.DoubleModel;
12 import net.sf.openrocket.gui.adaptors.EnumModel;
13 import net.sf.openrocket.gui.components.StyledLabel;
14 import net.sf.openrocket.gui.components.StyledLabel.Style;
15 import net.sf.openrocket.l10n.Translator;
16 import net.sf.openrocket.rocketcomponent.RocketComponent;
17 import net.sf.openrocket.rocketcomponent.Stage;
18 import net.sf.openrocket.rocketcomponent.Stage.SeparationEvent;
19 import net.sf.openrocket.startup.Application;
20
21 public class StageConfig extends RocketComponentConfig {
22         private static final Translator trans = Application.getTranslator();
23         
24         public StageConfig(OpenRocketDocument document, RocketComponent component) {
25                 super(document, component);
26                 
27                 // Stage separation config (for non-first stage)
28                 if (component.getStageNumber() > 0) {
29                         JPanel tab = separationTab((Stage) component);
30                         tabbedPane.insertTab(trans.get("tab.Separation"), null, tab,
31                                         trans.get("tab.Separation.ttip"), 1);
32                 }
33                 
34         }
35         
36         
37         private JPanel separationTab(Stage stage) {
38                 JPanel panel = new JPanel(new MigLayout("fill"));
39                 
40                 // Select separation event
41                 panel.add(new StyledLabel(trans.get("separation.lbl.title"), Style.BOLD), "spanx, wrap rel");
42                 
43                 JComboBox combo = new JComboBox(new EnumModel<SeparationEvent>(stage, "SeparationEvent"));
44                 panel.add(combo, "");
45                 
46                 // ... and delay
47                 panel.add(new JLabel(trans.get("separation.lbl.plus")), "");
48                 
49                 DoubleModel dm = new DoubleModel(stage, "SeparationDelay", 0);
50                 JSpinner spin = new JSpinner(dm.getSpinnerModel());
51                 spin.setEditor(new SpinnerEditor(spin));
52                 panel.add(spin, "");
53                 
54                 //// seconds
55                 panel.add(new JLabel(trans.get("separation.lbl.seconds")), "wrap unrel");
56                 
57                 return panel;
58         }
59         
60 }