Browse Source

Final part of refactoring: Moved all the code out into com.jme3.gde.core.editor.nodes (and editor.icons). Also changed the protection of a few methods which used to be package-protected. Also removed oversights (where the implementation was still referenced from independant code)

MeFisto94 6 years ago
parent
commit
db14356616
81 changed files with 213 additions and 160 deletions
  1. 2 0
      jme3-core/nbproject/project.xml
  2. 57 0
      jme3-core/src/com/jme3/gde/core/editor/icons/Icons.java
  3. 0 0
      jme3-core/src/com/jme3/gde/core/editor/icons/Quad.png
  4. 0 0
      jme3-core/src/com/jme3/gde/core/editor/icons/Sphere.png
  5. 0 0
      jme3-core/src/com/jme3/gde/core/editor/icons/add.png
  6. 0 0
      jme3-core/src/com/jme3/gde/core/editor/icons/attrib.png
  7. 0 0
      jme3-core/src/com/jme3/gde/core/editor/icons/busOutput.png
  8. 0 0
      jme3-core/src/com/jme3/gde/core/editor/icons/code.png
  9. 0 0
      jme3-core/src/com/jme3/gde/core/editor/icons/codeHover.png
  10. 0 0
      jme3-core/src/com/jme3/gde/core/editor/icons/collapse.png
  11. 0 0
      jme3-core/src/com/jme3/gde/core/editor/icons/cube.png
  12. 0 0
      jme3-core/src/com/jme3/gde/core/editor/icons/cube.psd
  13. 0 0
      jme3-core/src/com/jme3/gde/core/editor/icons/deleteNode.png
  14. 0 0
      jme3-core/src/com/jme3/gde/core/editor/icons/deleteNodeHover.png
  15. 0 0
      jme3-core/src/com/jme3/gde/core/editor/icons/dot.png
  16. 0 0
      jme3-core/src/com/jme3/gde/core/editor/icons/dotGreen.png
  17. 0 0
      jme3-core/src/com/jme3/gde/core/editor/icons/dotOrange.png
  18. 0 0
      jme3-core/src/com/jme3/gde/core/editor/icons/dotRed.png
  19. 0 0
      jme3-core/src/com/jme3/gde/core/editor/icons/earth.png
  20. 0 0
      jme3-core/src/com/jme3/gde/core/editor/icons/earth_1.png
  21. 0 0
      jme3-core/src/com/jme3/gde/core/editor/icons/error.png
  22. 0 0
      jme3-core/src/com/jme3/gde/core/editor/icons/expend.png
  23. 0 0
      jme3-core/src/com/jme3/gde/core/editor/icons/flip.png
  24. 0 0
      jme3-core/src/com/jme3/gde/core/editor/icons/fragment.png
  25. 0 0
      jme3-core/src/com/jme3/gde/core/editor/icons/frontBack.png
  26. 0 0
      jme3-core/src/com/jme3/gde/core/editor/icons/in.png
  27. 0 0
      jme3-core/src/com/jme3/gde/core/editor/icons/inputOutput.psd
  28. 0 0
      jme3-core/src/com/jme3/gde/core/editor/icons/mat.png
  29. 0 0
      jme3-core/src/com/jme3/gde/core/editor/icons/matdef.png
  30. 0 0
      jme3-core/src/com/jme3/gde/core/editor/icons/node.png
  31. 0 0
      jme3-core/src/com/jme3/gde/core/editor/icons/node.psd
  32. 0 0
      jme3-core/src/com/jme3/gde/core/editor/icons/ouptut.psd
  33. 0 0
      jme3-core/src/com/jme3/gde/core/editor/icons/out.png
  34. 0 0
      jme3-core/src/com/jme3/gde/core/editor/icons/output.png
  35. 0 0
      jme3-core/src/com/jme3/gde/core/editor/icons/previewIcons.psd
  36. 0 0
      jme3-core/src/com/jme3/gde/core/editor/icons/reload.png
  37. 0 0
      jme3-core/src/com/jme3/gde/core/editor/icons/remove.png
  38. 0 0
      jme3-core/src/com/jme3/gde/core/editor/icons/repeat.png
  39. 0 0
      jme3-core/src/com/jme3/gde/core/editor/icons/tech.png
  40. 0 0
      jme3-core/src/com/jme3/gde/core/editor/icons/vert.png
  41. 1 1
      jme3-core/src/com/jme3/gde/core/editor/nodes/Connection.java
  42. 6 2
      jme3-core/src/com/jme3/gde/core/editor/nodes/ConnectionCurve.java
  43. 2 3
      jme3-core/src/com/jme3/gde/core/editor/nodes/ConnectionEndpoint.java
  44. 2 3
      jme3-core/src/com/jme3/gde/core/editor/nodes/ConnectionStraight.java
  45. 3 18
      jme3-core/src/com/jme3/gde/core/editor/nodes/Diagram.java
  46. 1 1
      jme3-core/src/com/jme3/gde/core/editor/nodes/DraggablePanel.java
  47. 1 1
      jme3-core/src/com/jme3/gde/core/editor/nodes/NodeEditor.java
  48. 8 35
      jme3-core/src/com/jme3/gde/core/editor/nodes/NodePanel.java
  49. 1 1
      jme3-core/src/com/jme3/gde/core/editor/nodes/NodeToolBar.java
  50. 1 1
      jme3-core/src/com/jme3/gde/core/editor/nodes/Selectable.java
  51. 2 2
      jme3-materialeditor/src/com/jme3/gde/materialdefinition/MatDefDataObject.java
  52. 1 1
      jme3-materialeditor/src/com/jme3/gde/materialdefinition/dialog/AddMaterialParameterDialog.java
  53. 1 1
      jme3-materialeditor/src/com/jme3/gde/materialdefinition/dialog/AddNodeDialog.java
  54. 6 6
      jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/BackdropPanel.form
  55. 7 6
      jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/BackdropPanel.java
  56. 1 1
      jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/MatDefEditorToolBar.form
  57. 1 1
      jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/MatDefEditorToolBar.java
  58. 17 12
      jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/MatDefEditorlElement.java
  59. 5 5
      jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/MatPanel.form
  60. 5 5
      jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/MatPanel.java
  61. 2 2
      jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/ShaderEditPanel.form
  62. 2 2
      jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/ShaderEditPanel.java
  63. 6 2
      jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/ShaderNodeDiagram.java
  64. 2 1
      jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/ShaderNodeDot.java
  65. 37 2
      jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/ShaderNodePanel.java
  66. 4 4
      jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/ShaderNodeToolBar.form
  67. 6 4
      jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/ShaderNodeToolBar.java
  68. 4 0
      jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/ShaderOutBusPanel.java
  69. 2 20
      jme3-materialeditor/src/com/jme3/gde/materialdefinition/icons/Icons.java
  70. 2 2
      jme3-materialeditor/src/com/jme3/gde/materialdefinition/navigator/node/MappingNode.java
  71. 2 2
      jme3-materialeditor/src/com/jme3/gde/materialdefinition/navigator/node/MatDefNode.java
  72. 2 2
      jme3-materialeditor/src/com/jme3/gde/materialdefinition/navigator/node/ShaderNodeNode.java
  73. 2 2
      jme3-materialeditor/src/com/jme3/gde/materialdefinition/navigator/node/TechniqueNode.java
  74. 1 1
      jme3-materialeditor/src/com/jme3/gde/materialdefinition/package-info.java
  75. 1 1
      jme3-materialeditor/src/com/jme3/gde/materialdefinition/shadervisual/MatDefShaderElement.java
  76. 1 1
      jme3-materialeditor/src/com/jme3/gde/materialdefinition/shadervisual/ShaderVisualToolBar.java
  77. 1 1
      jme3-materialeditor/src/com/jme3/gde/materialdefinition/utils/DocFormatter.java
  78. 1 1
      jme3-materialeditor/src/com/jme3/gde/materials/MaterialPreviewRenderer.java
  79. 2 2
      jme3-materialeditor/src/com/jme3/gde/shadernodedefinition/SNDefDataObject.java
  80. 1 1
      jme3-materialeditor/src/com/jme3/gde/shadernodedefinition/SNDefVisualElement.java
  81. 1 1
      jme3-materialeditor/src/com/jme3/gde/shadernodedefinition/wizard/SNDefWizardIterator.java

+ 2 - 0
jme3-core/nbproject/project.xml

@@ -401,6 +401,8 @@
                 <package>com.jme3.gde.core.assets.nodes</package>
                 <package>com.jme3.gde.core.codeless</package>
                 <package>com.jme3.gde.core.completion</package>
+                <package>com.jme3.gde.core.editor.icons</package>
+                <package>com.jme3.gde.core.editor.nodes</package>
                 <package>com.jme3.gde.core.errorreport</package>
                 <package>com.jme3.gde.core.filters</package>
                 <package>com.jme3.gde.core.filters.actions</package>

+ 57 - 0
jme3-core/src/com/jme3/gde/core/editor/icons/Icons.java

