Set top view above side view

This commit is contained in:
SiboVG 2022-12-25 10:41:01 +01:00
parent a944298624
commit 16ec1ad48f
3 changed files with 18 additions and 7 deletions

View File

@ -31,7 +31,7 @@ public class VariableTableModel extends AbstractTableModel {
//Collections.addAll(types, FlightDataType.ALL_TYPES); //Collections.addAll(types, FlightDataType.ALL_TYPES);
//for (CustomExpression expression : doc.getCustomExpressions()){ //for (CustomExpression expression : doc.getCustomExpressions()){
// types.add(expression.getType()); // types.add(expression.getCurrentViewType());
//} //}
} }

View File

@ -59,8 +59,8 @@ public class RocketFigure extends AbstractScaleFigure {
private static final String ROCKET_FIGURE_PACKAGE = "net.sf.openrocket.gui.rocketfigure"; private static final String ROCKET_FIGURE_PACKAGE = "net.sf.openrocket.gui.rocketfigure";
private static final String ROCKET_FIGURE_SUFFIX = "Shapes"; private static final String ROCKET_FIGURE_SUFFIX = "Shapes";
public static final int VIEW_SIDE = 0; public static final int VIEW_TOP = 0;
public static final int VIEW_TOP = 1; public static final int VIEW_SIDE = 1;
public static final int VIEW_BACK = 2; public static final int VIEW_BACK = 2;
// Width for drawing normal and selected components // Width for drawing normal and selected components
@ -149,7 +149,7 @@ public class RocketFigure extends AbstractScaleFigure {
} }
public RocketPanel.VIEW_TYPE getType() { public RocketPanel.VIEW_TYPE getCurrentViewType() {
return currentViewType; return currentViewType;
} }

View File

@ -94,8 +94,8 @@ public class RocketPanel extends JPanel implements TreeSelectionListener, Change
private static final String VIEW_TYPE_SEPARATOR = "__SEPARATOR__"; // Dummy string to indicate a horizontal separator item in the view type combobox private static final String VIEW_TYPE_SEPARATOR = "__SEPARATOR__"; // Dummy string to indicate a horizontal separator item in the view type combobox
public enum VIEW_TYPE { public enum VIEW_TYPE {
SideView(false, RocketFigure.VIEW_SIDE),
TopView(false, RocketFigure.VIEW_TOP), TopView(false, RocketFigure.VIEW_TOP),
SideView(false, RocketFigure.VIEW_SIDE),
BackView(false, RocketFigure.VIEW_BACK), BackView(false, RocketFigure.VIEW_BACK),
SEPARATOR(false, -248), // Horizontal combobox separator dummy item SEPARATOR(false, -248), // Horizontal combobox separator dummy item
Figure3D(true, RocketFigure3d.TYPE_FIGURE), Figure3D(true, RocketFigure3d.TYPE_FIGURE),
@ -118,6 +118,10 @@ public class RocketPanel extends JPanel implements TreeSelectionListener, Change
return trans.get("RocketPanel.FigTypeAct." + super.toString()); return trans.get("RocketPanel.FigTypeAct." + super.toString());
} }
public static VIEW_TYPE getDefaultViewType() {
return SideView;
}
} }
private boolean is3d; private boolean is3d;
@ -315,7 +319,7 @@ public class RocketPanel extends JPanel implements TreeSelectionListener, Change
JPanel ribbon = new JPanel(new MigLayout("insets 0, fill")); JPanel ribbon = new JPanel(new MigLayout("insets 0, fill"));
// View Type drop-down // View Type drop-down
ComboBoxModel<VIEW_TYPE> cm = new DefaultComboBoxModel<VIEW_TYPE>(VIEW_TYPE.values()) { ComboBoxModel<VIEW_TYPE> cm = new ViewTypeComboBoxModel(VIEW_TYPE.values(), VIEW_TYPE.getDefaultViewType()) {
@Override @Override
public void setSelectedItem(Object o) { public void setSelectedItem(Object o) {
@ -787,7 +791,7 @@ public class RocketPanel extends JPanel implements TreeSelectionListener, Change
} }
if (length > 0 && if (length > 0 &&
((figure.getType() == RocketPanel.VIEW_TYPE.TopView) || (figure.getType() == RocketPanel.VIEW_TYPE.SideView))) { ((figure.getCurrentViewType() == RocketPanel.VIEW_TYPE.TopView) || (figure.getCurrentViewType() == RocketPanel.VIEW_TYPE.SideView))) {
extraCP.setPosition(cpx, cpy); extraCP.setPosition(cpx, cpy);
extraCG.setPosition(cgx, cgy); extraCG.setPosition(cgx, cgy);
} else { } else {
@ -1075,6 +1079,13 @@ public class RocketPanel extends JPanel implements TreeSelectionListener, Change
figure3d.setSelection(components); figure3d.setSelection(components);
} }
private static class ViewTypeComboBoxModel extends DefaultComboBoxModel<VIEW_TYPE> {
public ViewTypeComboBoxModel(VIEW_TYPE[] items, VIEW_TYPE initialItem) {
super(items);
super.setSelectedItem(initialItem);
}
}
/** /**
* Custom combobox renderer that supports the display of horizontal separators between items. * Custom combobox renderer that supports the display of horizontal separators between items.
* ComboBox objects with the text {@link VIEW_TYPE_SEPARATOR} objects in the combobox are replaced by a separator object. * ComboBox objects with the text {@link VIEW_TYPE_SEPARATOR} objects in the combobox are replaced by a separator object.