From 3e199d779fc6d3a754cd339f7a4fc0effe1fcafc Mon Sep 17 00:00:00 2001 From: Sibo Van Gool Date: Fri, 18 Jun 2021 20:57:56 +0200 Subject: [PATCH] Fix launch lug reference, no refactoring --- .../gui/configdialog/LaunchLugConfig.java | 26 ++++++++++++------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/swing/src/net/sf/openrocket/gui/configdialog/LaunchLugConfig.java b/swing/src/net/sf/openrocket/gui/configdialog/LaunchLugConfig.java index 0711c72e6..7402580ea 100644 --- a/swing/src/net/sf/openrocket/gui/configdialog/LaunchLugConfig.java +++ b/swing/src/net/sf/openrocket/gui/configdialog/LaunchLugConfig.java @@ -20,6 +20,9 @@ import net.sf.openrocket.rocketcomponent.position.AxialMethod; import net.sf.openrocket.startup.Application; import net.sf.openrocket.unit.UnitGroup; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; + @SuppressWarnings("serial") public class LaunchLugConfig extends RocketComponentConfig { @@ -108,28 +111,33 @@ public class LaunchLugConfig extends RocketComponentConfig { // create a new panel for the right column panel = new JPanel(new MigLayout("gap rel unrel", "[][65lp::][30lp::][]", "")); - + //// Position relative to: panel.add(new JLabel(trans.get("LaunchLugCfg.lbl.Posrelativeto"))); EnumModel positionModel = new EnumModel(component, "AxialMethod", AxialMethod.axialOffsetMethods ); JComboBox positionCombo = new JComboBox( positionModel ); - panel.add( positionCombo, "spanx, growx, wrap"); + panel.add(positionCombo, "spanx, growx, wrap"); //// plus + final DoubleModel mAxOff = new DoubleModel(component, "AxialOffset", UnitGroup.UNITS_LENGTH); panel.add(new JLabel(trans.get("LaunchLugCfg.lbl.plus")), "right"); - - m = new DoubleModel(component, "AxialOffset", UnitGroup.UNITS_LENGTH); - spin = new JSpinner(m.getSpinnerModel()); + spin = new JSpinner(mAxOff.getSpinnerModel()); // Plus quantity input spin.setEditor(new SpinnerEditor(spin)); panel.add(spin, "growx"); - panel.add(new UnitSelector(m), "growx"); - panel.add(new BasicSlider(m.getSliderModel( + panel.add(new UnitSelector(mAxOff), "growx"); // Unity selection + panel.add(new BasicSlider(mAxOff.getSliderModel( // Plus quantity slider new DoubleModel(component.getParent(), "Length", -1.0, UnitGroup.UNITS_NONE), new DoubleModel(component.getParent(), "Length"))), "w 100lp, wrap para"); - - + + // Add an action listener to update the plus quantity, based on the selected reference point + positionCombo.addActionListener(new ActionListener() { + @Override + public void actionPerformed(ActionEvent e) { + mAxOff.stateChanged(e); + } + }); //// Material panel.add(materialPanel( Material.Type.BULK), "span, wrap");