@@ -0,0 +1,57 @@
+/*
+ *  Copyright (c) 2009-2018 jMonkeyEngine
+ *  All rights reserved.
+ * 
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are
+ *  met:
+ * 
+ *  * Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 
+ *  * Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 
+ *  * Neither the name of 'jMonkeyEngine' nor the names of its contributors
+ *    may be used to endorse or promote products derived from this software
+ *    without specific prior written permission.
+ * 
+ *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ *  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ *  TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ *  PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ *  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ *  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ *  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ *  PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ *  LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ *  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+package com.jme3.gde.core.editor.icons;
+
+import javax.swing.ImageIcon;
+
+/**
+ * This class is a provider of ImageIcons
+ * @author Nehon
+ */
+public class Icons {
+    public final static ImageIcon node = new ImageIcon(Icons.class.getResource("node.png"));
+    public final static ImageIcon output = new ImageIcon(Icons.class.getResource("output.png"));
+    public final static ImageIcon world = new ImageIcon(Icons.class.getResource("earth.png"));
+    public final static ImageIcon attrib = new ImageIcon(Icons.class.getResource("attrib.png"));
+    public final static ImageIcon mat = new ImageIcon(Icons.class.getResource("mat.png"));
+    public final static ImageIcon vert = new ImageIcon(Icons.class.getResource("vert.png"));
+    public final static ImageIcon frag = new ImageIcon(Icons.class.getResource("fragment.png"));
+    public final static ImageIcon imgGrey = new ImageIcon(Icons.class.getResource("dot.png"));
+    public final static ImageIcon imgGreen = new ImageIcon(Icons.class.getResource("dotGreen.png"));
+    public final static ImageIcon imgOrange = new ImageIcon(Icons.class.getResource("dotOrange.png"));
+    public final static ImageIcon imgRed = new ImageIcon(Icons.class.getResource("dotRed.png"));
+    public final static ImageIcon matDef = new ImageIcon(Icons.class.getResource("matdef.png"));
+    public final static ImageIcon tech = new ImageIcon(Icons.class.getResource("tech.png"));
+    public final static ImageIcon in = new ImageIcon(Icons.class.getResource("in.png"));
+    public final static ImageIcon out = new ImageIcon(Icons.class.getResource("out.png"));
+    public final static ImageIcon error = new ImageIcon(Icons.class.getResource("error.png"));
+}

+ 0 - 0
jme3-materialeditor/src/com/jme3/gde/materialdefinition/icons/Quad.png → jme3-core/src/com/jme3/gde/core/editor/icons/Quad.png


+ 0 - 0
jme3-materialeditor/src/com/jme3/gde/materialdefinition/icons/Sphere.png → jme3-core/src/com/jme3/gde/core/editor/icons/Sphere.png


+ 0 - 0
jme3-materialeditor/src/com/jme3/gde/materialdefinition/icons/add.png → jme3-core/src/com/jme3/gde/core/editor/icons/add.png


+ 0 - 0
jme3-materialeditor/src/com/jme3/gde/materialdefinition/icons/attrib.png → jme3-core/src/com/jme3/gde/core/editor/icons/attrib.png


+ 0 - 0
jme3-materialeditor/src/com/jme3/gde/materialdefinition/icons/busOutput.png → jme3-core/src/com/jme3/gde/core/editor/icons/busOutput.png


+ 0 - 0
jme3-materialeditor/src/com/jme3/gde/materialdefinition/icons/code.png → jme3-core/src/com/jme3/gde/core/editor/icons/code.png


+ 0 - 0
jme3-materialeditor/src/com/jme3/gde/materialdefinition/icons/codeHover.png → jme3-core/src/com/jme3/gde/core/editor/icons/codeHover.png


+ 0 - 0
jme3-materialeditor/src/com/jme3/gde/materialdefinition/icons/collapse.png → jme3-core/src/com/jme3/gde/core/editor/icons/collapse.png


+ 0 - 0
jme3-materialeditor/src/com/jme3/gde/materialdefinition/icons/cube.png → jme3-core/src/com/jme3/gde/core/editor/icons/cube.png


+ 0 - 0
jme3-materialeditor/src/com/jme3/gde/materialdefinition/icons/cube.psd → jme3-core/src/com/jme3/gde/core/editor/icons/cube.psd


+ 0 - 0
jme3-materialeditor/src/com/jme3/gde/materialdefinition/icons/deleteNode.png → jme3-core/src/com/jme3/gde/core/editor/icons/deleteNode.png


+ 0 - 0
jme3-materialeditor/src/com/jme3/gde/materialdefinition/icons/deleteNodeHover.png → jme3-core/src/com/jme3/gde/core/editor/icons/deleteNodeHover.png


+ 0 - 0
jme3-materialeditor/src/com/jme3/gde/materialdefinition/icons/dot.png → jme3-core/src/com/jme3/gde/core/editor/icons/dot.png


+ 0 - 0
jme3-materialeditor/src/com/jme3/gde/materialdefinition/icons/dotGreen.png → jme3-core/src/com/jme3/gde/core/editor/icons/dotGreen.png


+ 0 - 0
jme3-materialeditor/src/com/jme3/gde/materialdefinition/icons/dotOrange.png → jme3-core/src/com/jme3/gde/core/editor/icons/dotOrange.png


+ 0 - 0
jme3-materialeditor/src/com/jme3/gde/materialdefinition/icons/dotRed.png → jme3-core/src/com/jme3/gde/core/editor/icons/dotRed.png


+ 0 - 0
jme3-materialeditor/src/com/jme3/gde/materialdefinition/icons/earth.png → jme3-core/src/com/jme3/gde/core/editor/icons/earth.png


+ 0 - 0
jme3-materialeditor/src/com/jme3/gde/materialdefinition/icons/earth_1.png → jme3-core/src/com/jme3/gde/core/editor/icons/earth_1.png


+ 0 - 0
jme3-materialeditor/src/com/jme3/gde/materialdefinition/icons/error.png → jme3-core/src/com/jme3/gde/core/editor/icons/error.png


+ 0 - 0
jme3-materialeditor/src/com/jme3/gde/materialdefinition/icons/expend.png → jme3-core/src/com/jme3/gde/core/editor/icons/expend.png


+ 0 - 0
jme3-materialeditor/src/com/jme3/gde/materialdefinition/icons/flip.png → jme3-core/src/com/jme3/gde/core/editor/icons/flip.png


+ 0 - 0
jme3-materialeditor/src/com/jme3/gde/materialdefinition/icons/fragment.png → jme3-core/src/com/jme3/gde/core/editor/icons/fragment.png


+ 0 - 0
jme3-materialeditor/src/com/jme3/gde/materialdefinition/icons/frontBack.png → jme3-core/src/com/jme3/gde/core/editor/icons/frontBack.png


+ 0 - 0
jme3-materialeditor/src/com/jme3/gde/materialdefinition/icons/in.png → jme3-core/src/com/jme3/gde/core/editor/icons/in.png


+ 0 - 0
jme3-materialeditor/src/com/jme3/gde/materialdefinition/icons/inputOutput.psd → jme3-core/src/com/jme3/gde/core/editor/icons/inputOutput.psd


+ 0 - 0
jme3-materialeditor/src/com/jme3/gde/materialdefinition/icons/mat.png → jme3-core/src/com/jme3/gde/core/editor/icons/mat.png


+ 0 - 0
jme3-materialeditor/src/com/jme3/gde/materialdefinition/icons/matdef.png → jme3-core/src/com/jme3/gde/core/editor/icons/matdef.png


+ 0 - 0
jme3-materialeditor/src/com/jme3/gde/materialdefinition/icons/node.png → jme3-core/src/com/jme3/gde/core/editor/icons/node.png


+ 0 - 0
jme3-materialeditor/src/com/jme3/gde/materialdefinition/icons/node.psd → jme3-core/src/com/jme3/gde/core/editor/icons/node.psd


+ 0 - 0
jme3-materialeditor/src/com/jme3/gde/materialdefinition/icons/ouptut.psd → jme3-core/src/com/jme3/gde/core/editor/icons/ouptut.psd


+ 0 - 0
jme3-materialeditor/src/com/jme3/gde/materialdefinition/icons/out.png → jme3-core/src/com/jme3/gde/core/editor/icons/out.png


+ 0 - 0
jme3-materialeditor/src/com/jme3/gde/materialdefinition/icons/output.png → jme3-core/src/com/jme3/gde/core/editor/icons/output.png


+ 0 - 0
jme3-materialeditor/src/com/jme3/gde/materialdefinition/icons/previewIcons.psd → jme3-core/src/com/jme3/gde/core/editor/icons/previewIcons.psd


+ 0 - 0
jme3-materialeditor/src/com/jme3/gde/materialdefinition/icons/reload.png → jme3-core/src/com/jme3/gde/core/editor/icons/reload.png


+ 0 - 0
jme3-materialeditor/src/com/jme3/gde/materialdefinition/icons/remove.png → jme3-core/src/com/jme3/gde/core/editor/icons/remove.png


+ 0 - 0
jme3-materialeditor/src/com/jme3/gde/materialdefinition/icons/repeat.png → jme3-core/src/com/jme3/gde/core/editor/icons/repeat.png


