From ee21c7ea0c5c76e3653ec518d8ffaeb3f8d0d595 Mon Sep 17 00:00:00 2001 From: Daniel_M_Williams Date: Thu, 25 Jun 2015 17:34:25 -0400 Subject: [PATCH] parallel stage config: bugfixes and text correction. RelativeTo option still NYI --- .../gui/configdialog/StageConfig.java | 35 ++++++++++--------- 1 file changed, 19 insertions(+), 16 deletions(-) diff --git a/swing/src/net/sf/openrocket/gui/configdialog/StageConfig.java b/swing/src/net/sf/openrocket/gui/configdialog/StageConfig.java index 38058a789..feb57a534 100644 --- a/swing/src/net/sf/openrocket/gui/configdialog/StageConfig.java +++ b/swing/src/net/sf/openrocket/gui/configdialog/StageConfig.java @@ -2,8 +2,10 @@ package net.sf.openrocket.gui.configdialog; import java.awt.Component; import java.awt.Container; +import java.util.List; import javax.swing.ComboBoxModel; +import javax.swing.DefaultComboBoxModel; import javax.swing.JCheckBox; import javax.swing.JComboBox; import javax.swing.JLabel; @@ -121,7 +123,7 @@ public class StageConfig extends RocketComponentConfig { // setPositions relative to parent component JLabel positionLabel = new JLabel(trans.get("LaunchLugCfg.lbl.Posrelativeto")); motherPanel.add( positionLabel); - parallelEnabledModel.addEnableComponent( positionLabel); + parallelEnabledModel.addEnableComponent( positionLabel, true); // EnumModel(ChangeSource source, String valueName, Enum[] values) { ComboBoxModel posRelModel = new EnumModel(component, "RelativePosition", @@ -131,34 +133,35 @@ public class StageConfig extends RocketComponentConfig { RocketComponent.Position.BOTTOM, RocketComponent.Position.ABSOLUTE }); - JComboBox combo = new JComboBox( posRelModel ); - motherPanel.add(combo, "spanx 2, growx, wrap"); - parallelEnabledModel.addEnableComponent( positionLabel); - + JComboBox positionMethodCombo = new JComboBox( posRelModel ); + motherPanel.add(positionMethodCombo, "spanx 2, growx, wrap"); + parallelEnabledModel.addEnableComponent( positionMethodCombo, true); // setPositions relative to parent component - JLabel parentLabel = new JLabel(trans.get("RocketCompCfg.outside.componentname")); - motherPanel.add( parentLabel); - parallelEnabledModel.addEnableComponent( parentLabel); - - // setPositions relative to parent component -// ComboBoxModel componentModel = new Enj -// JComboBox relToCombo = new JComboBox( componentModel ); - JLabel relToCombo = new JLabel( stage.getParent().getName() ); + JLabel relativeStageLabel = new JLabel(trans.get("RocketCompCfg.outside.componentname")); + motherPanel.add( relativeStageLabel); + parallelEnabledModel.addEnableComponent( relativeStageLabel, true); + // may need to implement a new ComponentComboModel or something + List stageList = stage.getParent().getChildren(); + RocketComponent[] forCombo = new RocketComponent[stageList.size()]; + forCombo = stageList.toArray(forCombo); + DefaultComboBoxModel relativeStageComboModel = new DefaultComboBoxModel( forCombo ); + ComboBoxModel relativeStageCombo = relativeStageComboModel; + JComboBox relToCombo = new JComboBox( relativeStageCombo ); motherPanel.add( relToCombo , "growx, wrap"); - parallelEnabledModel.addEnableComponent( relToCombo ); + parallelEnabledModel.addEnableComponent( relToCombo, true ); // plus JLabel positionPlusLabel = new JLabel(trans.get("LaunchLugCfg.lbl.plus")); motherPanel.add( positionPlusLabel ); - parallelEnabledModel.addEnableComponent( positionPlusLabel ); + parallelEnabledModel.addEnableComponent( positionPlusLabel, true ); DoubleModel axialPositionModel = new DoubleModel(component, "AxialPosition", UnitGroup.UNITS_LENGTH); JSpinner axPosSpin= new JSpinner( axialPositionModel.getSpinnerModel()); axPosSpin.setEditor(new SpinnerEditor(axPosSpin)); motherPanel.add(axPosSpin, "growx"); - parallelEnabledModel.addEnableComponent( positionPlusLabel ); + parallelEnabledModel.addEnableComponent( axPosSpin, true ); return motherPanel; }