diff --git a/core/src/net/sf/openrocket/gui/configdialog/AppearancePanel.java b/core/src/net/sf/openrocket/gui/configdialog/AppearancePanel.java index 2399a883d..ae5933fae 100644 --- a/core/src/net/sf/openrocket/gui/configdialog/AppearancePanel.java +++ b/core/src/net/sf/openrocket/gui/configdialog/AppearancePanel.java @@ -151,6 +151,7 @@ public class AppearancePanel extends JPanel { figureColorButton.addActionListener(new ColorActionListener(c, "Color")); colorButton.addActionListener(new ColorActionListener(ab, "Paint")); + BooleanModel mDefault = new BooleanModel(c.getAppearance() == null); BooleanModel fDefault = new BooleanModel(c.getColor() == null); @@ -215,12 +216,26 @@ public class AppearancePanel extends JPanel { add(new JSeparator(SwingConstants.HORIZONTAL), "span, wrap, growx"); {// Texture Header Row - add(new StyledLabel(trans.get("AppearanceCfg.lbl.Appearance"), Style.BOLD), "wrap"); + add(new StyledLabel(trans.get("AppearanceCfg.lbl.Appearance"), Style.BOLD)); + final JCheckBox materialDefault = new JCheckBox(mDefault); + materialDefault.addActionListener(new ActionListener() { + @Override + public void actionPerformed(ActionEvent e) { + if (materialDefault.isSelected()) { + c.setAppearance(null); + } else { + c.setAppearance(ab.getAppearance()); + } + } + }); + add(materialDefault, "split 2"); + add(new JLabel(trans.get("AppearanceCfg.lbl.Usedefault")), "wrap"); } {// Texture File add(new JLabel(trans.get("AppearanceCfg.lbl.Texture"))); JPanel p = new JPanel(new MigLayout("fill, ins 0", "[grow][]")); + mDefault.addEnableComponent(textureDropDown, false); p.add(textureDropDown, "grow"); add(p, "span 3, growx, wrap"); final JButton editBtn = new JButton(trans.get("AppearanceCfg.but.edit")); @@ -243,12 +258,13 @@ public class AppearancePanel extends JPanel { } }); + mDefault.addEnableComponent(editBtn, false); p.add(editBtn); } { // Color add(new JLabel(trans.get("AppearanceCfg.lbl.color.Color"))); - //mDefault.addEnableComponent(colorButton, false); + mDefault.addEnableComponent(colorButton, false); add(colorButton); } @@ -258,11 +274,13 @@ public class AppearancePanel extends JPanel { add(new JLabel("x:"), "split 4"); JSpinner scaleU = new JSpinner(new DoubleModel(ab, "ScaleX", TEXTURE_UNIT).getSpinnerModel()); scaleU.setEditor(new SpinnerEditor(scaleU)); + mDefault.addEnableComponent(scaleU, false); add(scaleU, "w 40"); add(new JLabel("y:")); JSpinner scaleV = new JSpinner(new DoubleModel(ab, "ScaleY", TEXTURE_UNIT).getSpinnerModel()); scaleV.setEditor(new SpinnerEditor(scaleV)); + mDefault.addEnableComponent(scaleV, false); add(scaleV, "wrap, w 40"); } @@ -274,6 +292,10 @@ public class AppearancePanel extends JPanel { JSlider slide = new JSlider(shineModel.getSliderModel(0, 1)); UnitSelector unit = new UnitSelector(shineModel); + mDefault.addEnableComponent(slide, false); + mDefault.addEnableComponent(spin, false); + mDefault.addEnableComponent(unit, false); + add(spin, "split 3, w 50"); add(unit); add(slide, "w 50"); @@ -286,11 +308,13 @@ public class AppearancePanel extends JPanel { add(new JLabel("x:"), "split 4"); JSpinner offsetU = new JSpinner(new DoubleModel(ab, "OffsetU", TEXTURE_UNIT).getSpinnerModel()); offsetU.setEditor(new SpinnerEditor(offsetU)); + mDefault.addEnableComponent(offsetU, false); add(offsetU, "w 40"); add(new JLabel("y:")); JSpinner offsetV = new JSpinner(new DoubleModel(ab, "OffsetV", TEXTURE_UNIT).getSpinnerModel()); offsetV.setEditor(new SpinnerEditor(offsetV)); + mDefault.addEnableComponent(offsetV, false); add(offsetV, "wrap, w 40"); } @@ -299,6 +323,7 @@ public class AppearancePanel extends JPanel { EdgeMode[] list = new EdgeMode[EdgeMode.values().length + 1]; System.arraycopy(EdgeMode.values(), 0, list, 1, EdgeMode.values().length); JComboBox combo = new JComboBox(new EnumModel(ab, "EdgeMode", list)); + mDefault.addEnableComponent(combo, false); add(combo); } @@ -308,9 +333,11 @@ public class AppearancePanel extends JPanel { DoubleModel rotationModel = new DoubleModel(ab, "Rotation", UnitGroup.UNITS_ANGLE); JSpinner rotation = new JSpinner(rotationModel.getSpinnerModel()); rotation.setEditor(new SpinnerEditor(rotation)); + mDefault.addEnableComponent(rotation, false); add(rotation, "split 3, w 50"); add(new UnitSelector(rotationModel)); BasicSlider bs = new BasicSlider(rotationModel.getSliderModel(-Math.PI, Math.PI)); + mDefault.addEnableComponent(bs, false); add(bs, "w 50, wrap"); }