Browse Source

fixes two issues:
don't split on " ". Now splits on "\"" instead to get the actual name. Makes the stripQuotes method obsolete
Old texture property wasn't cleared when adding a new texture. This looked ok in the editor, but the source file had all the old names as well.

rickard 2 years ago
parent
commit
793592e064

+ 18 - 14
jme3-materialeditor/src/com/jme3/gde/materials/multiview/widgets/TexturePanel.java

@@ -3,7 +3,7 @@
  * and open the template in the editor.
  */
 
-/*
+ /*
  * SelectionPanel.java
  *
  * Created on 14.06.2010, 16:52:22
@@ -25,7 +25,9 @@ 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 {
@@ -38,7 +40,9 @@ public class TexturePanel extends MaterialPropertyWidget {
     private TexturePreview texPreview;
     private final ScheduledThreadPoolExecutor exec = new ScheduledThreadPoolExecutor(1);
 
-    /** Creates new form SelectionPanel */
+    /**
+     * Creates new form SelectionPanel
+     */
     public TexturePanel(ProjectAssetManager manager) {
         this.manager = manager;
         editor = new TexturePropertyEditor(manager);
@@ -50,12 +54,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,9 +66,10 @@ public class TexturePanel extends MaterialPropertyWidget {
             });
         }
     }
-    
-    private String stripQuotes(String s) {
-        return s.substring(1, s.length() - 1);
+
+    private String extractTextureName(String textureName) {
+        final String[] textureNameComponents = textureName.split("\"");
+        return textureNameComponents[textureNameComponents.length - 1];
     }
 
     private void updateFlipRepeat() {
@@ -104,10 +108,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 +267,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 +278,6 @@ public class TexturePanel extends MaterialPropertyWidget {
             textureName = "\"\"";
             texturePreview.setIcon(null);
             texturePreview.setToolTipText("");
-            property.setValue("");
             fireChanged();
         }
     }//GEN-LAST:event_texturePreviewMouseClicked