|
@@ -3,7 +3,7 @@
|
|
|
* and open the template in the editor.
|
|
|
*/
|
|
|
|
|
|
-/*
|
|
|
+ /*
|
|
|
* SelectionPanel.java
|
|
|
*
|
|
|
* Created on 14.06.2010, 16:52:22
|
|
@@ -25,20 +25,31 @@ import java.util.logging.Level;
|
|
|
import java.util.logging.Logger;
|
|
|
|
|
|
/**
|
|
|
- * The TexturePanel is a row in the material editor representing a special texture
|
|
|
+ * The TexturePanel is a row in the material editor representing a special
|
|
|
+ * texture
|
|
|
+ *
|
|
|
* @author normenhansen
|
|
|
*/
|
|
|
public class TexturePanel extends MaterialPropertyWidget {
|
|
|
|
|
|
- private final TexturePropertyEditor editor;
|
|
|
- private final ProjectAssetManager manager;
|
|
|
+ private TexturePropertyEditor editor;
|
|
|
+ private ProjectAssetManager manager;
|
|
|
private boolean flip = false;
|
|
|
private boolean repeat = false;
|
|
|
protected String textureName = null; // always enclosed with ""
|
|
|
private TexturePreview texPreview;
|
|
|
private final ScheduledThreadPoolExecutor exec = new ScheduledThreadPoolExecutor(1);
|
|
|
|
|
|
- /** Creates new form SelectionPanel */
|
|
|
+ /**
|
|
|
+ * Used by tests
|
|
|
+ */
|
|
|
+ protected TexturePanel() {
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * Creates new form SelectionPanel
|
|
|
+ */
|
|
|
public TexturePanel(ProjectAssetManager manager) {
|
|
|
this.manager = manager;
|
|
|
editor = new TexturePropertyEditor(manager);
|
|
@@ -50,12 +61,11 @@ public class TexturePanel extends MaterialPropertyWidget {
|
|
|
exec.execute(new Runnable() {
|
|
|
@Override
|
|
|
public void run() {
|
|
|
- try{
|
|
|
+ try {
|
|
|
if (texPreview == null) {
|
|
|
texPreview = new TexturePreview(manager);
|
|
|
}
|
|
|
- final String[] textureNameComponents = textureName.split(" ");
|
|
|
- texPreview.requestPreview(stripQuotes(textureNameComponents[textureNameComponents.length - 1]), "", 80, 25, texturePreview, null);
|
|
|
+ texPreview.requestPreview(extractTextureName(textureName), "", 80, 25, texturePreview, null);
|
|
|
} catch (AssetNotFoundException a) {
|
|
|
Logger.getLogger(MaterialEditorTopComponent.class.getName()).log(Level.WARNING, "Could not load texture {0}", textureName);
|
|
|
}
|
|
@@ -63,12 +73,15 @@ public class TexturePanel extends MaterialPropertyWidget {
|
|
|
});
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
- private String stripQuotes(String s) {
|
|
|
- return s.substring(1, s.length() - 1);
|
|
|
+
|
|
|
+ // visible for tests
|
|
|
+ protected String extractTextureName(String textureName) {
|
|
|
+ final String[] textureNameComponents = textureName.split("\"");
|
|
|
+ return textureNameComponents[textureNameComponents.length - 1];
|
|
|
}
|
|
|
|
|
|
- private void updateFlipRepeat() {
|
|
|
+ // visible for tests
|
|
|
+ protected void updateFlipRepeat() {
|
|
|
String propertyValue = property.getValue();
|
|
|
propertyValue = propertyValue.replaceFirst(textureName, "");
|
|
|
if (flip && !propertyValue.contains("Flip ")) {
|
|
@@ -104,10 +117,10 @@ public class TexturePanel extends MaterialPropertyWidget {
|
|
|
return resizedImage;
|
|
|
}
|
|
|
|
|
|
- /** This method is called from within the constructor to
|
|
|
- * initialize the form.
|
|
|
- * WARNING: Do NOT modify this code. The content of this method is
|
|
|
- * always regenerated by the Form Editor.
|
|
|
+ /**
|
|
|
+ * This method is called from within the constructor to initialize the form.
|
|
|
+ * WARNING: Do NOT modify this code. The content of this method is always
|
|
|
+ * regenerated by the Form Editor.
|
|
|
*/
|
|
|
@SuppressWarnings("unchecked")
|
|
|
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
|
|
@@ -263,6 +276,7 @@ public class TexturePanel extends MaterialPropertyWidget {
|
|
|
|
|
|
private void texturePreviewMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_texturePreviewMouseClicked
|
|
|
Component view = editor.getCustomEditor();
|
|
|
+ property.setValue("");
|
|
|
view.setVisible(true);
|
|
|
if (editor.getValue() != null) {
|
|
|
textureName = "\"" + editor.getAsText() + "\"";
|
|
@@ -273,7 +287,6 @@ public class TexturePanel extends MaterialPropertyWidget {
|
|
|
textureName = "\"\"";
|
|
|
texturePreview.setIcon(null);
|
|
|
texturePreview.setToolTipText("");
|
|
|
- property.setValue("");
|
|
|
fireChanged();
|
|
|
}
|
|
|
}//GEN-LAST:event_texturePreviewMouseClicked
|