+ 0 - 0
jme3-materialeditor/src/com/jme3/gde/materialdefinition/icons/tech.png → jme3-core/src/com/jme3/gde/core/editor/icons/tech.png


+ 0 - 0
jme3-materialeditor/src/com/jme3/gde/materialdefinition/icons/vert.png → jme3-core/src/com/jme3/gde/core/editor/icons/vert.png


+ 1 - 1
jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/Connection.java → jme3-core/src/com/jme3/gde/core/editor/nodes/Connection.java

@@ -29,7 +29,7 @@
  *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
  *  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
-package com.jme3.gde.materialdefinition.editor;
+package com.jme3.gde.core.editor.nodes;
 
 /**
  * Form a Connection between two ConnectionEndpoints

+ 6 - 2
jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/ConnectionCurve.java → jme3-core/src/com/jme3/gde/core/editor/nodes/ConnectionCurve.java

@@ -29,7 +29,7 @@
  *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
  *  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
-package com.jme3.gde.materialdefinition.editor;
+package com.jme3.gde.core.editor.nodes;
 
 import java.awt.BasicStroke;
 import java.awt.Color;
@@ -134,7 +134,11 @@ public class ConnectionCurve extends JPanel implements ComponentListener,
         return key;
     }
 
-    protected void makeKey(Object mapping, String techName) {
+    public Object getMapping() {
+        return mapping;
+    }
+    
+    public void makeKey(Object mapping, String techName) {
         if (this instanceof Connection) {
             key = getDiagram().makeKeyForConnection((Connection)this, mapping);
             this.mapping = mapping;

+ 2 - 3
jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/ConnectionEndpoint.java → jme3-core/src/com/jme3/gde/core/editor/nodes/ConnectionEndpoint.java

@@ -29,10 +29,9 @@
  *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
  *  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
-package com.jme3.gde.materialdefinition.editor;
+package com.jme3.gde.core.editor.nodes;
 
-import com.jme3.gde.materialdefinition.icons.Icons;
-import com.jme3.shader.Shader;
+import com.jme3.gde.core.editor.icons.Icons;
 import java.awt.Component;
 import java.awt.Dimension;
 import java.awt.Graphics;

+ 2 - 3
jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/ConnectionStraight.java → jme3-core/src/com/jme3/gde/core/editor/nodes/ConnectionStraight.java

@@ -29,9 +29,8 @@
  *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
  *  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
-package com.jme3.gde.materialdefinition.editor;
+package com.jme3.gde.core.editor.nodes;
 
-import com.jme3.gde.materialdefinition.fileStructure.leaves.MappingBlock;
 import java.awt.Color;
 import java.awt.Graphics;
 import java.awt.Point;
@@ -573,7 +572,7 @@ public class ConnectionStraight extends JPanel implements ComponentListener,
 
     @Override
     public void propertyChange(PropertyChangeEvent evt) {
-        mapping = (MappingBlock) evt.getSource();
+        mapping = (Object) evt.getSource();
         key = "error";
         //key = MaterialUtils.makeKey(mapping, getDiagram().getCurrentTechniqueName());
     }

+ 3 - 18
jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/Diagram.java → jme3-core/src/com/jme3/gde/core/editor/nodes/Diagram.java

@@ -29,21 +29,8 @@
  *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
  *  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
-package com.jme3.gde.materialdefinition.editor;
-
-import com.jme3.gde.core.assets.ProjectAssetManager;
-import com.jme3.gde.materialdefinition.dialog.AddAttributeDialog;
-import com.jme3.gde.materialdefinition.dialog.AddMaterialParameterDialog;
-import com.jme3.gde.materialdefinition.dialog.AddNodeDialog;
-import com.jme3.gde.materialdefinition.dialog.AddWorldParameterDialog;
-import com.jme3.gde.materialdefinition.fileStructure.ShaderNodeBlock;
-import com.jme3.gde.materialdefinition.icons.Icons;
-import com.jme3.material.Material;
-import com.jme3.shader.Shader;
-import com.jme3.shader.ShaderNodeDefinition;
-import com.jme3.shader.ShaderNodeVariable;
-import com.jme3.shader.UniformBinding;
-import com.jme3.shader.VarType;
+package com.jme3.gde.core.editor.nodes;
+
 import java.awt.Color;
 import java.awt.Component;
 import java.awt.Cursor;
@@ -51,8 +38,6 @@ import java.awt.Dimension;
 import java.awt.Font;
 import java.awt.Point;
 import java.awt.Rectangle;
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
 import java.awt.event.ComponentEvent;
 import java.awt.event.ComponentListener;
 import java.awt.event.MouseEvent;
@@ -405,7 +390,7 @@ public abstract class Diagram extends JPanel implements MouseListener,
      * @param key The unique key
      * @return The selected item
      */
