Move the preset drop down into RocketComponentConfig materials section. Only display...
authorkruland2607 <kruland2607@180e2498-e6e9-4542-8430-84ac67f01cd8>
Fri, 13 Apr 2012 19:37:16 +0000 (19:37 +0000)
committerkruland2607 <kruland2607@180e2498-e6e9-4542-8430-84ac67f01cd8>
Fri, 13 Apr 2012 19:37:16 +0000 (19:37 +0000)
git-svn-id: https://openrocket.svn.sourceforge.net/svnroot/openrocket/trunk@556 180e2498-e6e9-4542-8430-84ac67f01cd8

core/src/net/sf/openrocket/gui/configdialog/BodyTubeConfig.java
core/src/net/sf/openrocket/gui/configdialog/NoseConeConfig.java
core/src/net/sf/openrocket/gui/configdialog/RocketComponentConfig.java

index 53d4049a059bf1be20b86864f90a5e26b30561ce..b6ff3bdd42bfdeb3e98b5c27b7df8f00ecd95d35 100644 (file)
@@ -27,8 +27,6 @@ public class BodyTubeConfig extends RocketComponentConfig {
 
        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) {
@@ -38,15 +36,6 @@ public class BodyTubeConfig extends RocketComponentConfig {
 
 
 
-               ////  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")));
 
@@ -136,11 +125,4 @@ public class BodyTubeConfig extends RocketComponentConfig {
                        motorConfigPane.updateFields();
        }
 
-       @Override
-       public void invalidateModels() {
-               super.invalidateModels();
-               ((ComponentPresetDatabase)Application.getComponentPresetDao()).removeChangeListener(presetModel);
-       }
-
-
 }
index 78d02f8f869d6b31a2c77373b9fa7ffe6be5cb60..b1b8d55a2d4349418ccf9079bb966c5af97ac663 100644 (file)
@@ -35,9 +35,6 @@ public class NoseConeConfig extends RocketComponentConfig {
        
        private DescriptionArea description;
        
-       private JComboBox presetComboBox;
-       private PresetModel presetModel;
-
        private JLabel shapeLabel;
        private JSpinner shapeSpinner;
        private JSlider shapeSlider;
@@ -52,16 +49,6 @@ public class NoseConeConfig extends RocketComponentConfig {
                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")));
index 2a782d1513515c3370e5d88038f30b70d80f5483..02643543cc6f4e0df9f62e91df511be9f04b70c3 100644 (file)
@@ -25,12 +25,14 @@ import javax.swing.JTextArea;
 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;
@@ -61,7 +63,9 @@ public class RocketComponentConfig extends JPanel {
        
        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;
@@ -198,6 +202,18 @@ public class RocketComponentConfig extends JPanel {
        
        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"));
@@ -636,6 +652,8 @@ public class RocketComponentConfig extends JPanel {
                for (Invalidatable i : invalidatables) {
                        i.invalidate();
                }
+               ((ComponentPresetDatabase)Application.getComponentPresetDao()).removeChangeListener(presetModel);
+
        }
        
 }
\ No newline at end of file