Reimplements material panel so traversal order is passed to it - cleans up traversal order code
This commit is contained in:
parent
35fab7bbbc
commit
43bef18117
@ -105,11 +105,7 @@ public class BodyTubeConfig extends RocketComponentConfig {
|
|||||||
order.add(check);
|
order.add(check);
|
||||||
|
|
||||||
//// Material
|
//// Material
|
||||||
MaterialPanel materialPanel = new MaterialPanel(component, document, Material.Type.BULK);
|
MaterialPanel materialPanel = new MaterialPanel(component, document, Material.Type.BULK, order);
|
||||||
order.add(materialPanel.getMaterialCombo());
|
|
||||||
if (materialPanel.getFinishCombo() != null) {
|
|
||||||
order.add(materialPanel.getFinishCombo());
|
|
||||||
}
|
|
||||||
panel.add(materialPanel, "cell 4 0, gapleft paragraph, aligny 0%, spany");
|
panel.add(materialPanel, "cell 4 0, gapleft paragraph, aligny 0%, spany");
|
||||||
|
|
||||||
//// General and General properties
|
//// General and General properties
|
||||||
|
@ -183,12 +183,8 @@ public class EllipticalFinSetConfig extends FinSetConfig {
|
|||||||
|
|
||||||
|
|
||||||
//// Material
|
//// Material
|
||||||
MaterialPanel materialPanel = new MaterialPanel(component, document, Material.Type.BULK);
|
MaterialPanel materialPanel = new MaterialPanel(component, document, Material.Type.BULK, order);
|
||||||
panel.add(materialPanel, "span, wrap");
|
panel.add(materialPanel, "span, wrap");
|
||||||
order.add(materialPanel.getMaterialCombo());
|
|
||||||
if (materialPanel.getFinishCombo() != null) {
|
|
||||||
order.add(materialPanel.getFinishCombo());
|
|
||||||
}
|
|
||||||
|
|
||||||
panel.add(filletMaterialPanel(), "span, wrap");
|
panel.add(filletMaterialPanel(), "span, wrap");
|
||||||
|
|
||||||
|
@ -210,12 +210,8 @@ public class FreeformFinSetConfig extends FinSetConfig {
|
|||||||
}
|
}
|
||||||
|
|
||||||
{ //// Material
|
{ //// Material
|
||||||
MaterialPanel materialPanel = new MaterialPanel(component, document, Material.Type.BULK);
|
MaterialPanel materialPanel = new MaterialPanel(component, document, Material.Type.BULK, order);
|
||||||
panel.add(materialPanel, "span, wrap");
|
panel.add(materialPanel, "span, wrap");
|
||||||
order.add(materialPanel.getMaterialCombo());
|
|
||||||
if (materialPanel.getFinishCombo() != null) {
|
|
||||||
order.add(materialPanel.getFinishCombo());
|
|
||||||
}
|
|
||||||
|
|
||||||
panel.add(filletMaterialPanel(), "span, wrap");
|
panel.add(filletMaterialPanel(), "span, wrap");
|
||||||
}
|
}
|
||||||
|
@ -149,9 +149,8 @@ public class InnerTubeConfig extends RocketComponentConfig {
|
|||||||
panel.add(new BasicSlider(m.getSliderModel(0, 0.1, 1.0)), "wmin 100lp, growx, wrap");
|
panel.add(new BasicSlider(m.getSliderModel(0, 0.1, 1.0)), "wmin 100lp, growx, wrap");
|
||||||
|
|
||||||
//// Material
|
//// Material
|
||||||
MaterialPanel materialPanel = new MaterialPanel(component, document, Material.Type.BULK);
|
MaterialPanel materialPanel = new MaterialPanel(component, document, Material.Type.BULK, order);
|
||||||
panel.add(materialPanel, "spanx 4, growx, wrap 15lp");
|
panel.add(materialPanel, "spanx 4, growx, wrap 15lp");
|
||||||
order.add(materialPanel.getMaterialCombo());
|
|
||||||
|
|
||||||
|
|
||||||
//// Right side of panel ----
|
//// Right side of panel ----
|
||||||
|
@ -150,12 +150,8 @@ public class LaunchLugConfig extends RocketComponentConfig {
|
|||||||
});
|
});
|
||||||
|
|
||||||
//// Material
|
//// Material
|
||||||
MaterialPanel materialPanel = new MaterialPanel(component, document, Material.Type.BULK);
|
MaterialPanel materialPanel = new MaterialPanel(component, document, Material.Type.BULK, order);
|
||||||
panel.add(materialPanel, "span, wrap");
|
panel.add(materialPanel, "span, wrap");
|
||||||
order.add(materialPanel.getMaterialCombo());
|
|
||||||
if (materialPanel.getFinishCombo() != null) {
|
|
||||||
order.add(materialPanel.getFinishCombo());
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
primary.add(panel, "grow");
|
primary.add(panel, "grow");
|
||||||
|
@ -15,9 +15,12 @@ import javax.swing.JButton;
|
|||||||
import javax.swing.JComboBox;
|
import javax.swing.JComboBox;
|
||||||
import javax.swing.JLabel;
|
import javax.swing.JLabel;
|
||||||
import javax.swing.JPanel;
|
import javax.swing.JPanel;
|
||||||
|
import java.awt.*;
|
||||||
import java.awt.event.ActionEvent;
|
import java.awt.event.ActionEvent;
|
||||||
import java.awt.event.ActionListener;
|
import java.awt.event.ActionListener;
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Panel for configuring a component's material and finish properties.
|
* Panel for configuring a component's material and finish properties.
|
||||||
@ -25,22 +28,20 @@ import java.util.Iterator;
|
|||||||
public class MaterialPanel extends JPanel {
|
public class MaterialPanel extends JPanel {
|
||||||
private static final Translator trans = Application.getTranslator();
|
private static final Translator trans = Application.getTranslator();
|
||||||
|
|
||||||
private final JComboBox<Material> materialCombo;
|
|
||||||
private final JComboBox<ExternalComponent.Finish> finishCombo;
|
|
||||||
|
|
||||||
public MaterialPanel(RocketComponent component, OpenRocketDocument document,
|
public MaterialPanel(RocketComponent component, OpenRocketDocument document,
|
||||||
Material.Type type, String materialString, String finishString, String partName) {
|
Material.Type type, String materialString, String finishString,
|
||||||
|
String partName, List<Component> order) {
|
||||||
super(new MigLayout("insets 0"));
|
super(new MigLayout("insets 0"));
|
||||||
JLabel label = new JLabel(materialString);
|
JLabel label = new JLabel(materialString);
|
||||||
//// The component material affects the weight of the component.
|
//// The component material affects the weight of the component.
|
||||||
label.setToolTipText(trans.get("RocketCompCfg.lbl.ttip.componentmaterialaffects"));
|
label.setToolTipText(trans.get("RocketCompCfg.lbl.ttip.componentmaterialaffects"));
|
||||||
this.add(label, "spanx 4, wrap rel");
|
this.add(label, "spanx 4, wrap rel");
|
||||||
|
|
||||||
this.materialCombo = new JComboBox<>(new MaterialModel(this, component, type, partName));
|
JComboBox<Material> materialCombo = new JComboBox<>(new MaterialModel(this, component, type, partName));
|
||||||
//// The component material affects the weight of the component.
|
//// The component material affects the weight of the component.
|
||||||
this.materialCombo.setToolTipText(trans.get("RocketCompCfg.combo.ttip.componentmaterialaffects"));
|
materialCombo.setToolTipText(trans.get("RocketCompCfg.combo.ttip.componentmaterialaffects"));
|
||||||
this.add(this.materialCombo, "spanx 4, growx, wrap paragraph");
|
this.add(materialCombo, "spanx 4, growx, wrap paragraph");
|
||||||
|
order.add(materialCombo);
|
||||||
|
|
||||||
if (component instanceof ExternalComponent) {
|
if (component instanceof ExternalComponent) {
|
||||||
label = new JLabel(finishString);
|
label = new JLabel(finishString);
|
||||||
@ -51,10 +52,11 @@ public class MaterialPanel extends JPanel {
|
|||||||
label.setToolTipText(tip);
|
label.setToolTipText(tip);
|
||||||
this.add(label, "spanx 4, wmin 220lp, wrap rel");
|
this.add(label, "spanx 4, wmin 220lp, wrap rel");
|
||||||
|
|
||||||
this.finishCombo = new JComboBox<ExternalComponent.Finish>(
|
JComboBox<ExternalComponent.Finish> finishCombo = new JComboBox<ExternalComponent.Finish>(
|
||||||
new EnumModel<ExternalComponent.Finish>(component, "Finish"));
|
new EnumModel<ExternalComponent.Finish>(component, "Finish"));
|
||||||
this.finishCombo.setToolTipText(tip);
|
finishCombo.setToolTipText(tip);
|
||||||
this.add(this.finishCombo, "spanx 4, growx, split");
|
this.add(finishCombo, "spanx 4, growx, split");
|
||||||
|
order.add(finishCombo);
|
||||||
|
|
||||||
//// Set for all
|
//// Set for all
|
||||||
JButton button = new SelectColorButton(trans.get("RocketCompCfg.but.Setforall"));
|
JButton button = new SelectColorButton(trans.get("RocketCompCfg.but.Setforall"));
|
||||||
@ -81,28 +83,19 @@ public class MaterialPanel extends JPanel {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
this.add(button, "wrap paragraph");
|
this.add(button, "wrap paragraph");
|
||||||
} else {
|
order.add(button);
|
||||||
this.finishCombo = null;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public MaterialPanel(RocketComponent component, OpenRocketDocument document,
|
public MaterialPanel(RocketComponent component, OpenRocketDocument document,
|
||||||
Material.Type type, String partName) {
|
Material.Type type, String partName, List<Component> order) {
|
||||||
this(component, document, type, trans.get("RocketCompCfg.lbl.Componentmaterial"),
|
this(component, document, type, trans.get("RocketCompCfg.lbl.Componentmaterial"),
|
||||||
trans.get("RocketCompCfg.lbl.Componentfinish"), partName);
|
trans.get("RocketCompCfg.lbl.Componentfinish"), partName, order);
|
||||||
}
|
}
|
||||||
|
|
||||||
public MaterialPanel(RocketComponent component, OpenRocketDocument document,
|
public MaterialPanel(RocketComponent component, OpenRocketDocument document,
|
||||||
Material.Type type) {
|
Material.Type type, List<Component> order) {
|
||||||
this(component, document, type, trans.get("RocketCompCfg.lbl.Componentmaterial"),
|
this(component, document, type, trans.get("RocketCompCfg.lbl.Componentmaterial"),
|
||||||
trans.get("RocketCompCfg.lbl.Componentfinish"), "Material");
|
trans.get("RocketCompCfg.lbl.Componentfinish"), "Material", order);
|
||||||
}
|
|
||||||
|
|
||||||
public JComboBox<Material> getMaterialCombo() {
|
|
||||||
return materialCombo;
|
|
||||||
}
|
|
||||||
|
|
||||||
public JComboBox<ExternalComponent.Finish> getFinishCombo() {
|
|
||||||
return finishCombo;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -147,7 +147,7 @@ public class NoseConeConfig extends RocketComponentConfig {
|
|||||||
|
|
||||||
|
|
||||||
//// Material
|
//// Material
|
||||||
MaterialPanel materialPanel = new MaterialPanel(component, document, Material.Type.BULK);
|
MaterialPanel materialPanel = new MaterialPanel(component, document, Material.Type.BULK, order);
|
||||||
panel2.add(materialPanel, "span, wrap");
|
panel2.add(materialPanel, "span, wrap");
|
||||||
panel.add(panel2, "cell 4 0, gapleft paragraph, aligny 0%, spany");
|
panel.add(panel2, "cell 4 0, gapleft paragraph, aligny 0%, spany");
|
||||||
|
|
||||||
|
@ -127,7 +127,7 @@ public class RailButtonConfig extends RocketComponentConfig {
|
|||||||
panel.add(instanceablePanel(rbc), "span, wrap");
|
panel.add(instanceablePanel(rbc), "span, wrap");
|
||||||
|
|
||||||
//// Material
|
//// Material
|
||||||
MaterialPanel materialPanel = new MaterialPanel(component, document, Material.Type.BULK);
|
MaterialPanel materialPanel = new MaterialPanel(component, document, Material.Type.BULK, order);
|
||||||
panel.add(materialPanel,"span, wrap");
|
panel.add(materialPanel,"span, wrap");
|
||||||
|
|
||||||
primary.add(panel, "grow");
|
primary.add(panel, "grow");
|
||||||
|
@ -165,8 +165,7 @@ public class RingComponentConfig extends RocketComponentConfig {
|
|||||||
|
|
||||||
|
|
||||||
//// Material
|
//// Material
|
||||||
MaterialPanel materialPanel = new MaterialPanel(component, document, Material.Type.BULK);
|
MaterialPanel materialPanel = new MaterialPanel(component, document, Material.Type.BULK, order);
|
||||||
order.add(materialPanel.getMaterialCombo());
|
|
||||||
|
|
||||||
if (component instanceof EngineBlock) {
|
if (component instanceof EngineBlock) {
|
||||||
final DescriptionArea desc = new DescriptionArea(6);
|
final DescriptionArea desc = new DescriptionArea(6);
|
||||||
|
@ -57,7 +57,7 @@ public class ShockCordConfig extends RocketComponentConfig {
|
|||||||
// Material
|
// Material
|
||||||
//// Shock cord material:
|
//// Shock cord material:
|
||||||
MaterialPanel materialPanel = new MaterialPanel(component, document, Material.Type.LINE,
|
MaterialPanel materialPanel = new MaterialPanel(component, document, Material.Type.LINE,
|
||||||
trans.get("ShockCordCfg.lbl.Shockcordmaterial"), null, "Material");
|
trans.get("ShockCordCfg.lbl.Shockcordmaterial"), null, "Material", order);
|
||||||
panel.add(materialPanel, "spanx 4, wrap");
|
panel.add(materialPanel, "spanx 4, wrap");
|
||||||
|
|
||||||
|
|
||||||
|
@ -178,7 +178,7 @@ public class TransitionConfig extends RocketComponentConfig {
|
|||||||
|
|
||||||
|
|
||||||
//// Material
|
//// Material
|
||||||
MaterialPanel materialPanel = new MaterialPanel(component, document, Material.Type.BULK);
|
MaterialPanel materialPanel = new MaterialPanel(component, document, Material.Type.BULK, order);
|
||||||
panel2.add(materialPanel, "span, wrap");
|
panel2.add(materialPanel, "span, wrap");
|
||||||
panel.add(panel2, "cell 4 0, gapleft paragraph, aligny 0%, spany");
|
panel.add(panel2, "cell 4 0, gapleft paragraph, aligny 0%, spany");
|
||||||
|
|
||||||
|
@ -223,7 +223,7 @@ public class TrapezoidFinSetConfig extends FinSetConfig {
|
|||||||
|
|
||||||
|
|
||||||
//// Material
|
//// Material
|
||||||
MaterialPanel materialPanel = new MaterialPanel(component, document, Material.Type.BULK);
|
MaterialPanel materialPanel = new MaterialPanel(component, document, Material.Type.BULK, order);
|
||||||
panel.add(materialPanel, "span, wrap");
|
panel.add(materialPanel, "span, wrap");
|
||||||
|
|
||||||
|
|
||||||
|
@ -158,7 +158,7 @@ public class TubeFinSetConfig extends RocketComponentConfig {
|
|||||||
|
|
||||||
|
|
||||||
//// Material
|
//// Material
|
||||||
MaterialPanel materialPanel = new MaterialPanel(component, document, Material.Type.BULK);
|
MaterialPanel materialPanel = new MaterialPanel(component, document, Material.Type.BULK, order);
|
||||||
panel.add(materialPanel, "span, wrap");
|
panel.add(materialPanel, "span, wrap");
|
||||||
|
|
||||||
primary.add(panel, "grow");
|
primary.add(panel, "grow");
|
||||||
|
Loading…
x
Reference in New Issue
Block a user