-    protected Selectable select(String key) {
+    public Selectable select(String key) {
         for (NodePanel nodePanel: nodes) {
             if (nodePanel.getKey().equals(key)) {
                 return doSelect(nodePanel, false);

+ 1 - 1
jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/DraggablePanel.java → jme3-core/src/com/jme3/gde/core/editor/nodes/DraggablePanel.java

@@ -29,7 +29,7 @@
  *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
  *  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
-package com.jme3.gde.materialdefinition.editor;
+package com.jme3.gde.core.editor.nodes;
 
 import java.awt.event.MouseEvent;
 import java.awt.event.MouseListener;

+ 1 - 1
jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/NodeEditor.java → jme3-core/src/com/jme3/gde/core/editor/nodes/NodeEditor.java

@@ -29,7 +29,7 @@
  *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
  *  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
-package com.jme3.gde.materialdefinition.editor;
+package com.jme3.gde.core.editor.nodes;
 
 import java.awt.Point;
 

+ 8 - 35
jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/NodePanel.java → jme3-core/src/com/jme3/gde/core/editor/nodes/NodePanel.java

@@ -29,14 +29,9 @@
  *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
  *  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
-package com.jme3.gde.materialdefinition.editor;
-
-import com.jme3.gde.materialdefinition.fileStructure.ShaderNodeBlock;
-import com.jme3.gde.materialdefinition.fileStructure.leaves.DefinitionBlock;
-import com.jme3.gde.materialdefinition.fileStructure.leaves.InputMappingBlock;
-import com.jme3.gde.materialdefinition.fileStructure.leaves.OutputMappingBlock;
-import com.jme3.gde.materialdefinition.icons.Icons;
-import com.jme3.shader.ShaderNodeDefinition;
+package com.jme3.gde.core.editor.nodes;
+
+import com.jme3.gde.core.editor.icons.Icons;
 import java.awt.Color;
 import java.awt.Font;
 import java.awt.GradientPaint;
@@ -61,11 +56,11 @@ import javax.swing.SwingUtilities;
  * The NodePanel is the actual implementation of a Node.
  * @author Nehon
  */
-public abstract class NodePanel extends DraggablePanel implements Selectable, InOut, KeyListener {
-    List<JLabel> inputLabels = new ArrayList<JLabel>();
-    List<JLabel> outputLabels = new ArrayList<JLabel>();
-    List<ConnectionEndpoint> inputDots = new ArrayList<ConnectionEndpoint>();
-    List<ConnectionEndpoint> outputDots = new ArrayList<ConnectionEndpoint>();
+public abstract class NodePanel extends DraggablePanel implements Selectable, KeyListener {
+    protected List<JLabel> inputLabels = new ArrayList<JLabel>();
+    protected List<JLabel> outputLabels = new ArrayList<JLabel>();
+    protected List<ConnectionEndpoint> inputDots = new ArrayList<ConnectionEndpoint>();
+    protected List<ConnectionEndpoint> outputDots = new ArrayList<ConnectionEndpoint>();
     private JPanel content;
     protected JLabel header;
     protected Color color;
@@ -169,7 +164,6 @@ public abstract class NodePanel extends DraggablePanel implements Selectable, In
     public void mouseReleased(MouseEvent e) {
         diagram.fixSize();
         if (svdx != getLocation().x) {
-            firePropertyChange(ShaderNodeBlock.POSITION, svdx, getLocation().x);
             getDiagram().getEditorParent().savePositionToMetaData(getKey(), getLocation().x, getLocation().y);
         }
     }
@@ -368,25 +362,4 @@ public abstract class NodePanel extends DraggablePanel implements Selectable, In
             NodePanel.this.dispatchEvent(me);
         }
     }
-
-    //@TODO: Solve the mistery about these methods
-    @Override
-    public void addInputMapping(InputMappingBlock block) {
-        firePropertyChange(ShaderNodeBlock.INPUT, null, block);
-    }
-
-    @Override
-    public void removeInputMapping(InputMappingBlock block) {
-        firePropertyChange(ShaderNodeBlock.INPUT, block, null);
-    }
-
-    @Override
-    public void addOutputMapping(OutputMappingBlock block) {
-        firePropertyChange(ShaderNodeBlock.OUTPUT, null, block);
-    }
-
-    @Override
-    public void removeOutputMapping(OutputMappingBlock block) {
-        firePropertyChange(ShaderNodeBlock.OUTPUT, block, null);
-    }
 }

+ 1 - 1
jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/NodeToolBar.java → jme3-core/src/com/jme3/gde/core/editor/nodes/NodeToolBar.java

@@ -29,7 +29,7 @@
  *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
  *  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
-package com.jme3.gde.materialdefinition.editor;
+package com.jme3.gde.core.editor.nodes;
 
 import java.awt.event.ComponentEvent;
 import java.awt.event.ComponentListener;

+ 1 - 1
jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/Selectable.java → jme3-core/src/com/jme3/gde/core/editor/nodes/Selectable.java

@@ -29,7 +29,7 @@
  *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
  *  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
-package com.jme3.gde.materialdefinition.editor;
+package com.jme3.gde.core.editor.nodes;
 
 /**
  * A marker interface for selectable items (Nodes and Connections)

+ 2 - 2
jme3-materialeditor/src/com/jme3/gde/materialdefinition/MatDefDataObject.java

@@ -69,7 +69,7 @@ mimeType = "text/jme-materialdefinition",
 extension = {"j3md", "J3MD"})
 @DataObject.Registration(
     mimeType = "text/jme-materialdefinition",
-iconBase = "com/jme3/gde/materialdefinition/icons/matdef.png",
+iconBase = "com/jme3/gde/core/editor/icons/matdef.png",
 displayName = "#LBL_MatDef_LOADER",
 position = 300)
 @ActionReferences({
@@ -192,7 +192,7 @@ public class MatDefDataObject extends MultiDataObject {
     
     @MultiViewElement.Registration(
         displayName = "#LBL_MatDef_EDITOR",
-    iconBase = "com/jme3/gde/materialdefinition/icons/matdef.png",
+    iconBase = "com/jme3/gde/core/editor/icons/matdef.png",
     mimeType = "text/jme-materialdefinition",
     persistenceType = TopComponent.PERSISTENCE_ONLY_OPENED,
     preferredID = "MatDef",

+ 1 - 1
jme3-materialeditor/src/com/jme3/gde/materialdefinition/dialog/AddMaterialParameterDialog.java

@@ -31,7 +31,7 @@
  */
 package com.jme3.gde.materialdefinition.dialog;
 
-import com.jme3.gde.materialdefinition.editor.Diagram;
+import com.jme3.gde.core.editor.nodes.Diagram;
 import com.jme3.gde.materialdefinition.editor.ShaderNodeDiagram;
 import com.jme3.shader.VarType;
 import java.awt.Point;

+ 1 - 1
jme3-materialeditor/src/com/jme3/gde/materialdefinition/dialog/AddNodeDialog.java

@@ -35,7 +35,7 @@ import com.jme3.asset.ShaderNodeDefinitionKey;
 import com.jme3.gde.core.assets.ProjectAssetManager;
 import com.jme3.gde.core.util.TreeUtil;
 import com.jme3.gde.materialdefinition.editor.ShaderNodeDiagram;
-import com.jme3.gde.materialdefinition.icons.Icons;
+import com.jme3.gde.core.editor.icons.Icons;
 import com.jme3.gde.materialdefinition.utils.DocFormatter;
 import com.jme3.shader.Shader;
 import com.jme3.shader.ShaderNodeDefinition;

+ 6 - 6
jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/BackdropPanel.form

@@ -57,7 +57,7 @@
               <Color blue="99" green="99" red="99" type="rgb"/>
             </Property>
             <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
-              <Image iconType="3" name="/com/jme3/gde/materialdefinition/icons/reload.png"/>
+              <Image iconType="3" name="/com/jme3/gde/core/editor/icons/reload.png"/>
             </Property>
             <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
               <ResourceString bundle="com/jme3/gde/materialdefinition/editor/Bundle.properties" key="BackdropPanel.reloadButton.toolTipText" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
@@ -94,7 +94,7 @@
               <Color blue="99" green="99" red="99" type="rgb"/>
             </Property>
             <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
-              <Image iconType="3" name="/com/jme3/gde/materialdefinition/icons/collapse.png"/>
+              <Image iconType="3" name="/com/jme3/gde/core/editor/icons/collapse.png"/>
             </Property>
             <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
               <ResourceString bundle="com/jme3/gde/materialdefinition/editor/Bundle.properties" key="BackdropPanel.expandButton.toolTipText" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
@@ -131,7 +131,7 @@
               <Color blue="99" green="99" red="99" type="rgb"/>
             </Property>
             <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
-              <Image iconType="3" name="/com/jme3/gde/materialdefinition/icons/Sphere.png"/>
+              <Image iconType="3" name="/com/jme3/gde/core/editor/icons/Sphere.png"/>
             </Property>
             <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
               <ResourceString bundle="com/jme3/gde/materialdefinition/editor/Bundle.properties" key="BackdropPanel.sphereButton.toolTipText" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
@@ -168,7 +168,7 @@
               <Color blue="99" green="99" red="99" type="rgb"/>
             </Property>
             <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
-              <Image iconType="3" name="/com/jme3/gde/materialdefinition/icons/cube.png"/>
+              <Image iconType="3" name="/com/jme3/gde/core/editor/icons/cube.png"/>
             </Property>
             <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
               <ResourceString bundle="com/jme3/gde/materialdefinition/editor/Bundle.properties" key="BackdropPanel.boxButton.toolTipText" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
@@ -205,7 +205,7 @@
               <Color blue="99" green="99" red="99" type="rgb"/>
             </Property>
             <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
-              <Image iconType="3" name="/com/jme3/gde/materialdefinition/icons/Quad.png"/>
+              <Image iconType="3" name="/com/jme3/gde/core/editor/icons/Quad.png"/>
             </Property>
             <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
               <ResourceString bundle="com/jme3/gde/materialdefinition/editor/Bundle.properties" key="BackdropPanel.quadButton.toolTipText" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
@@ -242,7 +242,7 @@
               <Color blue="99" green="99" red="99" type="rgb"/>
             </Property>
             <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
-              <Image iconType="3" name="/com/jme3/gde/materialdefinition/icons/frontBack.png"/>
+              <Image iconType="3" name="/com/jme3/gde/core/editor/icons/frontBack.png"/>
             </Property>
             <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
               <ResourceString bundle="com/jme3/gde/materialdefinition/editor/Bundle.properties" key="BackdropPanel.bringToFrontButton.toolTipText" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>

+ 7 - 6
jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/BackdropPanel.java

@@ -31,6 +31,7 @@
  */
 package com.jme3.gde.materialdefinition.editor;
 
+import com.jme3.gde.core.editor.nodes.Diagram;
 import com.jme3.gde.materials.MaterialPreviewRenderer;
 import com.jme3.material.Material;
 import java.awt.Container;
@@ -143,7 +144,7 @@ public class BackdropPanel extends JPanel implements MouseListener, ChangeListen
         toolBar.setOpaque(false);
 
         reloadButton.setBackground(new java.awt.Color(153, 153, 153));
-        reloadButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/jme3/gde/materialdefinition/icons/reload.png"))); // NOI18N
+        reloadButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/jme3/gde/core/editor/icons/reload.png"))); // NOI18N
         reloadButton.setToolTipText(org.openide.util.NbBundle.getMessage(BackdropPanel.class, "BackdropPanel.reloadButton.toolTipText")); // NOI18N
         reloadButton.setBorder(null);
         reloadButton.setBorderPainted(false);
@@ -169,7 +170,7 @@ public class BackdropPanel extends JPanel implements MouseListener, ChangeListen
         });
 
         expandButton.setBackground(new java.awt.Color(153, 153, 153));
-        expandButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/jme3/gde/materialdefinition/icons/collapse.png"))); // NOI18N
+        expandButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/jme3/gde/core/editor/icons/collapse.png"))); // NOI18N
         expandButton.setToolTipText(org.openide.util.NbBundle.getMessage(BackdropPanel.class, "BackdropPanel.expandButton.toolTipText")); // NOI18N
         expandButton.setBorder(null);
         expandButton.setBorderPainted(false);
@@ -195,7 +196,7 @@ public class BackdropPanel extends JPanel implements MouseListener, ChangeListen
         });
 
         sphereButton.setBackground(new java.awt.Color(153, 153, 153));
-        sphereButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/jme3/gde/materialdefinition/icons/Sphere.png"))); // NOI18N
+        sphereButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/jme3/gde/core/editor/icons/Sphere.png"))); // NOI18N
         sphereButton.setToolTipText(org.openide.util.NbBundle.getMessage(BackdropPanel.class, "BackdropPanel.sphereButton.toolTipText")); // NOI18N
         sphereButton.setBorder(null);
         sphereButton.setBorderPainted(false);
@@ -221,7 +222,7 @@ public class BackdropPanel extends JPanel implements MouseListener, ChangeListen
         });
 
         boxButton.setBackground(new java.awt.Color(153, 153, 153));
-        boxButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/jme3/gde/materialdefinition/icons/cube.png"))); // NOI18N
+        boxButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/jme3/gde/core/editor/icons/cube.png"))); // NOI18N
         boxButton.setToolTipText(org.openide.util.NbBundle.getMessage(BackdropPanel.class, "BackdropPanel.boxButton.toolTipText")); // NOI18N
         boxButton.setBorder(null);
         boxButton.setBorderPainted(false);
