From e8ac5d4dea856df25e51fbe938c8060416c161bd Mon Sep 17 00:00:00 2001 From: bkuker Date: Wed, 2 Jan 2013 11:04:13 -0500 Subject: [PATCH] Add a sticker decal option --- core/resources/l10n/messages.properties | 3 ++- core/src/net/sf/openrocket/appearance/Decal.java | 2 +- .../sf/openrocket/appearance/SimpleAppearanceBuilder.java | 2 +- .../net/sf/openrocket/gui/configdialog/AppearancePanel.java | 5 +++-- 4 files changed, 7 insertions(+), 5 deletions(-) diff --git a/core/resources/l10n/messages.properties b/core/resources/l10n/messages.properties index 157a8211e..94ded4c94 100644 --- a/core/resources/l10n/messages.properties +++ b/core/resources/l10n/messages.properties @@ -740,7 +740,8 @@ AppearanceCfg.lbl.texture.repeat = Repeat: ! Texture Wrap Modes TextureWrap.Repeat = Repeat TextureWrap.Mirror = Repeat & Mirror -TextureWrap.Clamp = Clamp Edge Pixels +TextureWrap.Clamp = Clamp Edge Pixel +TextureWrap.Sticker = Sticker ! RocketConfig RocketCfg.lbl.Designname = Design name: diff --git a/core/src/net/sf/openrocket/appearance/Decal.java b/core/src/net/sf/openrocket/appearance/Decal.java index e32c6efac..b55636364 100644 --- a/core/src/net/sf/openrocket/appearance/Decal.java +++ b/core/src/net/sf/openrocket/appearance/Decal.java @@ -11,7 +11,7 @@ import net.sf.openrocket.util.Coordinate; public class Decal { public static enum EdgeMode { - REPEAT("TextureWrap.Repeat"), MIRROR("TextureWrap.Mirror"), CLAMP("TextureWrap.Clamp"); + REPEAT("TextureWrap.Repeat"), MIRROR("TextureWrap.Mirror"), CLAMP("TextureWrap.Clamp"), STICKER("TextureWrap.Sticker"); private final String transName; EdgeMode(final String name){ this.transName = name; diff --git a/core/src/net/sf/openrocket/appearance/SimpleAppearanceBuilder.java b/core/src/net/sf/openrocket/appearance/SimpleAppearanceBuilder.java index 0575069d8..6e1dd62fb 100644 --- a/core/src/net/sf/openrocket/appearance/SimpleAppearanceBuilder.java +++ b/core/src/net/sf/openrocket/appearance/SimpleAppearanceBuilder.java @@ -48,7 +48,7 @@ public class SimpleAppearanceBuilder extends AppearanceBuilder { batch(new Runnable() { @Override public void run() { - if (getImage() == null && image != null) { + if (getImage() == null && image != null && getEdgeMode() != Decal.EdgeMode.STICKER ) { oldColor = getColor(); setColor(new Color(255, 255, 255)); } else if (getImage() != null && image == null && oldColor != null) { diff --git a/core/src/net/sf/openrocket/gui/configdialog/AppearancePanel.java b/core/src/net/sf/openrocket/gui/configdialog/AppearancePanel.java index ffc989835..683ca8cea 100644 --- a/core/src/net/sf/openrocket/gui/configdialog/AppearancePanel.java +++ b/core/src/net/sf/openrocket/gui/configdialog/AppearancePanel.java @@ -21,6 +21,7 @@ import javax.swing.SwingConstants; import javax.swing.SwingUtilities; import net.miginfocom.swing.MigLayout; +import net.sf.openrocket.appearance.Decal; import net.sf.openrocket.appearance.Decal.EdgeMode; import net.sf.openrocket.appearance.SimpleAppearanceBuilder; import net.sf.openrocket.document.OpenRocketDocument; @@ -250,12 +251,12 @@ public class AppearancePanel extends JPanel { { // Color add(new JLabel(trans.get("AppearanceCfg.lbl.color.Color"))); //mDefault.addEnableComponent(colorButton, false); - colorButton.setEnabled(ab.getImage() == null); + colorButton.setEnabled(ab.getImage() == null || ab.getEdgeMode() == Decal.EdgeMode.STICKER); add(colorButton); ab.addChangeListener(new StateChangeListener() { @Override public void stateChanged(EventObject e) { - colorButton.setEnabled(ab.getImage() == null); + colorButton.setEnabled(ab.getImage() == null || ab.getEdgeMode() == Decal.EdgeMode.STICKER); } }); }