Add traversal policy for tube fin set config

This commit is contained in:
Remington Holder 2022-08-15 22:39:51 -04:00
parent fd43c73ad4
commit 1acbc326f4

View File

@ -14,6 +14,7 @@ import javax.swing.JSpinner;
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.adaptors.IntegerModel;
@ -46,6 +47,7 @@ public class TubeFinSetConfig extends RocketComponentConfig {
JSpinner spin = new JSpinner(im.getSpinnerModel());
spin.setEditor(new SpinnerEditor(spin));
panel.add(spin, "growx, wrap");
order.add(((SpinnerEditor) spin.getEditor()).getTextField());
//// Length:
panel.add(new JLabel(trans.get("TubeFinSetCfg.lbl.Length")));
@ -56,6 +58,7 @@ public class TubeFinSetConfig extends RocketComponentConfig {
spin.setEditor(new SpinnerEditor(spin));
focusElement = 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.02, 0.1)), "w 100lp, wrap para");
@ -70,6 +73,7 @@ public class TubeFinSetConfig extends RocketComponentConfig {
spin = new JSpinner(od.getSpinnerModel());
spin.setEditor(new SpinnerEditor(spin));
panel.add(spin, "growx");
order.add(((SpinnerEditor) spin.getEditor()).getTextField());
panel.add(new UnitSelector(od), "growx");
panel.add(new BasicSlider(od.getSliderModel(0, 0.04, 0.2)), "w 100lp, wrap rel");
@ -78,6 +82,7 @@ public class TubeFinSetConfig extends RocketComponentConfig {
//// Automatic
check.setText(trans.get("TubeFinSetCfg.checkbox.Automatic"));
panel.add(check, "skip, span 2, wrap");
order.add(check);
//// Inner diameter:
panel.add(new JLabel(trans.get("TubeFinSetCfg.lbl.Innerdiam")));
@ -89,6 +94,7 @@ public class TubeFinSetConfig 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(new DoubleModel(0), od)), "w 100lp, wrap rel");
@ -103,6 +109,7 @@ public class TubeFinSetConfig 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, 0.01)), "w 100lp, wrap 20lp");
@ -120,6 +127,7 @@ public class TubeFinSetConfig 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");
@ -133,6 +141,7 @@ public class TubeFinSetConfig extends RocketComponentConfig {
final EnumModel<AxialMethod> axialMethodModel = new EnumModel<AxialMethod>(component, "AxialMethod", AxialMethod.axialOffsetMethods );
final JComboBox<AxialMethod> axialMethodCombo = new JComboBox<AxialMethod>( axialMethodModel );
panel.add(axialMethodCombo, "spanx, growx, wrap");
order.add(axialMethodCombo);
//// plus
panel.add(new JLabel(trans.get("LaunchLugCfg.lbl.plus")), "right");
@ -141,6 +150,7 @@ public class TubeFinSetConfig extends RocketComponentConfig {
spin = new JSpinner(axialOffsetModel.getSpinnerModel());
spin.setEditor(new SpinnerEditor(spin));
panel.add(spin, "growx");
order.add(((SpinnerEditor) spin.getEditor()).getTextField());
axialMethodCombo.addActionListener(new ActionListener() {
@Override
@ -167,6 +177,11 @@ public class TubeFinSetConfig extends RocketComponentConfig {
tabbedPane.insertTab(trans.get("LaunchLugCfg.tab.General"), null, primary,
trans.get("LaunchLugCfg.tab.Generalprop"), 0);
tabbedPane.setSelectedIndex(0);
// Apply the custom focus travel policy to this config dialog
CustomFocusTraversalPolicy policy = new CustomFocusTraversalPolicy(order);
parent.setFocusTraversalPolicy(policy);
}
@Override