@@ -247,7 +248,7 @@ public class BackdropPanel extends JPanel implements MouseListener, ChangeListen
         });
 
         quadButton.setBackground(new java.awt.Color(153, 153, 153));
-        quadButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/jme3/gde/materialdefinition/icons/Quad.png"))); // NOI18N
+        quadButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/jme3/gde/core/editor/icons/Quad.png"))); // NOI18N
         quadButton.setToolTipText(org.openide.util.NbBundle.getMessage(BackdropPanel.class, "BackdropPanel.quadButton.toolTipText")); // NOI18N
         quadButton.setBorder(null);
         quadButton.setBorderPainted(false);
@@ -273,7 +274,7 @@ public class BackdropPanel extends JPanel implements MouseListener, ChangeListen
         });
 
         bringToFrontButton.setBackground(new java.awt.Color(153, 153, 153));
-        bringToFrontButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/jme3/gde/materialdefinition/icons/frontBack.png"))); // NOI18N
+        bringToFrontButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/jme3/gde/core/editor/icons/frontBack.png"))); // NOI18N
         bringToFrontButton.setToolTipText(org.openide.util.NbBundle.getMessage(BackdropPanel.class, "BackdropPanel.bringToFrontButton.toolTipText")); // NOI18N
         bringToFrontButton.setBorder(null);
         bringToFrontButton.setBorderPainted(false);

+ 1 - 1
jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/MatDefEditorToolBar.form

@@ -74,7 +74,7 @@
     <Component class="javax.swing.JButton" name="jButton1">
       <Properties>
         <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
-          <Image iconType="3" name="/com/jme3/gde/materialdefinition/icons/add.png"/>
+          <Image iconType="3" name="/com/jme3/gde/core/editor/icons/add.png"/>
         </Property>
         <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
           <ResourceString bundle="com/jme3/gde/materialdefinition/editor/Bundle.properties" key="MatDefEditorToolBar.jButton1.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>

+ 1 - 1
jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/MatDefEditorToolBar.java

@@ -112,7 +112,7 @@ public class MatDefEditorToolBar extends JPanel {
             }
         });
 
-        jButton1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/jme3/gde/materialdefinition/icons/add.png"))); // NOI18N
+        jButton1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/jme3/gde/core/editor/icons/add.png"))); // NOI18N
         org.openide.awt.Mnemonics.setLocalizedText(jButton1, org.openide.util.NbBundle.getMessage(MatDefEditorToolBar.class, "MatDefEditorToolBar.jButton1.text")); // NOI18N
         jButton1.setToolTipText(org.openide.util.NbBundle.getMessage(MatDefEditorToolBar.class, "MatDefEditorToolBar.jButton1.toolTipText")); // NOI18N
         jButton1.setMargin(new java.awt.Insets(2, 5, 2, 5));

+ 17 - 12
jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/MatDefEditorlElement.java

@@ -31,6 +31,12 @@
  */
 package com.jme3.gde.materialdefinition.editor;
 
+import com.jme3.gde.core.editor.nodes.ConnectionEndpoint;
+import com.jme3.gde.core.editor.nodes.Connection;
+import com.jme3.gde.core.editor.nodes.NodeEditor;
+import com.jme3.gde.core.editor.nodes.Diagram;
+import com.jme3.gde.core.editor.nodes.NodePanel;
+import com.jme3.gde.core.editor.nodes.Selectable;
 import com.jme3.asset.ShaderNodeDefinitionKey;
 import com.jme3.gde.core.assets.ProjectAssetManager;
 import com.jme3.gde.materialdefinition.EditableMatDefFile;
@@ -92,7 +98,7 @@ import org.openide.windows.TopComponent;
 
 @MultiViewElement.Registration(
         displayName = "#LBL_MatDef_EDITOR",
-        iconBase = "com/jme3/gde/materialdefinition/icons/matdef.png",
+        iconBase = "com/jme3/gde/core/editor/icons/matdef.png",
         mimeType = "text/jme-materialdefinition",
         persistenceType = TopComponent.PERSISTENCE_ONLY_OPENED,
         preferredID = "MatDefVisual",
@@ -510,15 +516,15 @@ public final class MatDefEditorlElement extends JPanel implements
 
     @Override
     public void makeMapping(Connection conn) {
-        InOut startNode = (InOut) conn.start.getNode();
-        InOut endNode = (InOut) conn.end.getNode();
-        String leftVarName = conn.end.getText();
-        String rightVarName = conn.start.getText();
+        InOut startNode = (InOut) conn.getStart().getNode();
+        InOut endNode = (InOut) conn.getEnd().getNode();
+        String leftVarName = conn.getEnd().getText();
+        String rightVarName = conn.getStart().getText();
         String leftVarSwizzle = null;
         String rightVarSwizzle = null;
 
-        int endCard = ShaderUtils.getCardinality(conn.end.getType(), "");
-        int startCard = ShaderUtils.getCardinality(conn.start.getType(), "");
+        int endCard = ShaderUtils.getCardinality(conn.getEnd().getType(), "");
+        int startCard = ShaderUtils.getCardinality(conn.getStart().getType(), "");
         String swizzle = "xyzw";
         if (startCard > endCard) {
             rightVarSwizzle = swizzle.substring(0, endCard);
@@ -539,12 +545,12 @@ public final class MatDefEditorlElement extends JPanel implements
 
     @Override
     public void notifyRemoveConnection(Connection conn) {
-        InOut startNode = (InOut) conn.start.getNode();
-        InOut endNode = (InOut) conn.end.getNode();
+        InOut startNode = (InOut) conn.getStart().getNode();
+        InOut endNode = (InOut) conn.getEnd().getNode();
         if (endNode instanceof ShaderOutBusPanel) {
-            startNode.removeOutputMapping((OutputMappingBlock) conn.mapping);
+            startNode.removeOutputMapping((OutputMappingBlock) conn.getMapping());
         } else {
-            endNode.removeInputMapping((InputMappingBlock) conn.mapping);
+            endNode.removeInputMapping((InputMappingBlock) conn.getMapping());
         }
     }
 
@@ -733,7 +739,6 @@ public final class MatDefEditorlElement extends JPanel implements
     @Override
     public void savePositionToMetaData(String key, int x, int y) throws NumberFormatException {
         metaData.setProperty(diagram1.getCurrentTechniqueName() + "/" + key, x + "," + y);
-
     }
 
     public void reload() {

+ 5 - 5
jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/MatPanel.form

@@ -74,7 +74,7 @@
               <Color blue="99" green="99" red="99" type="rgb"/>
             </Property>
             <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
-              <Image iconType="3" name="/com/jme3/gde/materialdefinition/icons/Sphere.png"/>
+              <Image iconType="3" name="/com/jme3/gde/core/editor/icons/Sphere.png"/>
             </Property>
             <Property name="toolTipText" type="java.lang.String" value="Sphere"/>
             <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
@@ -109,7 +109,7 @@
               <Color blue="99" green="99" red="99" type="rgb"/>
             </Property>
             <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
-              <Image iconType="3" name="/com/jme3/gde/materialdefinition/icons/cube.png"/>
+              <Image iconType="3" name="/com/jme3/gde/core/editor/icons/cube.png"/>
             </Property>
             <Property name="toolTipText" type="java.lang.String" value="Cube"/>
             <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
@@ -144,7 +144,7 @@
               <Color blue="99" green="99" red="99" type="rgb"/>
             </Property>
             <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
-              <Image iconType="3" name="/com/jme3/gde/materialdefinition/icons/reload.png"/>
+              <Image iconType="3" name="/com/jme3/gde/core/editor/icons/reload.png"/>
             </Property>
             <Property name="toolTipText" type="java.lang.String" value="Refresh"/>
             <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
@@ -179,7 +179,7 @@
               <Color blue="99" green="99" red="99" type="rgb"/>
             </Property>
             <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
-              <Image iconType="3" name="/com/jme3/gde/materialdefinition/icons/Quad.png"/>
+              <Image iconType="3" name="/com/jme3/gde/core/editor/icons/Quad.png"/>
             </Property>
             <Property name="toolTipText" type="java.lang.String" value="Quad"/>
             <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
@@ -214,7 +214,7 @@
               <Color blue="99" green="99" red="99" type="rgb"/>
             </Property>
             <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
-              <Image iconType="3" name="/com/jme3/gde/materialdefinition/icons/expend.png"/>
+              <Image iconType="3" name="/com/jme3/gde/core/editor/icons/expend.png"/>
             </Property>
             <Property name="toolTipText" type="java.lang.String" value="Display Backdrop"/>
             <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">

+ 5 - 5
jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/MatPanel.java

@@ -104,7 +104,7 @@ public class MatPanel extends JPanel implements MouseListener, ComponentListener
         toolBar.setOpaque(false);
 
         sphereButton.setBackground(new java.awt.Color(153, 153, 153));
-        sphereButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/jme3/gde/materialdefinition/icons/Sphere.png"))); // NOI18N
+        sphereButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/jme3/gde/core/editor/icons/Sphere.png"))); // NOI18N
         sphereButton.setToolTipText("Sphere");
         sphereButton.setBorder(null);
         sphereButton.setBorderPainted(false);
@@ -130,7 +130,7 @@ public class MatPanel extends JPanel implements MouseListener, ComponentListener
         });
 
         boxButton.setBackground(new java.awt.Color(153, 153, 153));
-        boxButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/jme3/gde/materialdefinition/icons/cube.png"))); // NOI18N
+        boxButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/jme3/gde/core/editor/icons/cube.png"))); // NOI18N
         boxButton.setToolTipText("Cube");
         boxButton.setBorder(null);
         boxButton.setBorderPainted(false);
@@ -156,7 +156,7 @@ public class MatPanel extends JPanel implements MouseListener, ComponentListener
         });
 
         reloadButton.setBackground(new java.awt.Color(153, 153, 153));
