Add traversal policy for rail button config
This commit is contained in:
parent
430b448db3
commit
6198eaa8fd
@ -9,6 +9,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.components.BasicSlider;
|
||||
@ -48,6 +49,7 @@ public class RailButtonConfig extends RocketComponentConfig {
|
||||
JSpinner ODSpinner = new JSpinner( ODModel.getSpinnerModel());
|
||||
ODSpinner.setEditor(new SpinnerEditor(ODSpinner));
|
||||
panel.add(ODSpinner, "growx");
|
||||
order.add(((SpinnerEditor) ODSpinner.getEditor()).getTextField());
|
||||
panel.add(new UnitSelector(ODModel), "growx");
|
||||
panel.add(new BasicSlider(ODModel.getSliderModel(0, 0.001, 0.02)), "w 100lp, wrap");
|
||||
}
|
||||
@ -57,6 +59,7 @@ public class RailButtonConfig extends RocketComponentConfig {
|
||||
JSpinner IDSpinner = new JSpinner(IDModel.getSpinnerModel());
|
||||
IDSpinner.setEditor(new SpinnerEditor(IDSpinner));
|
||||
panel.add(IDSpinner, "growx");
|
||||
order.add(((SpinnerEditor) IDSpinner.getEditor()).getTextField());
|
||||
panel.add(new UnitSelector(IDModel), "growx");
|
||||
panel.add(new BasicSlider(IDModel.getSliderModel(0, 0.001, 0.02)), "w 100lp, wrap para");
|
||||
}
|
||||
@ -66,6 +69,7 @@ public class RailButtonConfig extends RocketComponentConfig {
|
||||
JSpinner heightSpinner = new JSpinner(heightModel.getSpinnerModel());
|
||||
heightSpinner.setEditor(new SpinnerEditor(heightSpinner));
|
||||
panel.add(heightSpinner, "growx");
|
||||
order.add(((SpinnerEditor) heightSpinner.getEditor()).getTextField());
|
||||
panel.add(new UnitSelector(heightModel), "growx");
|
||||
panel.add(new BasicSlider(heightModel.getSliderModel(0, 0.001, 0.02)), "w 100lp, wrap");
|
||||
}
|
||||
@ -75,6 +79,7 @@ public class RailButtonConfig extends RocketComponentConfig {
|
||||
JSpinner heightSpinner = new JSpinner(heightModel.getSpinnerModel());
|
||||
heightSpinner.setEditor(new SpinnerEditor(heightSpinner));
|
||||
panel.add(heightSpinner, "growx");
|
||||
order.add(((SpinnerEditor) heightSpinner.getEditor()).getTextField());
|
||||
panel.add(new UnitSelector(heightModel), "growx");
|
||||
panel.add(new BasicSlider(heightModel.getSliderModel(0, 0.001, 0.02)), "w 100lp, wrap");
|
||||
}
|
||||
@ -84,6 +89,7 @@ public class RailButtonConfig extends RocketComponentConfig {
|
||||
JSpinner heightSpinner = new JSpinner(heightModel.getSpinnerModel());
|
||||
heightSpinner.setEditor(new SpinnerEditor(heightSpinner));
|
||||
panel.add(heightSpinner, "growx");
|
||||
order.add(((SpinnerEditor) heightSpinner.getEditor()).getTextField());
|
||||
panel.add(new UnitSelector(heightModel), "growx");
|
||||
panel.add(new BasicSlider(heightModel.getSliderModel(0, 0.001, 0.02)), "w 100lp, wrap para");
|
||||
}
|
||||
@ -94,6 +100,7 @@ public class RailButtonConfig extends RocketComponentConfig {
|
||||
JSpinner angleSpinner = new JSpinner( angleModel.getSpinnerModel());
|
||||
angleSpinner.setEditor(new SpinnerEditor(angleSpinner));
|
||||
panel.add(angleSpinner, "growx");
|
||||
order.add(((SpinnerEditor) angleSpinner.getEditor()).getTextField());
|
||||
panel.add(new UnitSelector( angleModel), "growx");
|
||||
panel.add(new BasicSlider( angleModel.getSliderModel(-Math.PI, Math.PI)), "w 100lp, wrap");
|
||||
}
|
||||
@ -107,6 +114,7 @@ public class RailButtonConfig extends RocketComponentConfig {
|
||||
final EnumModel<AxialMethod> methodModel = new EnumModel<AxialMethod>(component, "AxialMethod", AxialMethod.axialOffsetMethods );
|
||||
JComboBox<AxialMethod> relToCombo = new JComboBox<AxialMethod>( methodModel );
|
||||
panel.add( relToCombo, "spanx, growx, wrap");
|
||||
order.add(relToCombo);
|
||||
}
|
||||
|
||||
{ //// plus
|
||||
@ -116,6 +124,7 @@ public class RailButtonConfig extends RocketComponentConfig {
|
||||
offsetSpinner.setEditor(new SpinnerEditor(offsetSpinner));
|
||||
focusElement = offsetSpinner;
|
||||
panel.add(offsetSpinner, "growx");
|
||||
order.add(((SpinnerEditor) offsetSpinner.getEditor()).getTextField());
|
||||
panel.add(new UnitSelector(offsetModel), "growx");
|
||||
panel.add(new BasicSlider(offsetModel.getSliderModel(
|
||||
new DoubleModel(component.getParent(), "Length", -1.0, UnitGroup.UNITS_NONE),
|
||||
@ -131,7 +140,11 @@ public class RailButtonConfig extends RocketComponentConfig {
|
||||
panel.add(materialPanel,"span, wrap");
|
||||
|
||||
primary.add(panel, "grow");
|
||||
|
||||
|
||||
// Apply the custom focus travel policy to this panel
|
||||
CustomFocusTraversalPolicy policy = new CustomFocusTraversalPolicy(order);
|
||||
parent.setFocusTraversalPolicy(policy);
|
||||
|
||||
return primary;
|
||||
}
|
||||
|
||||
|
@ -318,6 +318,7 @@ public class RocketComponentConfig extends JPanel {
|
||||
JSpinner countSpinner = new JSpinner( countModel.getSpinnerModel());
|
||||
countSpinner.setEditor(new SpinnerEditor(countSpinner));
|
||||
panel.add(countSpinner, "w 100lp, wrap rel");
|
||||
order.add(((SpinnerEditor) countSpinner.getEditor()).getTextField());
|
||||
}
|
||||
|
||||
{ // Instance separation
|
||||
@ -326,6 +327,7 @@ public class RocketComponentConfig extends JPanel {
|
||||
JSpinner separationSpinner = new JSpinner( separationModel.getSpinnerModel());
|
||||
separationSpinner.setEditor(new SpinnerEditor(separationSpinner));
|
||||
panel.add(separationSpinner, "growx");
|
||||
order.add(((SpinnerEditor) separationSpinner.getEditor()).getTextField());
|
||||
panel.add(new UnitSelector(separationModel), "growx");
|
||||
double maxSeparationDistance = 0.1;
|
||||
if (component.getParent() != null && component.getParent().getLength() > 0) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user