package net.sf.openrocket.gui.dialogs.preferences; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JCheckBox; import javax.swing.JComboBox; import javax.swing.JLabel; import javax.swing.JSpinner; import net.miginfocom.swing.MigLayout; import net.sf.openrocket.gui.SpinnerEditor; import net.sf.openrocket.gui.adaptors.DoubleModel; import net.sf.openrocket.startup.Preferences; import net.sf.openrocket.unit.UnitGroup; public class DesignPreferencesPanel extends PreferencesPanel { public DesignPreferencesPanel() { super(new MigLayout("fillx, ins 30lp n n n")); // // Position to insert new body components: this.add(new JLabel(trans.get("pref.dlg.lbl.Positiontoinsert")), "gapright para"); this.add( new JComboBox<Object>(new PrefChoiceSelector( Preferences.BODY_COMPONENT_INSERT_POSITION_KEY, // // Always ask // // Insert in middle // // Add to end trans.get("pref.dlg.PrefChoiseSelector1"), trans .get("pref.dlg.PrefChoiseSelector2"), trans .get("pref.dlg.PrefChoiseSelector3"))), "wrap para, growx, sg combos"); // Font size of information in panel window this.add(new JLabel(trans.get("pref.dlg.lbl.Rocketinfofontsize")), "gapright para"); this.add( new JComboBox<Object>(new PrefChoiceSelector( Preferences.ROCKET_INFO_FONT_SIZE, // // Small // // Medium // // Large trans.get("pref.dlg.PrefFontSmall"), trans .get("pref.dlg.PrefFontMedium"), trans .get("pref.dlg.PrefFontLarge"))), "wrap para, growx, sg combos"); // // Default Mach number JLabel dfn = new JLabel(trans.get("pref.dlg.lbl.DefaultMach")); this.add(dfn, "gapright para"); dfn.setToolTipText(trans.get("pref.dlg.ttip.DefaultMach1") + trans.get("pref.dlg.ttip.DefaultMach2")); DoubleModel m = new DoubleModel(preferences, "DefaultMach", 1.0, UnitGroup.UNITS_COEFFICIENT, 0.1, 0.9); JSpinner spin = new JSpinner(m.getSpinnerModel()); spin.setEditor(new SpinnerEditor(spin)); spin.setToolTipText(trans.get("pref.dlg.ttip.DefaultMach1") + trans.get("pref.dlg.ttip.DefaultMach2")); this.add(spin, "wrap"); final JCheckBox autoOpenDesignFile = new JCheckBox( trans.get("pref.dlg.but.openlast")); autoOpenDesignFile.setSelected(preferences .isAutoOpenLastDesignOnStartupEnabled()); autoOpenDesignFile.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { preferences.setAutoOpenLastDesignOnStartup(autoOpenDesignFile .isSelected()); } }); this.add(autoOpenDesignFile, "wrap, growx, span 2"); // // Update flight estimates in the design window final JCheckBox updateEstimates = new JCheckBox( trans.get("pref.dlg.checkbox.Updateestimates")); updateEstimates.setSelected(preferences.computeFlightInBackground()); updateEstimates.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { preferences.setComputeFlightInBackground(updateEstimates .isSelected()); } }); this.add(updateEstimates, "wrap, growx, sg combos "); } }