-        reloadButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/jme3/gde/materialdefinition/icons/reload.png"))); // NOI18N
+        reloadButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/jme3/gde/core/editor/icons/reload.png"))); // NOI18N
         reloadButton.setToolTipText("Refresh");
         reloadButton.setBorder(null);
         reloadButton.setBorderPainted(false);
@@ -182,7 +182,7 @@ public class MatPanel extends JPanel implements MouseListener, ComponentListener
         });
 
         quadButton.setBackground(new java.awt.Color(153, 153, 153));
-        quadButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/jme3/gde/materialdefinition/icons/Quad.png"))); // NOI18N
+        quadButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/jme3/gde/core/editor/icons/Quad.png"))); // NOI18N
         quadButton.setToolTipText("Quad");
         quadButton.setBorder(null);
         quadButton.setBorderPainted(false);
@@ -208,7 +208,7 @@ public class MatPanel extends JPanel implements MouseListener, ComponentListener
         });
 
         expandButton.setBackground(new java.awt.Color(153, 153, 153));
-        expandButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/jme3/gde/materialdefinition/icons/expend.png"))); // NOI18N
+        expandButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/jme3/gde/core/editor/icons/expend.png"))); // NOI18N
         expandButton.setToolTipText("Display Backdrop");
         expandButton.setBorder(null);
         expandButton.setBorderPainted(false);

+ 2 - 2
jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/ShaderEditPanel.form

@@ -101,7 +101,7 @@
             </Property>
             <Property name="horizontalAlignment" type="int" value="0"/>
             <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
-              <Image iconType="3" name="/com/jme3/gde/materialdefinition/icons/fragment.png"/>
+              <Image iconType="3" name="/com/jme3/gde/core/editor/icons/fragment.png"/>
             </Property>
             <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
               <ResourceString bundle="com/jme3/gde/materialdefinition/editor/Bundle.properties" key="ShaderEditPanel.headerText.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
@@ -114,7 +114,7 @@
               <Font name="Tahoma" size="8" style="1"/>
             </Property>
             <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
-              <Image iconType="3" name="/com/jme3/gde/materialdefinition/icons/out.png"/>
+              <Image iconType="3" name="/com/jme3/gde/core/editor/icons/out.png"/>
             </Property>
             <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
               <ResourceString bundle="com/jme3/gde/materialdefinition/editor/Bundle.properties" key="ShaderEditPanel.closeButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>

+ 2 - 2
jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/ShaderEditPanel.java

