Add traversal policy for shock cord config

This commit is contained in:
Remington Holder 2022-08-15 21:14:13 -04:00
parent 6198eaa8fd
commit 3171809ae4

View File

@ -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<AxialMethod> methodModel = new EnumModel<AxialMethod>(component, "AxialMethod", AxialMethod.axialOffsetMethods );
final JComboBox<AxialMethod> combo = new JComboBox<AxialMethod>( 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;
}