From 3171809ae45fd42d2a841fe06dcfec94e596419f Mon Sep 17 00:00:00 2001 From: Remington Holder Date: Mon, 15 Aug 2022 21:14:13 -0400 Subject: [PATCH] Add traversal policy for shock cord config --- .../gui/configdialog/ShockCordConfig.java | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/swing/src/net/sf/openrocket/gui/configdialog/ShockCordConfig.java b/swing/src/net/sf/openrocket/gui/configdialog/ShockCordConfig.java index c8c40d663..2c38936d4 100644 --- a/swing/src/net/sf/openrocket/gui/configdialog/ShockCordConfig.java +++ b/swing/src/net/sf/openrocket/gui/configdialog/ShockCordConfig.java @@ -6,6 +6,7 @@ import javax.swing.*; import net.miginfocom.swing.MigLayout; import net.sf.openrocket.document.OpenRocketDocument; import net.sf.openrocket.gui.SpinnerEditor; +import net.sf.openrocket.gui.adaptors.CustomFocusTraversalPolicy; import net.sf.openrocket.gui.adaptors.DoubleModel; import net.sf.openrocket.gui.adaptors.EnumModel; import net.sf.openrocket.gui.components.BasicSlider; @@ -50,6 +51,7 @@ public class ShockCordConfig extends RocketComponentConfig { spin = new JSpinner(m.getSpinnerModel()); spin.setEditor(new SpinnerEditor(spin)); panel.add(spin, "growx"); + order.add(((SpinnerEditor) spin.getEditor()).getTextField()); panel.add(new UnitSelector(m), "growx"); panel.add(new BasicSlider(m.getSliderModel(0, 1, 10)), "w 100lp, wrap"); @@ -75,6 +77,7 @@ public class ShockCordConfig extends RocketComponentConfig { final EnumModel methodModel = new EnumModel(component, "AxialMethod", AxialMethod.axialOffsetMethods ); final JComboBox combo = new JComboBox( methodModel ); panel2.add(combo, "spanx, growx, wrap"); + order.add(combo); //// plus panel2.add(new JLabel(trans.get("ShockCordCfg.lbl.plus")), "right"); @@ -84,6 +87,7 @@ public class ShockCordConfig extends RocketComponentConfig { spin.setEditor(new SpinnerEditor(spin)); focusElement = spin; panel2.add(spin, "growx"); + order.add(((SpinnerEditor) spin.getEditor()).getTextField()); panel2.add(new UnitSelector(m), "growx"); panel2.add(new BasicSlider(m.getSliderModel( @@ -101,6 +105,7 @@ public class ShockCordConfig extends RocketComponentConfig { spin = new JSpinner(m.getSpinnerModel()); spin.setEditor(new SpinnerEditor(spin)); panel2.add(spin, "growx"); + order.add(((SpinnerEditor) spin.getEditor()).getTextField()); panel2.add(new UnitSelector(m), "growx"); panel2.add(new BasicSlider(m.getSliderModel(0, 0.1, 0.5)), "w 100lp, wrap"); @@ -116,6 +121,7 @@ public class ShockCordConfig extends RocketComponentConfig { spin = new JSpinner(od.getSpinnerModel()); spin.setEditor(new SpinnerEditor(spin)); panel2.add(spin, "growx"); + order.add(((SpinnerEditor) spin.getEditor()).getTextField()); panel2.add(new UnitSelector(od), "growx"); panel2.add(new BasicSlider(od.getSliderModel(0, 0.04, 0.2)), "w 100lp, wrap"); @@ -124,6 +130,7 @@ public class ShockCordConfig extends RocketComponentConfig { JCheckBox checkAutoPackedRadius = new JCheckBox(od.getAutomaticAction()); checkAutoPackedRadius.setText(trans.get("TransitionCfg.checkbox.Automatic")); panel2.add(checkAutoPackedRadius, "skip, span 2, wrap"); + order.add(checkAutoPackedRadius); //// General and General properties tabbedPane.insertTab(trans.get("ShockCordCfg.tab.General"), null, panel, @@ -132,6 +139,10 @@ public class ShockCordConfig extends RocketComponentConfig { tabbedPane.insertTab(trans.get("ShockCordCfg.tab.Radialpos"), null, positionTab(), trans.get("ShockCordCfg.tab.ttip.Radialpos"), 1); tabbedPane.setSelectedIndex(0); + + // Apply the custom focus travel policy to this config dialog + CustomFocusTraversalPolicy policy = new CustomFocusTraversalPolicy(order); + parent.setFocusTraversalPolicy(policy); } // TODO: LOW: there is a lot of duplicate code here with other mass components... (e.g. in MassComponentConfig or ParachuteConfig) @@ -147,6 +158,7 @@ public class ShockCordConfig extends RocketComponentConfig { JSpinner spin = new JSpinner(m.getSpinnerModel()); spin.setEditor(new SpinnerEditor(spin)); panel.add(spin, "growx"); + order.add(((SpinnerEditor) spin.getEditor()).getTextField()); panel.add(new UnitSelector(m), "growx"); panel.add(new BasicSlider(m.getSliderModel(0, 0.1, 1.0)), "w 100lp, wrap"); @@ -160,6 +172,7 @@ public class ShockCordConfig extends RocketComponentConfig { spin = new JSpinner(m.getSpinnerModel()); spin.setEditor(new SpinnerEditor(spin)); panel.add(spin, "growx"); + order.add(((SpinnerEditor) spin.getEditor()).getTextField()); panel.add(new UnitSelector(m), "growx"); panel.add(new BasicSlider(m.getSliderModel(-Math.PI, Math.PI)), "w 100lp, wrap"); @@ -175,6 +188,11 @@ public class ShockCordConfig extends RocketComponentConfig { } }); panel.add(button, "spanx, right"); + order.add(button); + + // Apply the custom focus travel policy to this panel + CustomFocusTraversalPolicy policy = new CustomFocusTraversalPolicy(order); + parent.setFocusTraversalPolicy(policy); return panel; }