@@ -233,11 +233,11 @@ public class ShaderEditPanel extends JPanel {
 
         headerText.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
         headerText.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
-        headerText.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/jme3/gde/materialdefinition/icons/fragment.png"))); // NOI18N
+        headerText.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/jme3/gde/core/editor/icons/fragment.png"))); // NOI18N
         org.openide.awt.Mnemonics.setLocalizedText(headerText, org.openide.util.NbBundle.getMessage(ShaderEditPanel.class, "ShaderEditPanel.headerText.text")); // NOI18N
 
         closeButton.setFont(new java.awt.Font("Tahoma", 1, 8)); // NOI18N
-        closeButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/jme3/gde/materialdefinition/icons/out.png"))); // NOI18N
+        closeButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/jme3/gde/core/editor/icons/out.png"))); // NOI18N
         org.openide.awt.Mnemonics.setLocalizedText(closeButton, org.openide.util.NbBundle.getMessage(ShaderEditPanel.class, "ShaderEditPanel.closeButton.text")); // NOI18N
         closeButton.setToolTipText(org.openide.util.NbBundle.getMessage(ShaderEditPanel.class, "ShaderEditPanel.closeButton.toolTipText")); // NOI18N
         closeButton.setMargin(new java.awt.Insets(0, 0, 0, 0));

+ 6 - 2
jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/ShaderNodeDiagram.java

@@ -31,6 +31,10 @@
  */
 package com.jme3.gde.materialdefinition.editor;
 
+import com.jme3.gde.core.editor.nodes.Connection;
+import com.jme3.gde.core.editor.nodes.Diagram;
+import com.jme3.gde.core.editor.nodes.NodePanel;
+import com.jme3.gde.core.editor.nodes.Selectable;
 import com.jme3.gde.core.assets.ProjectAssetManager;
 import com.jme3.gde.materialdefinition.dialog.AddAttributeDialog;
 import com.jme3.gde.materialdefinition.dialog.AddMaterialParameterDialog;
@@ -39,7 +43,7 @@ import com.jme3.gde.materialdefinition.dialog.AddWorldParameterDialog;
 import com.jme3.gde.materialdefinition.editor.ShaderNodePanel.NodeType;
 import com.jme3.gde.materialdefinition.fileStructure.ShaderNodeBlock;
 import com.jme3.gde.materialdefinition.fileStructure.leaves.MappingBlock;
-import com.jme3.gde.materialdefinition.icons.Icons;
+import com.jme3.gde.core.editor.icons.Icons;
 import com.jme3.gde.materialdefinition.utils.MaterialUtils;
 import com.jme3.material.Material;
 import com.jme3.shader.Shader;
@@ -324,7 +328,7 @@ public class ShaderNodeDiagram extends Diagram implements
     @Override
     protected void createPopupMenu() {
         super.createPopupMenu();
-
+        System.err.println("YES");
         JMenuItem nodeItem = createMenuItem("Node", Icons.node);
         nodeItem.addActionListener(new ActionListener() {
             @Override

+ 2 - 1
jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/ShaderNodeDot.java

@@ -31,7 +31,8 @@
  */
 package com.jme3.gde.materialdefinition.editor;
 
-import com.jme3.gde.materialdefinition.icons.Icons;
+import com.jme3.gde.core.editor.nodes.ConnectionEndpoint;
+import com.jme3.gde.core.editor.icons.Icons;
 import com.jme3.shader.Shader;
 import com.jme3.shader.ShaderUtils;
 

+ 37 - 2
jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/ShaderNodePanel.java

@@ -31,13 +31,18 @@
  */
 package com.jme3.gde.materialdefinition.editor;
 
+import com.jme3.gde.core.editor.nodes.ConnectionEndpoint;
+import com.jme3.gde.core.editor.nodes.NodePanel;
 import com.jme3.gde.materialdefinition.fileStructure.ShaderNodeBlock;
 import com.jme3.gde.materialdefinition.fileStructure.leaves.DefinitionBlock;
-import com.jme3.gde.materialdefinition.icons.Icons;
+import com.jme3.gde.materialdefinition.fileStructure.leaves.InputMappingBlock;
+import com.jme3.gde.materialdefinition.fileStructure.leaves.OutputMappingBlock;
+import com.jme3.gde.core.editor.icons.Icons;
 import com.jme3.shader.Shader;
 import com.jme3.shader.ShaderNodeDefinition;
 import com.jme3.shader.ShaderNodeVariable;
 import java.awt.Color;
+import java.awt.event.MouseEvent;
 import java.beans.PropertyChangeEvent;
 import java.beans.PropertyChangeListener;
 import java.util.ArrayList;
@@ -50,7 +55,8 @@ import org.openide.util.WeakListeners;
  * {@link NodePanel}. 
  * @author MeFisto94
  */
-public class ShaderNodePanel extends NodePanel implements PropertyChangeListener {
+public class ShaderNodePanel extends NodePanel implements InOut, 
+        PropertyChangeListener {
     private NodeType type = NodeType.Vertex;
     protected Shader.ShaderType shaderType;
     // The Name of the currently active Technique
@@ -133,6 +139,14 @@ public class ShaderNodePanel extends NodePanel implements PropertyChangeListener
         setOpaque(false);
     }
 
+    @Override
+    public void mouseReleased(MouseEvent e) {
+        super.mouseReleased(e);
+        if (svdx != getLocation().x) {
+            firePropertyChange(ShaderNodeBlock.POSITION, svdx, getLocation().x);
+        }
+    }
+
     @Override
     public void propertyChange(PropertyChangeEvent evt) {
         if (evt.getPropertyName().equals("name")) {
@@ -232,4 +246,25 @@ public class ShaderNodePanel extends NodePanel implements PropertyChangeListener
         dot1.setType(type);
         return dot1;
     }
+    
+    // Callbacks when Connections are formed and released
+    @Override
+    public void addInputMapping(InputMappingBlock block) {
+        firePropertyChange(ShaderNodeBlock.INPUT, null, block);
+    }
+
+    @Override
+    public void removeInputMapping(InputMappingBlock block) {
+        firePropertyChange(ShaderNodeBlock.INPUT, block, null);
+    }
+
+    @Override
+    public void addOutputMapping(OutputMappingBlock block) {
+        firePropertyChange(ShaderNodeBlock.OUTPUT, null, block);
+    }
+
+    @Override
+    public void removeOutputMapping(OutputMappingBlock block) {
+        firePropertyChange(ShaderNodeBlock.OUTPUT, block, null);
+    }
 }

+ 4 - 4
jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/ShaderNodeToolBar.form

@@ -23,7 +23,7 @@
           <Color blue="ff" green="ff" red="ff" type="rgb"/>
         </Property>
         <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
-          <Image iconType="3" name="/com/jme3/gde/materialdefinition/icons/code.png"/>
+          <Image iconType="3" name="/com/jme3/gde/core/editor/icons/code.png"/>
         </Property>
         <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
           <ResourceString bundle="com/jme3/gde/materialdefinition/editor/Bundle.properties" key="ShaderNodeToolBar.codeButton.toolTipText" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
@@ -45,7 +45,7 @@
           <Dimension value="[24, 24]"/>
         </Property>
         <Property name="rolloverIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
-          <Image iconType="3" name="/com/jme3/gde/materialdefinition/icons/codeHover.png"/>
+          <Image iconType="3" name="/com/jme3/gde/core/editor/icons/codeHover.png"/>
         </Property>
       </Properties>
       <Events>
@@ -63,7 +63,7 @@
           <Color blue="ff" green="ff" red="ff" type="rgb"/>
         </Property>
         <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
-          <Image iconType="3" name="/com/jme3/gde/materialdefinition/icons/deleteNode.png"/>
+          <Image iconType="3" name="/com/jme3/gde/core/editor/icons/deleteNode.png"/>
         </Property>
         <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
           <ResourceString bundle="com/jme3/gde/materialdefinition/editor/Bundle.properties" key="ShaderNodeToolBar.deleteButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
@@ -88,7 +88,7 @@
           <Dimension value="[24, 24]"/>
         </Property>
         <Property name="rolloverIcon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
-          <Image iconType="3" name="/com/jme3/gde/materialdefinition/icons/deleteNodeHover.png"/>
+          <Image iconType="3" name="/com/jme3/gde/core/editor/icons/deleteNodeHover.png"/>
         </Property>
       </Properties>
       <Events>

+ 6 - 4
jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/ShaderNodeToolBar.java

@@ -31,6 +31,8 @@
  */
 package com.jme3.gde.materialdefinition.editor;
 
+import com.jme3.gde.core.editor.nodes.NodeToolBar;
+
 /**
  * This class displays a small bar with an edit and remove icon.
  * 
@@ -76,7 +78,7 @@ public class ShaderNodeToolBar extends NodeToolBar {
         setLayout(layout);
 
         codeButton.setBackground(new java.awt.Color(255, 255, 255));
-        codeButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/jme3/gde/materialdefinition/icons/code.png"))); // NOI18N
+        codeButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/jme3/gde/core/editor/icons/code.png"))); // NOI18N
         codeButton.setToolTipText(org.openide.util.NbBundle.getMessage(ShaderNodeToolBar.class, "ShaderNodeToolBar.codeButton.toolTipText")); // NOI18N
         codeButton.setBorder(null);
         codeButton.setBorderPainted(false);
@@ -86,7 +88,7 @@ public class ShaderNodeToolBar extends NodeToolBar {
         codeButton.setIconTextGap(0);
         codeButton.setMaximumSize(new java.awt.Dimension(24, 24));
         codeButton.setMinimumSize(new java.awt.Dimension(24, 24));
-        codeButton.setRolloverIcon(new javax.swing.ImageIcon(getClass().getResource("/com/jme3/gde/materialdefinition/icons/codeHover.png"))); // NOI18N
+        codeButton.setRolloverIcon(new javax.swing.ImageIcon(getClass().getResource("/com/jme3/gde/core/editor/icons/codeHover.png"))); // NOI18N
         codeButton.addActionListener(new java.awt.event.ActionListener() {
             public void actionPerformed(java.awt.event.ActionEvent evt) {
                 codeButtonActionPerformed(evt);
@@ -95,7 +97,7 @@ public class ShaderNodeToolBar extends NodeToolBar {
         add(codeButton, new java.awt.GridBagConstraints());
 
         deleteButton.setBackground(new java.awt.Color(255, 255, 255));
-        deleteButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/jme3/gde/materialdefinition/icons/deleteNode.png"))); // NOI18N
+        deleteButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/jme3/gde/core/editor/icons/deleteNode.png"))); // NOI18N
         org.openide.awt.Mnemonics.setLocalizedText(deleteButton, org.openide.util.NbBundle.getMessage(ShaderNodeToolBar.class, "ShaderNodeToolBar.deleteButton.text")); // NOI18N
         deleteButton.setToolTipText(org.openide.util.NbBundle.getMessage(ShaderNodeToolBar.class, "ShaderNodeToolBar.deleteButton.toolTipText")); // NOI18N
         deleteButton.setBorder(null);
@@ -106,7 +108,7 @@ public class ShaderNodeToolBar extends NodeToolBar {
         deleteButton.setIconTextGap(0);
         deleteButton.setMaximumSize(new java.awt.Dimension(24, 24));
         deleteButton.setMinimumSize(new java.awt.Dimension(24, 24));
-        deleteButton.setRolloverIcon(new javax.swing.ImageIcon(getClass().getResource("/com/jme3/gde/materialdefinition/icons/deleteNodeHover.png"))); // NOI18N
+        deleteButton.setRolloverIcon(new javax.swing.ImageIcon(getClass().getResource("/com/jme3/gde/core/editor/icons/deleteNodeHover.png"))); // NOI18N
         deleteButton.addActionListener(new java.awt.event.ActionListener() {
             public void actionPerformed(java.awt.event.ActionEvent evt) {
                 deleteButtonActionPerformed(evt);

+ 4 - 0
jme3-materialeditor/src/com/jme3/gde/materialdefinition/editor/ShaderOutBusPanel.java

@@ -31,6 +31,10 @@
  */
 package com.jme3.gde.materialdefinition.editor;
 
+import com.jme3.gde.core.editor.nodes.DraggablePanel;
+import com.jme3.gde.core.editor.nodes.ConnectionEndpoint;
+import com.jme3.gde.core.editor.nodes.Diagram;
+import com.jme3.gde.core.editor.nodes.Selectable;
 import com.jme3.gde.materialdefinition.fileStructure.leaves.InputMappingBlock;
 import com.jme3.gde.materialdefinition.fileStructure.leaves.OutputMappingBlock;
 import com.jme3.material.Material;

+ 2 - 20
jme3-materialeditor/src/com/jme3/gde/materialdefinition/icons/Icons.java

@@ -39,29 +39,11 @@ import javax.swing.ImageIcon;
  * @author Nehon
  */
 public class Icons {
-
-    public final static ImageIcon node = new ImageIcon(Icons.class.getResource("node.png"));
-    public final static ImageIcon output = new ImageIcon(Icons.class.getResource("output.png"));
-    public final static ImageIcon world = new ImageIcon(Icons.class.getResource("earth.png"));
-    public final static ImageIcon attrib = new ImageIcon(Icons.class.getResource("attrib.png"));
-    public final static ImageIcon mat = new ImageIcon(Icons.class.getResource("mat.png"));
-    public final static ImageIcon vert = new ImageIcon(Icons.class.getResource("vert.png"));
-    public final static ImageIcon frag = new ImageIcon(Icons.class.getResource("fragment.png"));
-    public final static ImageIcon imgGrey = new ImageIcon(Icons.class.getResource("dot.png"));
-    public final static ImageIcon imgGreen = new ImageIcon(Icons.class.getResource("dotGreen.png"));
-    public final static ImageIcon imgOrange = new ImageIcon(Icons.class.getResource("dotOrange.png"));
-    public final static ImageIcon imgRed = new ImageIcon(Icons.class.getResource("dotRed.png"));
-    public final static ImageIcon matDef = new ImageIcon(Icons.class.getResource("matdef.png"));
-    public final static ImageIcon tech = new ImageIcon(Icons.class.getResource("tech.png"));
-    public final static ImageIcon in = new ImageIcon(Icons.class.getResource("in.png"));
-    public final static ImageIcon out = new ImageIcon(Icons.class.getResource("out.png"));
-    public final static ImageIcon error = new ImageIcon(Icons.class.getResource("error.png"));
-
     public static ImageIcon getIconForShaderType(ShaderNodePanel.NodeType type) {
         if (type == ShaderNodePanel.NodeType.Fragment) {
-            return frag;
+            return com.jme3.gde.core.editor.icons.Icons.frag;
         } else {
-            return vert;
+            return com.jme3.gde.core.editor.icons.Icons.vert;
         }
     }
 }

+ 2 - 2
jme3-materialeditor/src/com/jme3/gde/materialdefinition/navigator/node/MappingNode.java

@@ -5,10 +5,10 @@
 package com.jme3.gde.materialdefinition.navigator.node;
 
 import com.jme3.gde.materialdefinition.MatDefDataObject;
-import com.jme3.gde.materialdefinition.editor.Selectable;
+import com.jme3.gde.core.editor.nodes.Selectable;
 import com.jme3.gde.materialdefinition.fileStructure.leaves.InputMappingBlock;
 import com.jme3.gde.materialdefinition.fileStructure.leaves.MappingBlock;
-import com.jme3.gde.materialdefinition.icons.Icons;
+import com.jme3.gde.core.editor.icons.Icons;
 import com.jme3.gde.materialdefinition.navigator.node.properties.DefaultProperty;
 import com.jme3.gde.materialdefinition.utils.MaterialUtils;
 import java.awt.Image;

+ 2 - 2
jme3-materialeditor/src/com/jme3/gde/materialdefinition/navigator/node/MatDefNode.java

@@ -4,10 +4,10 @@
  */
 package com.jme3.gde.materialdefinition.navigator.node;
 
-import com.jme3.gde.materialdefinition.editor.Selectable;
+import com.jme3.gde.core.editor.nodes.Selectable;
 import com.jme3.gde.materialdefinition.fileStructure.MatDefBlock;
 import com.jme3.gde.materialdefinition.fileStructure.TechniqueBlock;
-import com.jme3.gde.materialdefinition.icons.Icons;
+import com.jme3.gde.core.editor.icons.Icons;
 import com.jme3.gde.materialdefinition.navigator.node.properties.DefaultProperty;
 import java.awt.Image;
 import java.beans.PropertyChangeEvent;

+ 2 - 2
jme3-materialeditor/src/com/jme3/gde/materialdefinition/navigator/node/ShaderNodeNode.java

@@ -6,12 +6,12 @@ package com.jme3.gde.materialdefinition.navigator.node;
 
 import com.jme3.gde.core.assets.ProjectAssetManager;
 import com.jme3.gde.materialdefinition.MatDefDataObject;
-import com.jme3.gde.materialdefinition.editor.Selectable;
+import com.jme3.gde.core.editor.nodes.Selectable;
 import com.jme3.gde.materialdefinition.fileStructure.MatDefBlock;
 import com.jme3.gde.materialdefinition.fileStructure.ShaderNodeBlock;
 import com.jme3.gde.materialdefinition.fileStructure.TechniqueBlock;
 import com.jme3.gde.materialdefinition.fileStructure.leaves.MappingBlock;
-import com.jme3.gde.materialdefinition.icons.Icons;
+import com.jme3.gde.core.editor.icons.Icons;
 import com.jme3.gde.materialdefinition.navigator.node.properties.DefaultProperty;
 import com.jme3.gde.materialdefinition.utils.MaterialUtils;
 import com.jme3.shader.Shader;

+ 2 - 2
jme3-materialeditor/src/com/jme3/gde/materialdefinition/navigator/node/TechniqueNode.java

@@ -4,10 +4,10 @@
  */
 package com.jme3.gde.materialdefinition.navigator.node;
 
-import com.jme3.gde.materialdefinition.editor.Selectable;
+import com.jme3.gde.core.editor.nodes.Selectable;
 import com.jme3.gde.materialdefinition.fileStructure.ShaderNodeBlock;
 import com.jme3.gde.materialdefinition.fileStructure.TechniqueBlock;
-import com.jme3.gde.materialdefinition.icons.Icons;
+import com.jme3.gde.core.editor.icons.Icons;
 import com.jme3.gde.materialdefinition.navigator.node.properties.DefaultProperty;
 import java.awt.Image;
 import java.beans.PropertyChangeEvent;

+ 1 - 1
jme3-materialeditor/src/com/jme3/gde/materialdefinition/package-info.java

@@ -29,7 +29,7 @@
  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
-@TemplateRegistration(folder = "Material", content = "MatDef.j3md",displayName="Material Definition Template")
+@TemplateRegistration(folder = "Material", content = "MatDef.j3md", displayName="Material Definition Template")
 package com.jme3.gde.materialdefinition;
 
 import org.netbeans.api.templates.TemplateRegistration;

+ 1 - 1
jme3-materialeditor/src/com/jme3/gde/materialdefinition/shadervisual/MatDefShaderElement.java

@@ -47,7 +47,7 @@ import org.openide.windows.TopComponent;
 
 @MultiViewElement.Registration(
     displayName = "#LBL_MatDef_SHADER",
-iconBase = "com/jme3/gde/materialdefinition/icons/matdef.png",
+iconBase = "com/jme3/gde/core/editor/icons/matdef.png",
 mimeType = "text/jme-materialdefinition",
 persistenceType = TopComponent.PERSISTENCE_ONLY_OPENED,
 preferredID = "MatDefVisual",

+ 1 - 1
jme3-materialeditor/src/com/jme3/gde/materialdefinition/shadervisual/ShaderVisualToolBar.java

@@ -4,7 +4,7 @@
  */
 package com.jme3.gde.materialdefinition.shadervisual;
 
-import com.jme3.gde.materialdefinition.icons.Icons;
+import com.jme3.gde.core.editor.icons.Icons;
 import com.jme3.shader.Shader;
 
 /**

+ 1 - 1
jme3-materialeditor/src/com/jme3/gde/materialdefinition/utils/DocFormatter.java

@@ -5,7 +5,7 @@
 package com.jme3.gde.materialdefinition.utils;
 
 import com.jme3.gde.materialdefinition.dialog.AddNodeDialog;
-import com.jme3.gde.materialdefinition.icons.Icons;
+import com.jme3.gde.core.editor.icons.Icons;
 import com.jme3.shader.ShaderNodeDefinition;
 import java.util.logging.Level;
 import java.util.logging.Logger;

+ 1 - 1
jme3-materialeditor/src/com/jme3/gde/materials/MaterialPreviewRenderer.java

@@ -11,7 +11,7 @@ import com.jme3.gde.core.scene.PreviewRequest;
 import com.jme3.gde.core.scene.SceneApplication;
 import com.jme3.gde.core.scene.SceneListener;
 import com.jme3.gde.core.scene.SceneRequest;
-import com.jme3.gde.materialdefinition.icons.Icons;
+import com.jme3.gde.core.editor.icons.Icons;
 import com.jme3.material.MatParam;
 import com.jme3.material.Material;
 import com.jme3.math.FastMath;

+ 2 - 2
jme3-materialeditor/src/com/jme3/gde/shadernodedefinition/SNDefDataObject.java

@@ -31,7 +31,7 @@ import org.openide.windows.TopComponent;
 )
 @DataObject.Registration(
         mimeType = "text/x-j3sn",
-        iconBase = "com/jme3/gde/materialdefinition/icons/node.png",
+        iconBase = "com/jme3/gde/core/editor/icons/node.png",
         displayName = "#LBL_SNDef_LOADER",
         position = 300
 )
@@ -101,7 +101,7 @@ public class SNDefDataObject extends MultiDataObject {
 
     @MultiViewElement.Registration(
             displayName = "#LBL_SNDef_EDITOR",
-            iconBase = "com/jme3/gde/materialdefinition/icons/node.png",
+            iconBase = "com/jme3/gde/core/editor/icons/node.png",
             mimeType = "text/x-j3sn",
             persistenceType = TopComponent.PERSISTENCE_ONLY_OPENED,
             preferredID = "SNDef",

+ 1 - 1
jme3-materialeditor/src/com/jme3/gde/shadernodedefinition/SNDefVisualElement.java

@@ -19,7 +19,7 @@ import org.openide.windows.TopComponent;
 
 @MultiViewElement.Registration(
         displayName = "#LBL_SNDef_VISUAL",
-        iconBase = "com/jme3/gde/materialdefinition/icons/node.png",
+        iconBase = "com/jme3/gde/core/editor/icons/node.png",
         mimeType = "text/x-j3sn",
         persistenceType = TopComponent.PERSISTENCE_NEVER,
         preferredID = "SNDefVisual",

+ 1 - 1
jme3-materialeditor/src/com/jme3/gde/shadernodedefinition/wizard/SNDefWizardIterator.java

@@ -32,7 +32,7 @@ import org.openide.util.NbBundle.Messages;
 
 // TODO define position attribute
 @TemplateRegistrations({
-    @TemplateRegistration(folder = "Material", content = "../SNDefTemplate.j3sn", displayName = "Shader Node Definition", iconBase = "com/jme3/gde/materialdefinition/icons/node.png", description = "./sNDef.html", scriptEngine = "freemarker"),
+    @TemplateRegistration(folder = "Material", content = "../SNDefTemplate.j3sn", displayName = "Shader Node Definition", iconBase = "com/jme3/gde/core/editor/icons/node.png", description = "./sNDef.html", scriptEngine = "freemarker"),
     @TemplateRegistration(folder = "Material", content = "../ShaderNodeSource", scriptEngine = "freemarker")
 })
 @Messages("SNDefWizardIterator_displayName=Shader Node Definition")