private MotorConfig motorConfigPane = null;
private DoubleModel maxLength;
- private JComboBox presetComboBox;
- private PresetModel presetModel;
private static final Translator trans = Application.getTranslator();
public BodyTubeConfig(OpenRocketDocument d, RocketComponent c) {
- //// Body tube template
- // FIXME: Move to proper location
- panel.add(new JLabel(trans.get("PresetModel.lbl.select")));
- presetModel = new PresetModel( this, component);
- ((ComponentPresetDatabase)Application.getComponentPresetDao()).addDatabaseListener(presetModel);
- presetComboBox = new JComboBox(presetModel);
- presetComboBox.setEditable(false);
- panel.add(presetComboBox, "wrap para");
-
//// Body tube length
panel.add(new JLabel(trans.get("BodyTubecfg.lbl.Bodytubelength")));
motorConfigPane.updateFields();
}
- @Override
- public void invalidateModels() {
- super.invalidateModels();
- ((ComponentPresetDatabase)Application.getComponentPresetDao()).removeChangeListener(presetModel);
- }
-
-
}
private DescriptionArea description;
- private JComboBox presetComboBox;
- private PresetModel presetModel;
-
private JLabel shapeLabel;
private JSpinner shapeSpinner;
private JSlider shapeSlider;
DoubleModel m;
JPanel panel = new JPanel(new MigLayout("", "[][65lp::][30lp::]"));
-
- // FIXME: Move to proper location
- panel.add(new JLabel(trans.get("PresetModel.lbl.select")));
- presetModel = new PresetModel( this, component);
- ((ComponentPresetDatabase)Application.getComponentPresetDao()).addDatabaseListener(presetModel);
- presetComboBox = new JComboBox(presetModel);
- presetComboBox.setEditable(false);
- panel.add(presetComboBox, "wrap para");
-
-
//// Shape selection
//// Nose cone shape:
panel.add(new JLabel(trans.get("NoseConeCfg.lbl.Noseconeshape")));
import javax.swing.JTextField;
import net.miginfocom.swing.MigLayout;
+import net.sf.openrocket.database.ComponentPresetDatabase;
import net.sf.openrocket.document.OpenRocketDocument;
import net.sf.openrocket.gui.SpinnerEditor;
import net.sf.openrocket.gui.adaptors.BooleanModel;
import net.sf.openrocket.gui.adaptors.DoubleModel;
import net.sf.openrocket.gui.adaptors.EnumModel;
import net.sf.openrocket.gui.adaptors.MaterialModel;
+import net.sf.openrocket.gui.adaptors.PresetModel;
import net.sf.openrocket.gui.components.BasicSlider;
import net.sf.openrocket.gui.components.ColorIcon;
import net.sf.openrocket.gui.components.StyledLabel;
private final List<Invalidatable> invalidatables = new ArrayList<Invalidatable>();
-
+ private JComboBox presetComboBox;
+ private PresetModel presetModel;
+
protected final JTextField componentNameField;
protected JTextArea commentTextArea;
private final TextFieldListener textFieldListener;
protected JPanel materialPanel(JPanel panel, Material.Type type,
String materialString, String finishString) {
+
+ if ( component.getPresetType() != null ) {
+ //// Body tube template
+ // FIXME: Move to proper location
+ panel.add(new JLabel(trans.get("PresetModel.lbl.select")));
+ presetModel = new PresetModel( this, component);
+ ((ComponentPresetDatabase)Application.getComponentPresetDao()).addDatabaseListener(presetModel);
+ presetComboBox = new JComboBox(presetModel);
+ presetComboBox.setEditable(false);
+ panel.add(presetComboBox, "wrap para");
+ }
+
JLabel label = new JLabel(materialString);
//// The component material affects the weight of the component.
label.setToolTipText(trans.get("RocketCompCfg.lbl.ttip.componentmaterialaffects"));
for (Invalidatable i : invalidatables) {
i.invalidate();
}
+ ((ComponentPresetDatabase)Application.getComponentPresetDao()).removeChangeListener(presetModel);
+
}
}
\ No newline at end of file