Browse Source

Merge pull request #199 from jMonkeyEngine/netbeans-9

Upgrade SDK to Netbeans 9
MeFisto94 5 years ago
parent
commit
27760a1308
100 changed files with 2185 additions and 1870 deletions
  1. 2 2
      .travis.yml
  2. 28 6
      build.gradle
  3. 1 1
      gradle.properties
  4. 2 2
      jme3-android/nbproject/genfiles.properties
  5. 2 2
      jme3-android/nbproject/project.properties
  6. 39 3
      jme3-android/src/com/jme3/gde/android/AndroidSdkTool.java
  7. 4 4
      jme3-angelfont/nbproject/genfiles.properties
  8. 2 2
      jme3-angelfont/nbproject/project.properties
  9. 11 2
      jme3-angelfont/nbproject/project.xml
  10. 30 3
      jme3-angelfont/src/com/jme3/gde/angelfont/AngelFontWizardIterator.java
  11. 1 1
      jme3-assetpack-support/nbproject/project.properties
  12. 4 4
      jme3-assetpack-support/nbproject/project.xml
  13. 4 4
      jme3-blender/nbproject/genfiles.properties
  14. 2 2
      jme3-blender/nbproject/project.properties
  15. 11 2
      jme3-blender/nbproject/project.xml
  16. 1 1
      jme3-cinematics/nbproject/project.properties
  17. 3 3
      jme3-cinematics/nbproject/project.xml
  18. 4 4
      jme3-code-check/nbproject/genfiles.properties
  19. 1 1
      jme3-code-check/nbproject/project.properties
  20. 1 1
      jme3-code-check/nbproject/project.xml
  21. 1 1
      jme3-codepalette/nbproject/project.properties
  22. 1 1
      jme3-core-baselibs/nbproject/project.properties
  23. 1 1
      jme3-core-libraries/nbproject/project.properties
  24. 1 1
      jme3-core-updatecenters/nbproject/project.properties
  25. 1 1
      jme3-core/nbproject/project.properties
  26. 18 9
      jme3-core/nbproject/project.xml
  27. 51 38
      jme3-core/src/com/jme3/gde/core/sceneexplorer/nodes/actions/AbstractNewSpatialAction.java
  28. 131 0
      jme3-core/src/com/jme3/gde/core/sceneexplorer/nodes/actions/impl/AbstractNewGeometryPanel.form
  29. 167 0
      jme3-core/src/com/jme3/gde/core/sceneexplorer/nodes/actions/impl/AbstractNewGeometryPanel.java
  30. 7 0
      jme3-core/src/com/jme3/gde/core/sceneexplorer/nodes/actions/impl/Bundle.properties
  31. 7 7
      jme3-core/src/com/jme3/gde/core/sceneexplorer/nodes/actions/impl/ConverterVector3f_String.java
  32. 23 13
      jme3-core/src/com/jme3/gde/core/sceneexplorer/nodes/actions/impl/NewGeometryBoxAction.java
  33. 21 13
      jme3-core/src/com/jme3/gde/core/sceneexplorer/nodes/actions/impl/NewGeometryLineAction.java
  34. 21 28
      jme3-core/src/com/jme3/gde/core/sceneexplorer/nodes/actions/impl/NewGeometryQuadAction.java
  35. 0 373
      jme3-core/src/com/jme3/gde/core/sceneexplorer/nodes/actions/impl/NewGeometrySettings.java
  36. 0 610
      jme3-core/src/com/jme3/gde/core/sceneexplorer/nodes/actions/impl/NewGeometrySettingsTopComponent.form
  37. 0 557
      jme3-core/src/com/jme3/gde/core/sceneexplorer/nodes/actions/impl/NewGeometrySettingsTopComponent.java
  38. 22 19
      jme3-core/src/com/jme3/gde/core/sceneexplorer/nodes/actions/impl/NewGeometrySphereAction.java
  39. 28 0
      jme3-core/src/com/jme3/gde/core/sceneexplorer/nodes/primitives/Bundle.properties
  40. 176 0
      jme3-core/src/com/jme3/gde/core/sceneexplorer/nodes/primitives/CreateBoxPanel.form
  41. 179 0
      jme3-core/src/com/jme3/gde/core/sceneexplorer/nodes/primitives/CreateBoxPanel.java
  42. 136 0
      jme3-core/src/com/jme3/gde/core/sceneexplorer/nodes/primitives/CreateLinePanel.form
  43. 154 0
      jme3-core/src/com/jme3/gde/core/sceneexplorer/nodes/primitives/CreateLinePanel.java
  44. 150 0
      jme3-core/src/com/jme3/gde/core/sceneexplorer/nodes/primitives/CreateQuadPanel.form
  45. 165 0
      jme3-core/src/com/jme3/gde/core/sceneexplorer/nodes/primitives/CreateQuadPanel.java
  46. 192 0
      jme3-core/src/com/jme3/gde/core/sceneexplorer/nodes/primitives/CreateSpherePanel.form
  47. 200 0
      jme3-core/src/com/jme3/gde/core/sceneexplorer/nodes/primitives/CreateSpherePanel.java
  48. 1 1
      jme3-core/src/com/jme3/gde/core/util/PropertyUtils.java
  49. 2 2
      jme3-dark-laf/nbproject/genfiles.properties
  50. 1 1
      jme3-dark-laf/nbproject/project.properties
  51. 1 1
      jme3-desktop-executables/nbproject/project.properties
  52. 1 1
      jme3-desktop-executables/nbproject/project.xml
  53. 2 2
      jme3-documentation/nbproject/genfiles.properties
  54. 2 2
      jme3-documentation/nbproject/project.properties
  55. 9 0
      jme3-documentation/nbproject/project.xml
  56. 4 4
      jme3-glsl-highlighter/nbproject/genfiles.properties
  57. 2 2
      jme3-glsl-highlighter/nbproject/project.properties
  58. 9 0
      jme3-glsl-highlighter/nbproject/project.xml
  59. 4 4
      jme3-gui/nbproject/genfiles.properties
  60. 2 3
      jme3-gui/nbproject/project.properties
  61. 39 25
      jme3-gui/nbproject/project.xml
  62. 2 2
      jme3-ios/nbproject/genfiles.properties
  63. 1 1
      jme3-ios/nbproject/project.properties
  64. 1 1
      jme3-ios/nbproject/project.xml
  65. 1 1
      jme3-lwjgl-applet/nbproject/project.properties
  66. 1 1
      jme3-lwjgl-applet/nbproject/project.xml
  67. 4 4
      jme3-materialeditor/nbproject/genfiles.properties
  68. 2 2
      jme3-materialeditor/nbproject/project.properties
  69. 12 3
      jme3-materialeditor/nbproject/project.xml
  70. 4 4
      jme3-model-importer/nbproject/genfiles.properties
  71. 3 3
      jme3-model-importer/nbproject/project.properties
  72. 12 3
      jme3-model-importer/nbproject/project.xml
  73. 6 6
      jme3-navmesh-gen/nbproject/project.properties
  74. 2 11
      jme3-navmesh-gen/nbproject/project.xml
  75. 1 1
      jme3-obfuscate/nbproject/project.properties
  76. 1 1
      jme3-obfuscate/nbproject/project.xml
  77. 1 1
      jme3-ogretools/nbproject/project.properties
  78. 4 4
      jme3-ogretools/nbproject/project.xml
  79. 1 1
      jme3-ogrexml/nbproject/project.properties
  80. 3 3
      jme3-ogrexml/nbproject/project.xml
  81. 2 2
      jme3-project-baselibs/nbproject/genfiles.properties
  82. 1 1
      jme3-project-baselibs/nbproject/project.properties
  83. 1 1
      jme3-project-libraries/nbproject/project.properties
  84. 1 1
      jme3-project-testdata/nbproject/project.properties
  85. 4 4
      jme3-scenecomposer/nbproject/genfiles.properties
  86. 1 1
      jme3-scenecomposer/nbproject/project.properties
  87. 4 4
      jme3-scenecomposer/nbproject/project.xml
  88. 1 1
      jme3-templates/nbproject/project.properties
  89. 2 2
      jme3-templates/nbproject/project.xml
  90. 4 4
      jme3-terrain-editor/nbproject/genfiles.properties
  91. 2 2
      jme3-terrain-editor/nbproject/project.properties
  92. 2 11
      jme3-terrain-editor/nbproject/project.xml
  93. 1 1
      jme3-tests-template/nbproject/project.properties
  94. 1 1
      jme3-tests-template/nbproject/project.xml
  95. 1 1
      jme3-texture-editor/nbproject/project.properties
  96. 1 1
      jme3-vehicle-creator/nbproject/project.properties
  97. 2 2
      jme3-vehicle-creator/nbproject/project.xml
  98. 1 1
      jme3-wavefront/nbproject/project.properties
  99. 2 2
      jme3-wavefront/nbproject/project.xml
  100. 4 4
      jme3-welcome-screen/nbproject/genfiles.properties

+ 2 - 2
.travis.yml

@@ -1,7 +1,7 @@
 language: java
 language: java
 sudo: false
 sudo: false
-jdk: oraclejdk8
-dist: trusty
+jdk: openjdk10
+dist: bionic
 
 
 before_cache:
 before_cache:
  - rm -f $HOME/.gradle/caches/modules-2/modules-2.lock
  - rm -f $HOME/.gradle/caches/modules-2/modules-2.lock

+ 28 - 6
build.gradle

@@ -18,11 +18,12 @@ repositories {
     jcenter {
     jcenter {
         url "http://jcenter.bintray.com/"
         url "http://jcenter.bintray.com/"
     }
     }
+    mavenCentral()
     maven {
     maven {
         url "http://updates.jmonkeyengine.org/maven/"
         url "http://updates.jmonkeyengine.org/maven/"
     }
     }
     maven {
     maven {
-        url 'http://nifty-gui.sourceforge.net/nifty-maven-repo/'
+        url "http://nifty-gui.sourceforge.net/nifty-maven-repo/"
     }
     }
     maven { url "https://jitpack.io" }
     maven { url "https://jitpack.io" }
 
 
@@ -37,17 +38,37 @@ if (System.getenv('TRAVIS') != null) {
         // v3.3.0-stable-sdk1 becomes 3.3.0-stable
         // v3.3.0-stable-sdk1 becomes 3.3.0-stable
         // Intentionally not using lastIndexOf here, we want the second "-".
         // Intentionally not using lastIndexOf here, we want the second "-".
         ext.jmeEngineVersion = System.env.TRAVIS_TAG.substring(1, System.env.TRAVIS_TAG.indexOf("-", System.env.TRAVIS_TAG.indexOf("-") + 1));
         ext.jmeEngineVersion = System.env.TRAVIS_TAG.substring(1, System.env.TRAVIS_TAG.indexOf("-", System.env.TRAVIS_TAG.indexOf("-") + 1));
-        // The old way doesn't work anymore, not sure why.
-        //ext.jmeEngineVersion = "3.3.0-" + System.env.TRAVIS_TAG + "-SNAPSHOT"
     } else {
     } else {
         if (System.env.TRAVIS_PULL_REQUEST == null || System.env.TRAVIS_PULL_REQUEST == "" || System.env.TRAVIS_PULL_REQUEST == "false") {
         if (System.env.TRAVIS_PULL_REQUEST == null || System.env.TRAVIS_PULL_REQUEST == "" || System.env.TRAVIS_PULL_REQUEST == "false") {
-            ext.jmeEngineVersion = "3.3.0-SNAPSHOT" // Use Beta 2 instead of 3.1.0-master-SNAPSHOT
+			if (System.env.TRAVIS_BRANCH == "master") {
+				ext.jmeEngineVersion = "3.3.0-SNAPSHOT" // Manually update
+			} else {
+				ext.jmeEngineVersion = "3.3.0-" + System.env.TRAVIS_BRANCH + "-SNAPSHOT" // Manually update
+			}
         } else {
         } else {
             ext.jmeEngineVersion = "3.3.0-" + System.env.TRAVIS_PULL_REQUEST_BRANCH + "-pr-" + System.env.TRAVIS_PULL_REQUEST + "-SNAPSHOT"
             ext.jmeEngineVersion = "3.3.0-" + System.env.TRAVIS_PULL_REQUEST_BRANCH + "-pr-" + System.env.TRAVIS_PULL_REQUEST + "-SNAPSHOT"
         }
         }
     }
     }
 } else {
 } else {
-    ext.jmeEngineVersion = "3.3.0-SNAPSHOT" // In case you build of the HEAD of 3.1, you need to change that to 3.1.0-SNAPSHOT again
+	new ByteArrayOutputStream().withStream { os ->
+		def result = exec {
+			executable = 'git'
+			args = ['rev-parse', '--abbrev-ref', 'HEAD'];
+			standardOutput = os
+		}
+		ext.branch = os.toString().trim()
+	}
+	
+	// If the Branch isn't master, specify the branch name.
+	// @TODO: One could use the same technique like the engine (grgit?)
+	if (ext.branch == "master") {
+		ext.branchSpec = ""
+	} else {
+		ext.branchSpec = "-" + ext.branch;
+	}
+	
+	// This is the engine version that will be used per default on every regular commit
+	ext.jmeEngineVersion = "3.3.0" + ext.branchSpec + "-SNAPSHOT"
 }
 }
 
 
 configurations {
 configurations {
@@ -61,6 +82,7 @@ dependencies {
 
 
     corelibs dep("com.github.xbuf:jme3_xbuf:0.9.1", false, false)
     corelibs dep("com.github.xbuf:jme3_xbuf:0.9.1", false, false)
     corelibs dep("com.badlogicgames.gdx:gdx-ai:1.8.1", true, true)
     corelibs dep("com.badlogicgames.gdx:gdx-ai:1.8.1", true, true)
+    corelibs dep("javax.help:javahelp:2.0.05", false, false)
 
 
     corelibs dep("org.jmonkeyengine:jme3-core:$jmeEngineVersion", true, true)
     corelibs dep("org.jmonkeyengine:jme3-core:$jmeEngineVersion", true, true)
     corelibs dep("org.jmonkeyengine:jme3-desktop:$jmeEngineVersion", true, true)
     corelibs dep("org.jmonkeyengine:jme3-desktop:$jmeEngineVersion", true, true)
@@ -596,7 +618,7 @@ task downloadAvian() {
 
 
         if (!avianFile.exists())
         if (!avianFile.exists())
         {
         {
-            new URL('https://bintray.com/mefisto94/jme-sdk-storage/download_file?file_path=avian-openjdk-mac.zip').withInputStream{ i -> avianFile.withOutputStream{ it << i }}
+            new URL("https://bintray.com/mefisto94/jme-sdk-storage/download_file?file_path=avian-openjdk-mac.zip").withInputStream{ i -> avianFile.withOutputStream{ it << i }}
         }
         }
     }
     }
 }
 }

+ 1 - 1
gradle.properties

@@ -25,7 +25,7 @@ bulletFolder = bullet-2.82-r2704
 bulletZipFile = bullet.zip
 bulletZipFile = bullet.zip
 
 
 # Path for downloading NetBeans Base
 # Path for downloading NetBeans Base
-netbeansUrl = http://download.netbeans.org/netbeans/8.2/final/zip/netbeans-8.2-201609300101-javase.zip
+netbeansUrl = https://archive.apache.org/dist/incubator/netbeans/incubating-netbeans-java/incubating-9.0/incubating-netbeans-java-9.0-bin.zip
 
 
 # POM settings
 # POM settings
 POM_NAME=jMonkeyEngine
 POM_NAME=jMonkeyEngine

+ 2 - 2
jme3-android/nbproject/genfiles.properties

@@ -1,8 +1,8 @@
 build.xml.data.CRC32=b5a33fdd
 build.xml.data.CRC32=b5a33fdd
 build.xml.script.CRC32=6461359b
 build.xml.script.CRC32=6461359b
-build.xml.stylesheet.CRC32=[email protected].1
+build.xml.stylesheet.CRC32=[email protected].1
 # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
 # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
 # Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
 # Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
 nbproject/build-impl.xml.data.CRC32=b5a33fdd
 nbproject/build-impl.xml.data.CRC32=b5a33fdd
 nbproject/build-impl.xml.script.CRC32=abd1e01a
 nbproject/build-impl.xml.script.CRC32=abd1e01a
-nbproject/build-impl.xml.stylesheet.CRC32=[email protected].1
+nbproject/build-impl.xml.stylesheet.CRC32=[email protected].1

+ 2 - 2
jme3-android/nbproject/project.properties

@@ -1,9 +1,9 @@
 #Updated by build script
 #Updated by build script
 #Thu, 25 Aug 2011 21:00:54 +0200
 #Thu, 25 Aug 2011 21:00:54 +0200
-javac.source=1.6
+javac.source=10
 javac.compilerargs=-Xlint -Xlint:-serial
 javac.compilerargs=-Xlint -Xlint:-serial
 license.file=../license-jme.txt
 license.file=../license-jme.txt
 nbm.homepage=http://www.jmonkeyengine.org
 nbm.homepage=http://www.jmonkeyengine.org
 nbm.module.author=Normen Hansen
 nbm.module.author=Normen Hansen
 nbm.needs.restart=true
 nbm.needs.restart=true
-spec.version.base=3.2.0
+spec.version.base=3.3.0

+ 39 - 3
jme3-android/src/com/jme3/gde/android/AndroidSdkTool.java

@@ -1,6 +1,33 @@
 /*
 /*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
+ *  Copyright (c) 2009-2019 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.android;
 package com.jme3.gde.android;
 
 
@@ -639,7 +666,7 @@ public class AndroidSdkTool {
         public String toString() {
         public String toString() {
             return getTitle();
             return getTitle();
         }
         }
-
+        
         @Override
         @Override
         public boolean equals(Object obj) {
         public boolean equals(Object obj) {
             if (obj instanceof String && getName() != null) {
             if (obj instanceof String && getName() != null) {
@@ -648,5 +675,14 @@ public class AndroidSdkTool {
                 return super.equals(obj);
                 return super.equals(obj);
             }
             }
         }
         }
+
+        @Override
+        public int hashCode() {
+            if (getName() != null) {
+                return getName().hashCode();
+            } else {
+                return super.hashCode();
+            }
+        }
     }
     }
 }
 }

+ 4 - 4
jme3-angelfont/nbproject/genfiles.properties

@@ -1,8 +1,8 @@
-build.xml.data.CRC32=7b84597a
+build.xml.data.CRC32=399359d2
 build.xml.script.CRC32=03444ead
 build.xml.script.CRC32=03444ead
-build.xml.stylesheet.CRC32=[email protected].1
+build.xml.stylesheet.CRC32=[email protected].1
 # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
 # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
 # Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
 # Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
-nbproject/build-impl.xml.data.CRC32=7b84597a
+nbproject/build-impl.xml.data.CRC32=399359d2
 nbproject/build-impl.xml.script.CRC32=8812c775
 nbproject/build-impl.xml.script.CRC32=8812c775
-nbproject/build-impl.xml.stylesheet.CRC32=[email protected].1
+nbproject/build-impl.xml.stylesheet.CRC32=[email protected].1

+ 2 - 2
jme3-angelfont/nbproject/project.properties

@@ -1,6 +1,6 @@
 #Thu, 25 Aug 2011 20:26:50 +0200
 #Thu, 25 Aug 2011 20:26:50 +0200
-javac.source=1.6
+javac.source=10
 javac.compilerargs=-Xlint -Xlint\:-serial
 javac.compilerargs=-Xlint -Xlint\:-serial
 nbm.homepage=http\://www.jmonkeyengine.org
 nbm.homepage=http\://www.jmonkeyengine.org
 nbm.module.author=Normen Hansen
 nbm.module.author=Normen Hansen
-spec.version.base=3.2.0
+spec.version.base=3.3.0

+ 11 - 2
jme3-angelfont/nbproject/project.xml

@@ -12,7 +12,7 @@
                     <compile-dependency/>
                     <compile-dependency/>
                     <run-dependency>
                     <run-dependency>
                         <release-version>1</release-version>
                         <release-version>1</release-version>
-                        <specification-version>3.2.0</specification-version>
+                        <specification-version>3.3.0</specification-version>
                     </run-dependency>
                     </run-dependency>
                 </dependency>
                 </dependency>
                 <dependency>
                 <dependency>
@@ -21,7 +21,7 @@
                     <compile-dependency/>
                     <compile-dependency/>
                     <run-dependency>
                     <run-dependency>
                         <release-version>1</release-version>
                         <release-version>1</release-version>
-                        <specification-version>3.2.0</specification-version>
+                        <specification-version>3.3.0</specification-version>
                     </run-dependency>
                     </run-dependency>
                 </dependency>
                 </dependency>
                 <dependency>
                 <dependency>
@@ -33,6 +33,15 @@
                         <specification-version>1.60.2</specification-version>
                         <specification-version>1.60.2</specification-version>
                     </run-dependency>
                     </run-dependency>
                 </dependency>
                 </dependency>
+                <dependency>
+                    <code-name-base>org.netbeans.modules.websvc.jaxws21api</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <release-version>1</release-version>
+                        <specification-version>1.34.1</specification-version>
+                    </run-dependency>
+                </dependency>
                 <dependency>
                 <dependency>
                     <code-name-base>org.openide.awt</code-name-base>
                     <code-name-base>org.openide.awt</code-name-base>
                     <build-prerequisite/>
                     <build-prerequisite/>

+ 30 - 3
jme3-angelfont/src/com/jme3/gde/angelfont/AngelFontWizardIterator.java

@@ -1,6 +1,33 @@
 /*
 /*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
+ *  Copyright (c) 2009-2019 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.angelfont;
 package com.jme3.gde.angelfont;
 
 
@@ -56,7 +83,7 @@ public final class AngelFontWizardIterator implements WizardDescriptor.Instantia
                     JComponent jc = (JComponent) c;
                     JComponent jc = (JComponent) c;
                     // Sets step number of a component
                     // Sets step number of a component
                     // TODO if using org.openide.dialogs >= 7.8, can use WizardDescriptor.PROP_*:
                     // TODO if using org.openide.dialogs >= 7.8, can use WizardDescriptor.PROP_*:
-                    jc.putClientProperty("WizardPanel_contentSelectedIndex", new Integer(i));
+                    jc.putClientProperty("WizardPanel_contentSelectedIndex", i);
                     // Sets steps names for a panel
                     // Sets steps names for a panel
                     jc.putClientProperty("WizardPanel_contentData", steps);
                     jc.putClientProperty("WizardPanel_contentData", steps);
                     // Turn on subtitle creation on each step
                     // Turn on subtitle creation on each step

+ 1 - 1
jme3-assetpack-support/nbproject/project.properties

@@ -5,4 +5,4 @@ license.file=../license-jme.txt
 nbm.homepage=http\://www.jmonkeyengine.org
 nbm.homepage=http\://www.jmonkeyengine.org
 nbm.module.author=Normen Hansen
 nbm.module.author=Normen Hansen
 nbm.needs.restart=true
 nbm.needs.restart=true
-spec.version.base=3.2.0
+spec.version.base=3.3.0

+ 4 - 4
jme3-assetpack-support/nbproject/project.xml

@@ -12,7 +12,7 @@
                     <compile-dependency/>
                     <compile-dependency/>
                     <run-dependency>
                     <run-dependency>
                         <release-version>1</release-version>
                         <release-version>1</release-version>
-                        <specification-version>3.2.0</specification-version>
+                        <specification-version>3.3.0</specification-version>
                     </run-dependency>
                     </run-dependency>
                 </dependency>
                 </dependency>
                 <dependency>
                 <dependency>
@@ -21,7 +21,7 @@
                     <compile-dependency/>
                     <compile-dependency/>
                     <run-dependency>
                     <run-dependency>
                         <release-version>1</release-version>
                         <release-version>1</release-version>
-                        <specification-version>3.2.0</specification-version>
+                        <specification-version>3.3.0</specification-version>
                     </run-dependency>
                     </run-dependency>
                 </dependency>
                 </dependency>
                 <dependency>
                 <dependency>
@@ -30,7 +30,7 @@
                     <compile-dependency/>
                     <compile-dependency/>
                     <run-dependency>
                     <run-dependency>
                         <release-version>1</release-version>
                         <release-version>1</release-version>
-                        <specification-version>3.2.0</specification-version>
+                        <specification-version>3.3.0</specification-version>
                     </run-dependency>
                     </run-dependency>
                 </dependency>
                 </dependency>
                 <dependency>
                 <dependency>
@@ -39,7 +39,7 @@
                     <compile-dependency/>
                     <compile-dependency/>
                     <run-dependency>
                     <run-dependency>
                         <release-version>1</release-version>
                         <release-version>1</release-version>
-                        <specification-version>3.2.0</specification-version>
+                        <specification-version>3.3.0</specification-version>
                     </run-dependency>
                     </run-dependency>
                 </dependency>
                 </dependency>
                 <dependency>
                 <dependency>

+ 4 - 4
jme3-blender/nbproject/genfiles.properties

@@ -1,8 +1,8 @@
-build.xml.data.CRC32=6834d0c8
+build.xml.data.CRC32=eb8340d5
 build.xml.script.CRC32=0f77a514
 build.xml.script.CRC32=0f77a514
-build.xml.stylesheet.CRC32=[email protected].1
+build.xml.stylesheet.CRC32=[email protected].1
 # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
 # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
 # Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
 # Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
-nbproject/build-impl.xml.data.CRC32=6834d0c8
+nbproject/build-impl.xml.data.CRC32=eb8340d5
 nbproject/build-impl.xml.script.CRC32=5c5042d6
 nbproject/build-impl.xml.script.CRC32=5c5042d6
-nbproject/build-impl.xml.stylesheet.CRC32=[email protected].1
+nbproject/build-impl.xml.stylesheet.CRC32=[email protected].1

+ 2 - 2
jme3-blender/nbproject/project.properties

@@ -1,8 +1,8 @@
 #Thu, 25 Aug 2011 20:26:50 +0200
 #Thu, 25 Aug 2011 20:26:50 +0200
-javac.source=1.6
+javac.source=10
 javac.compilerargs=-Xlint -Xlint\:-serial
 javac.compilerargs=-Xlint -Xlint\:-serial
 license.file=../license-jme.txt
 license.file=../license-jme.txt
 nbm.homepage=http\://www.jmonkeyengine.org
 nbm.homepage=http\://www.jmonkeyengine.org
 nbm.module.author=Kaelthas
 nbm.module.author=Kaelthas
 nbm.needs.restart=true
 nbm.needs.restart=true
-spec.version.base=3.2.0
+spec.version.base=3.3.0

+ 11 - 2
jme3-blender/nbproject/project.xml

@@ -12,7 +12,7 @@
                     <compile-dependency/>
                     <compile-dependency/>
                     <run-dependency>
                     <run-dependency>
                         <release-version>1</release-version>
                         <release-version>1</release-version>
-                        <specification-version>3.2.0</specification-version>
+                        <specification-version>3.3.0</specification-version>
                     </run-dependency>
                     </run-dependency>
                 </dependency>
                 </dependency>
                 <dependency>
                 <dependency>
@@ -21,7 +21,7 @@
                     <compile-dependency/>
                     <compile-dependency/>
                     <run-dependency>
                     <run-dependency>
                         <release-version>1</release-version>
                         <release-version>1</release-version>
-                        <specification-version>3.2.0</specification-version>
+                        <specification-version>3.3.0</specification-version>
                     </run-dependency>
                     </run-dependency>
                 </dependency>
                 </dependency>
                 <dependency>
                 <dependency>
@@ -58,6 +58,15 @@
                         <specification-version>1.60.2</specification-version>
                         <specification-version>1.60.2</specification-version>
                     </run-dependency>
                     </run-dependency>
                 </dependency>
                 </dependency>
+                <dependency>
+                    <code-name-base>org.netbeans.modules.websvc.jaxws21api</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <release-version>1</release-version>
+                        <specification-version>1.34.1</specification-version>
+                    </run-dependency>
+                </dependency>
                 <dependency>
                 <dependency>
                     <code-name-base>org.openide.awt</code-name-base>
                     <code-name-base>org.openide.awt</code-name-base>
                     <build-prerequisite/>
                     <build-prerequisite/>

+ 1 - 1
jme3-cinematics/nbproject/project.properties

@@ -5,4 +5,4 @@ license.file=../license-jme.txt
 nbm.homepage=http\://www.jmonkeyengine.org
 nbm.homepage=http\://www.jmonkeyengine.org
 nbm.module.author=R\u00e9my Bouquet
 nbm.module.author=R\u00e9my Bouquet
 nbm.needs.restart=true
 nbm.needs.restart=true
-spec.version.base=3.2.0
+spec.version.base=3.3.0

+ 3 - 3
jme3-cinematics/nbproject/project.xml

@@ -12,7 +12,7 @@
                     <compile-dependency/>
                     <compile-dependency/>
                     <run-dependency>
                     <run-dependency>
                         <release-version>1</release-version>
                         <release-version>1</release-version>
-                        <specification-version>3.2.0</specification-version>
+                        <specification-version>3.3.0</specification-version>
                     </run-dependency>
                     </run-dependency>
                 </dependency>
                 </dependency>
                 <dependency>
                 <dependency>
@@ -21,7 +21,7 @@
                     <compile-dependency/>
                     <compile-dependency/>
                     <run-dependency>
                     <run-dependency>
                         <release-version>1</release-version>
                         <release-version>1</release-version>
-                        <specification-version>3.2.0</specification-version>
+                        <specification-version>3.3.0</specification-version>
                     </run-dependency>
                     </run-dependency>
                 </dependency>
                 </dependency>
                 <dependency>
                 <dependency>
@@ -30,7 +30,7 @@
                     <compile-dependency/>
                     <compile-dependency/>
                     <run-dependency>
                     <run-dependency>
                         <release-version>1</release-version>
                         <release-version>1</release-version>
-                        <specification-version>3.2.0</specification-version>
+                        <specification-version>3.3.0</specification-version>
                     </run-dependency>
                     </run-dependency>
                 </dependency>
                 </dependency>
                 <dependency>
                 <dependency>

+ 4 - 4
jme3-code-check/nbproject/genfiles.properties

@@ -1,8 +1,8 @@
-build.xml.data.CRC32=6f2bff9e
+build.xml.data.CRC32=7aabe7ac
 build.xml.script.CRC32=a481f885
 build.xml.script.CRC32=a481f885
-build.xml.stylesheet.CRC32=[email protected].1
+build.xml.stylesheet.CRC32=[email protected].1
 # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
 # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
 # Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
 # Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
-nbproject/build-impl.xml.data.CRC32=6f2bff9e
+nbproject/build-impl.xml.data.CRC32=7aabe7ac
 nbproject/build-impl.xml.script.CRC32=0691bb76
 nbproject/build-impl.xml.script.CRC32=0691bb76
-nbproject/build-impl.xml.stylesheet.CRC32=[email protected].1
+nbproject/build-impl.xml.stylesheet.CRC32=[email protected].1

+ 1 - 1
jme3-code-check/nbproject/project.properties

@@ -4,4 +4,4 @@ javac.compilerargs=-Xlint -Xlint\:-serial
 license.file=../license-jme.txt
 license.file=../license-jme.txt
 nbm.homepage=http\://www.jmonkeyengine.org
 nbm.homepage=http\://www.jmonkeyengine.org
 nbm.module.author=Normen Hansen
 nbm.module.author=Normen Hansen
-spec.version.base=3.2.0
+spec.version.base=3.3.0

+ 1 - 1
jme3-code-check/nbproject/project.xml

@@ -12,7 +12,7 @@
                     <compile-dependency/>
                     <compile-dependency/>
                     <run-dependency>
                     <run-dependency>
                         <release-version>1</release-version>
                         <release-version>1</release-version>
-                        <specification-version>3.2.0</specification-version>
+                        <specification-version>3.3.0</specification-version>
                     </run-dependency>
                     </run-dependency>
                 </dependency>
                 </dependency>
                 <dependency>
                 <dependency>

+ 1 - 1
jme3-codepalette/nbproject/project.properties

@@ -5,4 +5,4 @@ license.file=../license-jme.txt
 nbm.homepage=http\://www.jmonkeyengine.org
 nbm.homepage=http\://www.jmonkeyengine.org
 nbm.module.author=Normen Hansen
 nbm.module.author=Normen Hansen
 nbm.needs.restart=true
 nbm.needs.restart=true
-spec.version.base=3.2.0
+spec.version.base=3.3.0

+ 1 - 1
jme3-core-baselibs/nbproject/project.properties

@@ -4,4 +4,4 @@ license.file=../license-jme.txt
 nbm.homepage=http\://www.jmonkeyengine.org
 nbm.homepage=http\://www.jmonkeyengine.org
 nbm.module.author=jMonkeyEngine
 nbm.module.author=jMonkeyEngine
 nbm.needs.restart=true
 nbm.needs.restart=true
-spec.version.base=3.2.0
+spec.version.base=3.3.0

+ 1 - 1
jme3-core-libraries/nbproject/project.properties

@@ -5,4 +5,4 @@ license.file=../license-jme.txt
 nbm.homepage=http\://www.jmonkeyengine.org
 nbm.homepage=http\://www.jmonkeyengine.org
 nbm.module.author=jMonkeyEngine
 nbm.module.author=jMonkeyEngine
 nbm.needs.restart=true
 nbm.needs.restart=true
-spec.version.base=3.2.0
+spec.version.base=3.3.0

+ 1 - 1
jme3-core-updatecenters/nbproject/project.properties

@@ -1,4 +1,4 @@
 #Thu, 25 Aug 2011 20:26:49 +0200
 #Thu, 25 Aug 2011 20:26:49 +0200
 javac.source=1.6
 javac.source=1.6
 javac.compilerargs=-Xlint -Xlint\:-serial
 javac.compilerargs=-Xlint -Xlint\:-serial
-spec.version.base=3.2.0
+spec.version.base=3.3.0

+ 1 - 1
jme3-core/nbproject/project.properties

@@ -1,7 +1,7 @@
 #Thu, 25 Aug 2011 20:26:48 +0200
 #Thu, 25 Aug 2011 20:26:48 +0200
 file.reference.DDSUtils.jar=release/modules/ext/DDSUtils.jar
 file.reference.DDSUtils.jar=release/modules/ext/DDSUtils.jar
 #Thu, 25 Aug 2011 19:32:54 +0200
 #Thu, 25 Aug 2011 19:32:54 +0200
-javac.source=1.7
+javac.source=10
 javac.compilerargs=-Xlint -Xlint\:-serial
 javac.compilerargs=-Xlint -Xlint\:-serial
 license.file=../license-jme.txt
 license.file=../license-jme.txt
 nbm.homepage=http\://www.jmonkeyengine.org
 nbm.homepage=http\://www.jmonkeyengine.org

+ 18 - 9
jme3-core/nbproject/project.xml

@@ -45,15 +45,6 @@
                         <specification-version>1.1.1</specification-version>
                         <specification-version>1.1.1</specification-version>
                     </run-dependency>
                     </run-dependency>
                 </dependency>
                 </dependency>
-                <dependency>
-                    <code-name-base>org.jdesktop.beansbinding</code-name-base>
-                    <build-prerequisite/>
-                    <compile-dependency/>
-                    <run-dependency>
-                        <release-version>1</release-version>
-                        <specification-version>1.24.1.121</specification-version>
-                    </run-dependency>
-                </dependency>
                 <dependency>
                 <dependency>
                     <code-name-base>org.netbeans.api.java</code-name-base>
                     <code-name-base>org.netbeans.api.java</code-name-base>
                     <build-prerequisite/>
                     <build-prerequisite/>
@@ -164,6 +155,15 @@
                         <specification-version>1.36.1</specification-version>
                         <specification-version>1.36.1</specification-version>
                     </run-dependency>
                     </run-dependency>
                 </dependency>
                 </dependency>
+                <dependency>
+                    <code-name-base>org.netbeans.modules.java.api.common</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <release-version>0</release-version>
+                        <implementation-version/>
+                    </run-dependency>
+                </dependency>
                 <dependency>
                 <dependency>
                     <code-name-base>org.netbeans.modules.java.j2seproject</code-name-base>
                     <code-name-base>org.netbeans.modules.java.j2seproject</code-name-base>
                     <build-prerequisite/>
                     <build-prerequisite/>
@@ -261,6 +261,15 @@
                         <specification-version>1.45.1</specification-version>
                         <specification-version>1.45.1</specification-version>
                     </run-dependency>
                     </run-dependency>
                 </dependency>
                 </dependency>
+                <dependency>
+                    <code-name-base>org.netbeans.modules.websvc.jaxws21api</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <release-version>1</release-version>
+                        <specification-version>1.34.1</specification-version>
+                    </run-dependency>
+                </dependency>
                 <dependency>
                 <dependency>
                     <code-name-base>org.netbeans.spi.navigator</code-name-base>
                     <code-name-base>org.netbeans.spi.navigator</code-name-base>
                     <build-prerequisite/>
                     <build-prerequisite/>

+ 51 - 38
jme3-core/src/com/jme3/gde/core/sceneexplorer/nodes/actions/AbstractNewSpatialAction.java

@@ -1,5 +1,5 @@
 /*
 /*
- *  Copyright (c) 2009-2010 jMonkeyEngine
+ *  Copyright (c) 2009-2019 jMonkeyEngine
  *  All rights reserved.
  *  All rights reserved.
  * 
  * 
  *  Redistribution and use in source and binary forms, with or without
  *  Redistribution and use in source and binary forms, with or without
@@ -56,63 +56,76 @@ public abstract class AbstractNewSpatialAction implements NewSpatialAction {
     protected String name = "*";
     protected String name = "*";
     protected ProjectAssetManager pm;
     protected ProjectAssetManager pm;
 
 
+    /**
+     * Implement this method to create a spatial which can be added to 
+     * the Scene Graph as Spatial.
+     * @param parent The Parent Node.
+     * @return The newly created spatial
+     */
     protected abstract Spatial doCreateSpatial(Node parent);
     protected abstract Spatial doCreateSpatial(Node parent);
+    
+    /**
+     * Implement this method to prepare creating a spatial (things than can be
+     * done outside of the RenderThread like Dialogs, Loading, ...)
+     * @return Whether the call to {@link #doCreateSpatial(com.jme3.scene.Node) } shall be done.
+     */
+    protected abstract boolean prepareCreateSpatial();
 
 
     protected Action makeAction(final JmeNode rootNode, final DataObject dataObject) {
     protected Action makeAction(final JmeNode rootNode, final DataObject dataObject) {
         pm = rootNode.getLookup().lookup(ProjectAssetManager.class);
         pm = rootNode.getLookup().lookup(ProjectAssetManager.class);
         final Node node = rootNode.getLookup().lookup(Node.class);
         final Node node = rootNode.getLookup().lookup(Node.class);
         return new AbstractAction(name) {
         return new AbstractAction(name) {
-
+            @Override
             public void actionPerformed(ActionEvent e) {
             public void actionPerformed(ActionEvent e) {
-                SceneApplication.getApplication().enqueue(new Callable<Void>() {
-
-                    public Void call() throws Exception {
-                        final Spatial attachSpatial = doCreateSpatial(node);
-                        if (node != null && attachSpatial != null) {
-                            node.attachChild(attachSpatial);
-                            Lookup.getDefault().lookup(SceneUndoRedoManager.class).addEdit(this, new AbstractUndoableSceneEdit() {
+                if (prepareCreateSpatial()) {
+                    SceneApplication.getApplication().enqueue(new Callable<Void>() {
+                        @Override
+                        public Void call() throws Exception {
+                            final Spatial attachSpatial = doCreateSpatial(node);
+                            if (node != null && attachSpatial != null) {
+                                node.attachChild(attachSpatial);
+                                Lookup.getDefault().lookup(SceneUndoRedoManager.class).addEdit(this, new AbstractUndoableSceneEdit() {
 
 
-                                @Override
-                                public void sceneUndo() throws CannotUndoException {
-                                    attachSpatial.removeFromParent();
-                                }
+                                    @Override
+                                    public void sceneUndo() throws CannotUndoException {
+                                        attachSpatial.removeFromParent();
+                                    }
 
 
-                                @Override
-                                public void sceneRedo() throws CannotRedoException {
-                                    node.attachChild(attachSpatial);
-                                }
+                                    @Override
+                                    public void sceneRedo() throws CannotRedoException {
+                                        node.attachChild(attachSpatial);
+                                    }
 
 
-                                @Override
-                                public void awtRedo() {
-                                    dataObject.setModified(true);
-                                    rootNode.refresh(true);
-                                }
+                                    @Override
+                                    public void awtRedo() {
+                                        dataObject.setModified(true);
+                                        rootNode.refresh(true);
+                                    }
 
 
-                                @Override
-                                public void awtUndo() {
-                                    dataObject.setModified(true);
-                                    rootNode.refresh(true);
-                                }
-                            });
-                            setModified();
+                                    @Override
+                                    public void awtUndo() {
+                                        dataObject.setModified(true);
+                                        rootNode.refresh(true);
+                                    }
+                                });
+                                setModified();
+                            }
+                            return null;
                         }
                         }
-                        return null;
-                    }
-                });
+                    });
+                }
             }
             }
 
 
             protected void setModified() {
             protected void setModified() {
-                java.awt.EventQueue.invokeLater(new Runnable() {
-
-                    public void run() {
-                        dataObject.setModified(true);
-                        rootNode.refresh(true);
-                    }
+                java.awt.EventQueue.invokeLater(() -> {
+                    dataObject.setModified(true);
+                    rootNode.refresh(true);
                 });
                 });
             }
             }
         };
         };
     }
     }
 
 
+    @Override
     public Action getAction(JmeNode rootNode, DataObject dataObject) {
     public Action getAction(JmeNode rootNode, DataObject dataObject) {
         return makeAction(rootNode, dataObject);
         return makeAction(rootNode, dataObject);
     }
     }

+ 131 - 0
jme3-core/src/com/jme3/gde/core/sceneexplorer/nodes/actions/impl/AbstractNewGeometryPanel.form

@@ -0,0 +1,131 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<Form version="1.5" maxVersion="1.9" type="org.netbeans.modules.form.forminfo.JPanelFormInfo">
+  <AuxValues>
+    <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="1"/>
+    <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
+    <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="true"/>
+    <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="true"/>
+    <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
+    <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
+    <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
+  </AuxValues>
+
+  <Layout>
+    <DimensionLayout dim="0">
+      <Group type="103" groupAlignment="0" attributes="0">
+          <Group type="102" attributes="0">
+              <EmptySpace max="-2" attributes="0"/>
+              <Group type="103" groupAlignment="0" attributes="0">
+                  <Group type="102" attributes="0">
+                      <Group type="103" groupAlignment="0" attributes="0">
+                          <Component id="lblGeomName" alignment="0" min="-2" max="-2" attributes="0"/>
+                          <Component id="lblMatDef" alignment="0" min="-2" max="-2" attributes="0"/>
+                      </Group>
+                      <EmptySpace type="unrelated" max="-2" attributes="0"/>
+                      <Group type="103" groupAlignment="0" attributes="0">
+                          <Group type="102" attributes="0">
+                              <Component id="inMatDef" min="-2" max="-2" attributes="0"/>
+                              <EmptySpace min="0" pref="0" max="32767" attributes="0"/>
+                          </Group>
+                          <Component id="inGeomName" max="32767" attributes="0"/>
+                      </Group>
+                  </Group>
+                  <Group type="102" attributes="0">
+                      <Group type="103" groupAlignment="0" attributes="0">
+                          <Component id="lblDefaultColor" min="-2" max="-2" attributes="0"/>
+                          <Component id="inRandomColor" alignment="0" min="-2" max="-2" attributes="0"/>
+                      </Group>
+                      <EmptySpace min="0" pref="0" max="32767" attributes="0"/>
+                  </Group>
+              </Group>
+              <EmptySpace max="-2" attributes="0"/>
+          </Group>
+      </Group>
+    </DimensionLayout>
+    <DimensionLayout dim="1">
+      <Group type="103" groupAlignment="0" attributes="0">
+          <Group type="102" alignment="0" attributes="0">
+              <EmptySpace min="-2" pref="8" max="-2" attributes="0"/>
+              <Group type="103" groupAlignment="3" attributes="0">
+                  <Component id="lblGeomName" alignment="3" min="-2" max="-2" attributes="0"/>
+                  <Component id="inGeomName" alignment="3" min="-2" max="-2" attributes="0"/>
+              </Group>
+              <EmptySpace type="unrelated" max="-2" attributes="0"/>
+              <Group type="103" groupAlignment="3" attributes="0">
+                  <Component id="lblMatDef" alignment="3" min="-2" max="-2" attributes="0"/>
+                  <Component id="inMatDef" alignment="3" min="-2" max="-2" attributes="0"/>
+              </Group>
+              <EmptySpace type="unrelated" max="-2" attributes="0"/>
+              <Component id="lblDefaultColor" min="-2" max="-2" attributes="0"/>
+              <EmptySpace pref="18" max="32767" attributes="0"/>
+              <Component id="inRandomColor" min="-2" max="-2" attributes="0"/>
+              <EmptySpace max="-2" attributes="0"/>
+          </Group>
+      </Group>
+    </DimensionLayout>
+  </Layout>
+  <SubComponents>
+    <Component class="javax.swing.JTextField" name="inGeomName">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="com/jme3/gde/core/sceneexplorer/nodes/actions/impl/Bundle.properties" key="AbstractNewGeometryPanel.inGeomName.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+    </Component>
+    <Component class="javax.swing.JLabel" name="lblGeomName">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="com/jme3/gde/core/sceneexplorer/nodes/actions/impl/Bundle.properties" key="AbstractNewGeometryPanel.lblGeomName.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+      <AuxValues>
+        <AuxValue name="JavaCodeGenerator_SerializeTo" type="java.lang.String" value="AbstractNewGeometryPanel_lblMeshName"/>
+      </AuxValues>
+    </Component>
+    <Component class="javax.swing.JLabel" name="lblMatDef">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="com/jme3/gde/core/sceneexplorer/nodes/actions/impl/Bundle.properties" key="AbstractNewGeometryPanel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+        <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="com/jme3/gde/core/sceneexplorer/nodes/actions/impl/Bundle.properties" key="AbstractNewGeometryPanel.toolTipText" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+        <Property name="name" type="java.lang.String" value="" noResource="true"/>
+      </Properties>
+    </Component>
+    <Component class="javax.swing.JComboBox" name="inMatDef">
+      <Properties>
+        <Property name="model" type="javax.swing.ComboBoxModel" editor="org.netbeans.modules.form.editors2.ComboBoxModelEditor">
+          <StringArray count="3">
+            <StringItem index="0" value="Common/MatDefs/Misc/Unshaded.j3md"/>
+            <StringItem index="1" value="Common/MatDefs/Light/Lighting.j3md"/>
+            <StringItem index="2" value="Common/MatDefs/Light/PBRLighting.j3md"/>
+          </StringArray>
+        </Property>
+      </Properties>
+      <AuxValues>
+        <AuxValue name="JavaCodeGenerator_TypeParameters" type="java.lang.String" value="&lt;String&gt;"/>
+      </AuxValues>
+    </Component>
+    <Component class="javax.swing.JLabel" name="lblDefaultColor">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="com/jme3/gde/core/sceneexplorer/nodes/actions/impl/Bundle.properties" key="AbstractNewGeometryPanel.lblDefaultColor.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+    </Component>
+    <Component class="javax.swing.JCheckBox" name="inRandomColor">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="com/jme3/gde/core/sceneexplorer/nodes/actions/impl/Bundle.properties" key="AbstractNewGeometryPanel.inRandomColor.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+        <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="com/jme3/gde/core/sceneexplorer/nodes/actions/impl/Bundle.properties" key="AbstractNewGeometryPanel.inRandomColor.toolTipText" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+    </Component>
+  </SubComponents>
+</Form>

+ 167 - 0
jme3-core/src/com/jme3/gde/core/sceneexplorer/nodes/actions/impl/AbstractNewGeometryPanel.java

@@ -0,0 +1,167 @@
+/*
+ *  Copyright (c) 2019- 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.sceneexplorer.nodes.actions.impl;
+
+import com.jme3.gde.core.assets.ProjectAssetManager;
+import com.jme3.material.Material;
+import com.jme3.math.ColorRGBA;
+import com.jme3.scene.Geometry;
+import com.jme3.scene.Mesh;
+
+/**
+ * This is the base Panel to be used within every "New Geometry/Primitive" dialogue
+ * as it will provide basic elements like MeshName, Material Color, etc.
+ * 
+ * @author MeFisto94
+ */
+public class AbstractNewGeometryPanel extends javax.swing.JPanel {
+
+    /**
+     * Creates new form AbstractNewGeometryPanel
+     */
+    public AbstractNewGeometryPanel() {
+        initComponents();
+    }
+
+    /**
+     * 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
+    private void initComponents() {
+
+        inGeomName = new javax.swing.JTextField();
+        lblGeomName = new javax.swing.JLabel();
+        lblMatDef = new javax.swing.JLabel();
+        inMatDef = new javax.swing.JComboBox<>();
+        lblDefaultColor = new javax.swing.JLabel();
+        inRandomColor = new javax.swing.JCheckBox();
+
+        inGeomName.setText(org.openide.util.NbBundle.getMessage(AbstractNewGeometryPanel.class, "AbstractNewGeometryPanel.inGeomName.text")); // NOI18N
+
+        org.openide.awt.Mnemonics.setLocalizedText(lblGeomName, org.openide.util.NbBundle.getMessage(AbstractNewGeometryPanel.class, "AbstractNewGeometryPanel.lblGeomName.text")); // NOI18N
+
+        org.openide.awt.Mnemonics.setLocalizedText(lblMatDef, org.openide.util.NbBundle.getMessage(AbstractNewGeometryPanel.class, "AbstractNewGeometryPanel.text")); // NOI18N
+        lblMatDef.setToolTipText(org.openide.util.NbBundle.getMessage(AbstractNewGeometryPanel.class, "AbstractNewGeometryPanel.toolTipText")); // NOI18N
+        lblMatDef.setName(""); // NOI18N
+
+        inMatDef.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "Common/MatDefs/Misc/Unshaded.j3md", "Common/MatDefs/Light/Lighting.j3md", "Common/MatDefs/Light/PBRLighting.j3md" }));
+
+        org.openide.awt.Mnemonics.setLocalizedText(lblDefaultColor, org.openide.util.NbBundle.getMessage(AbstractNewGeometryPanel.class, "AbstractNewGeometryPanel.lblDefaultColor.text")); // NOI18N
+
+        org.openide.awt.Mnemonics.setLocalizedText(inRandomColor, org.openide.util.NbBundle.getMessage(AbstractNewGeometryPanel.class, "AbstractNewGeometryPanel.inRandomColor.text")); // NOI18N
+        inRandomColor.setToolTipText(org.openide.util.NbBundle.getMessage(AbstractNewGeometryPanel.class, "AbstractNewGeometryPanel.inRandomColor.toolTipText")); // NOI18N
+
+        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
+        this.setLayout(layout);
+        layout.setHorizontalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(layout.createSequentialGroup()
+                .addContainerGap()
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addGroup(layout.createSequentialGroup()
+                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                            .addComponent(lblGeomName)
+                            .addComponent(lblMatDef))
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                            .addGroup(layout.createSequentialGroup()
+                                .addComponent(inMatDef, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                                .addGap(0, 0, Short.MAX_VALUE))
+                            .addComponent(inGeomName)))
+                    .addGroup(layout.createSequentialGroup()
+                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                            .addComponent(lblDefaultColor)
+                            .addComponent(inRandomColor))
+                        .addGap(0, 0, Short.MAX_VALUE)))
+                .addContainerGap())
+        );
+        layout.setVerticalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(layout.createSequentialGroup()
+                .addGap(8, 8, 8)
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(lblGeomName)
+                    .addComponent(inGeomName, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(lblMatDef)
+                    .addComponent(inMatDef, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                .addComponent(lblDefaultColor)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 18, Short.MAX_VALUE)
+                .addComponent(inRandomColor)
+                .addContainerGap())
+        );
+    }// </editor-fold>//GEN-END:initComponents
+
+
+    // Variables declaration - do not modify//GEN-BEGIN:variables
+    private javax.swing.JTextField inGeomName;
+    private javax.swing.JComboBox<String> inMatDef;
+    private javax.swing.JCheckBox inRandomColor;
+    private javax.swing.JLabel lblDefaultColor;
+    private javax.swing.JLabel lblGeomName;
+    private javax.swing.JLabel lblMatDef;
+    // End of variables declaration//GEN-END:variables
+
+
+    public Geometry handleGeometry(ProjectAssetManager assetManager, Mesh m) {
+        Geometry geom = new Geometry(inGeomName.getText(), m);
+        ColorRGBA col;
+        
+        if (inRandomColor.isSelected()) {
+            col = ColorRGBA.randomColor();
+        } else {
+            // @TODO: Add a Color Picker Dialog and preserve the state
+            col = ColorRGBA.Red;
+        }
+        
+        Material mat = new Material(assetManager, inMatDef.getSelectedItem().toString());
+        switch (inMatDef.getSelectedItem().toString()) {
+            case "Common/MatDefs/Misc/Unshaded.j3md":
+                mat.setColor("Color", col);
+                break;
+            case "Common/MatDefs/Light/Lighting.j3md":
+                mat.setColor("Diffuse", col);
+                break;
+            case "Common/MatDefs/Light/PBRLighting.j3md":
+                mat.setColor("BaseColor", col);
+                break;
+        }
+        
+        geom.setMaterial(mat);
+        return geom;
+    }
+}

+ 7 - 0
jme3-core/src/com/jme3/gde/core/sceneexplorer/nodes/actions/impl/Bundle.properties

@@ -58,3 +58,10 @@ NewGeometrySettingsTopComponent.quadFlipCoordCheckBox.text=
 NewGeometrySettingsTopComponent.linePanel.TabConstraints.tabTitle=Line
 NewGeometrySettingsTopComponent.linePanel.TabConstraints.tabTitle=Line
 NewGeometrySettingsTopComponent.lineStartLabel.text=start
 NewGeometrySettingsTopComponent.lineStartLabel.text=start
 NewGeometrySettingsTopComponent.lineEndLabel.text=end
 NewGeometrySettingsTopComponent.lineEndLabel.text=end
+AbstractNewGeometryPanel.toolTipText=The Geometry will be created with a default baked in Material, which can be changed later on by attaching a j3m file.\nThus only the common engine MatDefs are listed here.
+AbstractNewGeometryPanel.text=Material Definition
+AbstractNewGeometryPanel.inGeomName.text=My Geometry
+AbstractNewGeometryPanel.lblGeomName.text=Geometry Name
+AbstractNewGeometryPanel.inRandomColor.text=Use Random Color?
+AbstractNewGeometryPanel.inRandomColor.toolTipText=Overrides the specified Default Color
+AbstractNewGeometryPanel.lblDefaultColor.text=Default Color

+ 7 - 7
jme3-core/src/com/jme3/gde/core/sceneexplorer/nodes/actions/impl/ConverterVector3f_String.java

@@ -32,14 +32,16 @@
 package com.jme3.gde.core.sceneexplorer.nodes.actions.impl;
 package com.jme3.gde.core.sceneexplorer.nodes.actions.impl;
 
 
 import com.jme3.math.Vector3f;
 import com.jme3.math.Vector3f;
-import org.jdesktop.beansbinding.Converter;
 
 
 /**
 /**
- *
+ * Utility Class to Convert a Vector3f from and to Strings.<br>
+ * This is useful for Properties etc.
+ * 
  * @author david.bernard.31
  * @author david.bernard.31
+ * @author MeFisto94
  */
  */
 
 
-public class ConverterVector3f_String extends Converter<Vector3f, String> {
+public class ConverterVector3f_String {
     
     
     public static void parseInto(String text, Vector3f res) throws IllegalArgumentException {
     public static void parseInto(String text, Vector3f res) throws IllegalArgumentException {
         text = text.replace('[', ' ');
         text = text.replace('[', ' ');
@@ -63,13 +65,11 @@ public class ConverterVector3f_String extends Converter<Vector3f, String> {
         throw new IllegalArgumentException("String not correct");
         throw new IllegalArgumentException("String not correct");
     }
     }
     
     
-    @Override
-    public String convertForward(Vector3f vector) {
+    public static String Vector3fToString(Vector3f vector) {
         return "[" + vector.x + ", " + vector.y + ", " + vector.z + "]";
         return "[" + vector.x + ", " + vector.y + ", " + vector.z + "]";
     }
     }
 
 
-    @Override
-    public Vector3f convertReverse(String text) {
+    public static Vector3f StringToVector3f(String text) throws IllegalArgumentException {
         Vector3f vector = new Vector3f();
         Vector3f vector = new Vector3f();
         parseInto(text, vector);
         parseInto(text, vector);
         return vector;
         return vector;

+ 23 - 13
jme3-core/src/com/jme3/gde/core/sceneexplorer/nodes/actions/impl/NewGeometryBoxAction.java

@@ -1,5 +1,5 @@
 /*
 /*
- *  Copyright (c) 2009-2010 jMonkeyEngine
+ *  Copyright (c) 2009-2019 jMonkeyEngine
  *  All rights reserved.
  *  All rights reserved.
  * 
  * 
  *  Redistribution and use in source and binary forms, with or without
  *  Redistribution and use in source and binary forms, with or without
@@ -31,38 +31,48 @@
  */
  */
 package com.jme3.gde.core.sceneexplorer.nodes.actions.impl;
 package com.jme3.gde.core.sceneexplorer.nodes.actions.impl;
 
 
-import com.jme3.asset.AssetManager;
 import com.jme3.gde.core.sceneexplorer.nodes.actions.AbstractNewSpatialAction;
 import com.jme3.gde.core.sceneexplorer.nodes.actions.AbstractNewSpatialAction;
 import com.jme3.gde.core.sceneexplorer.nodes.actions.NewGeometryAction;
 import com.jme3.gde.core.sceneexplorer.nodes.actions.NewGeometryAction;
-import com.jme3.material.Material;
-import com.jme3.math.ColorRGBA;
+import com.jme3.gde.core.sceneexplorer.nodes.primitives.CreateBoxPanel;
+import com.jme3.math.Vector3f;
 import com.jme3.scene.Geometry;
 import com.jme3.scene.Geometry;
 import com.jme3.scene.Node;
 import com.jme3.scene.Node;
 import com.jme3.scene.Spatial;
 import com.jme3.scene.Spatial;
 import com.jme3.scene.shape.Box;
 import com.jme3.scene.shape.Box;
+import org.openide.DialogDescriptor;
+import org.openide.DialogDisplayer;
+import org.openide.NotifyDescriptor;
 
 
 /**
 /**
+ * Action to create a new primitive (Box)
  *
  *
+ * @author MeFisto94
  * @author david.bernard.31
  * @author david.bernard.31
  */
  */
 @org.openide.util.lookup.ServiceProvider(service = NewGeometryAction.class)
 @org.openide.util.lookup.ServiceProvider(service = NewGeometryAction.class)
 public class NewGeometryBoxAction extends AbstractNewSpatialAction implements NewGeometryAction {
 public class NewGeometryBoxAction extends AbstractNewSpatialAction implements NewGeometryAction {
 
 
+    CreateBoxPanel form;
+
     public NewGeometryBoxAction() {
     public NewGeometryBoxAction() {
         name = "Box";
         name = "Box";
+        form = new CreateBoxPanel();
+    }
+
+    @Override
+    protected boolean prepareCreateSpatial() {
+        String msg = "Create new Box";
+        DialogDescriptor dd = new DialogDescriptor(form, msg);
+        Object result = DialogDisplayer.getDefault().notify(dd);
+        return (result == NotifyDescriptor.OK_OPTION);
     }
     }
 
 
     @Override
     @Override
     protected Spatial doCreateSpatial(Node parent) {
     protected Spatial doCreateSpatial(Node parent) {
-        NewGeometrySettings cfg = new NewGeometrySettings();
-        Box b = new Box(cfg.getBoxX(), cfg.getBoxY(), cfg.getBoxZ());
-        b.setMode(cfg.getBoxMode());
-        Geometry geom = new Geometry(cfg.getBoxName(), b);
-        Material mat = new Material(pm, "Common/MatDefs/Misc/Unshaded.j3md");
-        ColorRGBA  c = cfg.getMatRandom() ?ColorRGBA.randomColor() : cfg.getMatColor();
-        mat.setColor("Color", c);
-        geom.setMaterial(mat);
-        parent.attachChild(geom);
+        Vector3f ext = form.getBoxExtents();
+        Box b = new Box(ext.x, ext.y, ext.z);
+        Geometry geom = form.getNewGeomPanel().handleGeometry(pm, b);
+        // parent.attachChild(geom); // was present in previous code, but should neither be necessary nor correct
         return geom;
         return geom;
     }
     }
 }
 }

+ 21 - 13
jme3-core/src/com/jme3/gde/core/sceneexplorer/nodes/actions/impl/NewGeometryLineAction.java

@@ -1,5 +1,5 @@
 /*
 /*
- *  Copyright (c) 2009-2010 jMonkeyEngine
+ *  Copyright (c) 2009-2019 jMonkeyEngine
  *  All rights reserved.
  *  All rights reserved.
  * 
  * 
  *  Redistribution and use in source and binary forms, with or without
  *  Redistribution and use in source and binary forms, with or without
@@ -31,38 +31,46 @@
  */
  */
 package com.jme3.gde.core.sceneexplorer.nodes.actions.impl;
 package com.jme3.gde.core.sceneexplorer.nodes.actions.impl;
 
 
-import com.jme3.asset.AssetManager;
 import com.jme3.gde.core.sceneexplorer.nodes.actions.AbstractNewSpatialAction;
 import com.jme3.gde.core.sceneexplorer.nodes.actions.AbstractNewSpatialAction;
 import com.jme3.gde.core.sceneexplorer.nodes.actions.NewGeometryAction;
 import com.jme3.gde.core.sceneexplorer.nodes.actions.NewGeometryAction;
-import com.jme3.material.Material;
-import com.jme3.math.ColorRGBA;
+import com.jme3.gde.core.sceneexplorer.nodes.primitives.CreateLinePanel;
 import com.jme3.scene.Geometry;
 import com.jme3.scene.Geometry;
 import com.jme3.scene.Node;
 import com.jme3.scene.Node;
 import com.jme3.scene.Spatial;
 import com.jme3.scene.Spatial;
 import com.jme3.scene.shape.Line;
 import com.jme3.scene.shape.Line;
+import org.openide.DialogDescriptor;
+import org.openide.DialogDisplayer;
+import org.openide.NotifyDescriptor;
 
 
 /**
 /**
+ * Action to create a new primitive (Line)
  *
  *
+ * @author MeFisto94
  * @author david.bernard.31
  * @author david.bernard.31
  */
  */
 @org.openide.util.lookup.ServiceProvider(service = NewGeometryAction.class)
 @org.openide.util.lookup.ServiceProvider(service = NewGeometryAction.class)
 public class NewGeometryLineAction extends AbstractNewSpatialAction implements NewGeometryAction {
 public class NewGeometryLineAction extends AbstractNewSpatialAction implements NewGeometryAction {
 
 
+    CreateLinePanel form;
+
     public NewGeometryLineAction() {
     public NewGeometryLineAction() {
         name = "Line";
         name = "Line";
+        form = new CreateLinePanel();
     }
     }
 
 
     @Override
     @Override
     protected Spatial doCreateSpatial(Node parent) {
     protected Spatial doCreateSpatial(Node parent) {
-        NewGeometrySettings cfg = new NewGeometrySettings();
-        Line b = new Line(cfg.getLineStart(), cfg.getLineEnd());
-        b.setMode(cfg.getLineMode());
-        Geometry geom = new Geometry(cfg.getLineName(), b);
-        Material mat = new Material(pm, "Common/MatDefs/Misc/Unshaded.j3md");
-        ColorRGBA  c = cfg.getMatRandom() ?ColorRGBA.randomColor() : cfg.getMatColor();
-        mat.setColor("Color", c);
-        geom.setMaterial(mat);        
-        parent.attachChild(geom);
+        Line l = new Line(form.getLineStart(), form.getLineEnd());
+        Geometry geom = form.getNewGeomPanel().handleGeometry(pm, l);
+        // parent.attachChild(geom); // was present in previous code, but should neither be necessary nor correct
         return geom;
         return geom;
     }
     }
+
+    @Override
+    protected boolean prepareCreateSpatial() {
+        String msg = "Create new Line";
+        DialogDescriptor dd = new DialogDescriptor(form, msg);
+        Object result = DialogDisplayer.getDefault().notify(dd);
+        return (result == NotifyDescriptor.OK_OPTION);
+    }
 }
 }

+ 21 - 28
jme3-core/src/com/jme3/gde/core/sceneexplorer/nodes/actions/impl/NewGeometryQuadAction.java

@@ -1,5 +1,5 @@
 /*
 /*
- *  Copyright (c) 2009-2010 jMonkeyEngine
+ *  Copyright (c) 2009-2019 jMonkeyEngine
  *  All rights reserved.
  *  All rights reserved.
  * 
  * 
  *  Redistribution and use in source and binary forms, with or without
  *  Redistribution and use in source and binary forms, with or without
@@ -31,53 +31,46 @@
  */
  */
 package com.jme3.gde.core.sceneexplorer.nodes.actions.impl;
 package com.jme3.gde.core.sceneexplorer.nodes.actions.impl;
 
 
-import com.jme3.asset.AssetManager;
 import com.jme3.gde.core.sceneexplorer.nodes.actions.AbstractNewSpatialAction;
 import com.jme3.gde.core.sceneexplorer.nodes.actions.AbstractNewSpatialAction;
 import com.jme3.gde.core.sceneexplorer.nodes.actions.NewGeometryAction;
 import com.jme3.gde.core.sceneexplorer.nodes.actions.NewGeometryAction;
-import com.jme3.material.Material;
-import com.jme3.math.ColorRGBA;
-import com.jme3.math.Quaternion;
+import com.jme3.gde.core.sceneexplorer.nodes.primitives.CreateQuadPanel;
 import com.jme3.scene.Geometry;
 import com.jme3.scene.Geometry;
 import com.jme3.scene.Node;
 import com.jme3.scene.Node;
 import com.jme3.scene.Spatial;
 import com.jme3.scene.Spatial;
 import com.jme3.scene.shape.Quad;
 import com.jme3.scene.shape.Quad;
+import org.openide.DialogDescriptor;
+import org.openide.DialogDisplayer;
+import org.openide.NotifyDescriptor;
 
 
 /**
 /**
+ * Action to create a new primitive (Quad)
  *
  *
+ * @author MeFisto94
  * @author david.bernard.31
  * @author david.bernard.31
  */
  */
 @org.openide.util.lookup.ServiceProvider(service = NewGeometryAction.class)
 @org.openide.util.lookup.ServiceProvider(service = NewGeometryAction.class)
 public class NewGeometryQuadAction extends AbstractNewSpatialAction implements NewGeometryAction {
 public class NewGeometryQuadAction extends AbstractNewSpatialAction implements NewGeometryAction {
 
 
+    CreateQuadPanel form;
+
     public NewGeometryQuadAction() {
     public NewGeometryQuadAction() {
         name = "Quad";
         name = "Quad";
+        form = new CreateQuadPanel();
     }
     }
 
 
     @Override
     @Override
     protected Spatial doCreateSpatial(Node parent) {
     protected Spatial doCreateSpatial(Node parent) {
-        NewGeometrySettings cfg = new NewGeometrySettings();
-        Quad b = new Quad(cfg.getQuadWidth(), cfg.getQuadHeight(), cfg.getQuadFlipCoords());
-        b.setMode(cfg.getQuadMode());
-        Geometry geom = new Geometry(cfg.getQuadName(), b);
-        switch(cfg.getQuadPlan()) {
-            case XZ: {
-                Quaternion q = new Quaternion();
-                q.fromAngles((float)Math.PI/-2f, 0.0f, 0.0f);
-                geom.setLocalRotation(q);
-                break;
-            }
-            case YZ: {
-                Quaternion q = new Quaternion();
-                q.fromAngles(0.0f, (float)Math.PI/-2f, 0.0f);
-                geom.setLocalRotation(q);
-                break;
-            }
-        }
-        Material mat = new Material(pm, "Common/MatDefs/Misc/Unshaded.j3md");
-        ColorRGBA  c = cfg.getMatRandom() ?ColorRGBA.randomColor() : cfg.getMatColor();
-        mat.setColor("Color", c);
-        geom.setMaterial(mat);    
-        parent.attachChild(geom);
+        Quad q = new Quad(form.getQuadWidth(), form.getQuadHeight(), form.isFlipCoords());
+        Geometry geom = form.getNewGeomPanel().handleGeometry(pm, q);
+        // parent.attachChild(geom); // was present in previous code, but should neither be necessary nor correct
         return geom;
         return geom;
     }
     }
+
+    @Override
+    protected boolean prepareCreateSpatial() {
+        String msg = "Create new Quad";
+        DialogDescriptor dd = new DialogDescriptor(form, msg);
+        Object result = DialogDisplayer.getDefault().notify(dd);
+        return (result == NotifyDescriptor.OK_OPTION);
+    }
 }
 }

+ 0 - 373
jme3-core/src/com/jme3/gde/core/sceneexplorer/nodes/actions/impl/NewGeometrySettings.java

@@ -1,373 +0,0 @@
-/*
- *  Copyright (c) 2009-2010 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.sceneexplorer.nodes.actions.impl;
-
-import com.jme3.math.ColorRGBA;
-import com.jme3.math.Vector3f;
-import com.jme3.scene.Mesh.Mode;
-import java.beans.PropertyChangeListener;
-import java.beans.PropertyChangeSupport;
-import java.io.Serializable;
-import java.util.Arrays;
-import java.util.List;
-import java.util.prefs.PreferenceChangeEvent;
-import java.util.prefs.PreferenceChangeListener;
-import java.util.prefs.Preferences;
-import org.openide.util.NbPreferences;
-
-/**
- *
- * @author david.bernard.31
- */
-
-
-public class NewGeometrySettings implements Serializable, PreferenceChangeListener {
-    public static enum Plan {
-        XY, XZ, YZ
-    }
-    
-    private transient final PropertyChangeSupport propertySupport;
-    private transient final Preferences pref;
-    
-    public NewGeometrySettings() {
-        propertySupport = new PropertyChangeSupport(this);
-        pref = NbPreferences.forModule(NewGeometrySettings.class);
-    }
-
-    // -- Listeners management
-
-    public void open() {
-        pref.addPreferenceChangeListener(this);
-    }
-
-    public void close() {
-        pref.removePreferenceChangeListener(this);
-    }
-
-    public void preferenceChange(PreferenceChangeEvent evt) {
-        propertySupport.firePropertyChange(evt.getKey(), null, evt.getNewValue());
-    }
-    
-    public void addPropertyChangeListener(final PropertyChangeListener listener) {
-        propertySupport.addPropertyChangeListener(listener);
-    }
-    
-    public void removePropertyChangeListener(PropertyChangeListener listener) {
-        propertySupport.removePropertyChangeListener(listener);
-    }
-
-    //-- Material info
-
-    public static final String PROP_MatRandom = "MatRandom";
-
-    public boolean getMatRandom() {
-        return pref.getBoolean(PROP_MatRandom, true);
-    }
-
-    public void setMatRandom(boolean value) {
-        pref.putBoolean(PROP_MatRandom, value);
-    }
-
-    public static final String PROP_MatColor = "MatColor";
-
-    public ColorRGBA getMatColor() {
-        ColorRGBA b = new ColorRGBA();
-        b.fromIntRGBA(pref.getInt(PROP_MatColor, ColorRGBA.Orange.asIntRGBA()));
-        return b;
-    }
-
-    public void setMatColor(ColorRGBA value) {
-        pref.putInt(PROP_MatColor, value.asIntRGBA());
-    }
-    
-
-
-    //-- Box
-
-    public static final String PROP_BoxName = "BoxName";
-
-    public String getBoxName() {
-        return pref.get(PROP_BoxName, "Box");
-    }
-
-    public void setBoxName(String value) {
-        pref.put(PROP_BoxName, value);
-    }
-
-    public static final String PROP_BoxMode = "BoxMode";
-
-    public Mode getBoxMode() {
-        return getMode(PROP_BoxMode);
-    }
-
-    public void setBoxMode(Mode value) {
-        putMode(PROP_BoxMode, value);
-    }
-
-    public static final String PROP_BoxX = "BoxX";
-
-    public float getBoxX() {
-        return pref.getFloat(PROP_BoxX, 1.0f);
-    }
-
-    public void setBoxX(float value) {
-        pref.putFloat(PROP_BoxX, value);
-    }
-
-    public static final String PROP_BoxY = "BoxY";
-
-    public float getBoxY() {
-        return pref.getFloat(PROP_BoxY, 1.0f);
-    }
-
-    public void setBoxY(float value) {
-        pref.putFloat(PROP_BoxY, value);
-    }
-
-    public static final String PROP_BoxZ = "BoxZ";
-
-    public float getBoxZ() {
-        return pref.getFloat(PROP_BoxZ, 1.0f);
-    }
-
-    public void setBoxZ(float value) {
-        pref.putFloat(PROP_BoxZ, value);
-    }
-
-    //-- Sphere
-    
-    public static final String PROP_SphereName = "SphereName";
-
-    public String getSphereName() {
-        return pref.get(PROP_SphereName, "Sphere");
-    }
-
-    public void setSphereName(String value) {
-        pref.put(PROP_SphereName, value);
-    }
-
-    public static final String PROP_SphereMode = "SphereMode";
-
-    public Mode getSphereMode() {
-        return getMode(PROP_SphereMode);
-    }
-
-    public void setSphereMode(Mode value) {
-        putMode(PROP_SphereMode, value);
-    }
-
-    public static final String PROP_SphereZSamples = "SphereZSamples";
-
-    public int getSphereZSamples() {
-        return pref.getInt(PROP_SphereZSamples, 10);
-    }
-
-    public void setSphereZSamples(int value) {
-        pref.putInt(PROP_SphereZSamples, value);
-    }
-    
-    public static final String PROP_SpherRadialSamples = "SpherRadialSamples";
-
-    public int getSpherRadialSamples() {
-        return pref.getInt(PROP_SpherRadialSamples, 10);
-    }
-
-    public void setSpherRadialSamples(int value) {
-        pref.putInt(PROP_SpherRadialSamples, value);
-    }
-    
-    public static final String PROP_SphereRadius = "SphereRadius";
-
-    public float getSphereRadius() {
-        return pref.getFloat(PROP_SphereRadius, 1.0f);
-    }
-
-    public void setSphereRadius(float value) {
-        pref.putFloat(PROP_SphereRadius, value);
-    }
-    
-    public static final String PROP_SphereUseEvenSlices = "SphereUseEvenSlices";
-
-    public boolean getSphereUseEvenSlices() {
-        return pref.getBoolean(PROP_SphereUseEvenSlices, false);
-    }
-
-    public void setSphereUseEvenSlices(boolean value) {
-        pref.putBoolean(PROP_SphereUseEvenSlices, value);
-    }
-    
-    public static final String PROP_SphereInterior = "SphereInterior";
-
-    public boolean getSphereInterior() {
-        return pref.getBoolean(PROP_SphereInterior, false);
-    }
-
-    public void setSphereInterior(boolean value) {
-        pref.putBoolean(PROP_SphereInterior, value);
-    }
-
-    //-- Line
-    public static final String PROP_LineName = "LineName";
-
-    public String getLineName() {
-        return pref.get(PROP_LineName, "Line");
-    }
-
-    public void setLineName(String value) {
-        pref.put(PROP_LineName, value);
-    }
-        
-    public static final String PROP_LineMode = "LineMode";
-
-    public Mode getLineMode() {
-        return getMode(PROP_LineMode);
-    }
-
-    public void setLineMode(Mode value) {
-        putMode(PROP_LineMode, value);
-    }
-
-    public static final String PROP_LineStart = "LineStart";
-
-    public Vector3f getLineStart() {
-        return getVector3f(PROP_LineStart, new Vector3f(0,0,0));
-    }
-
-    public void setLineStart(Vector3f value) {
-        putVector3f(PROP_LineStart, value);
-    }
-
-    public static final String PROP_LineEnd = "LineEnd";
-
-    public Vector3f getLineEnd() {
-        return getVector3f(PROP_LineEnd, new Vector3f(2f,0,2f));
-    }
-
-    public void setLineEnd(Vector3f value) {
-        putVector3f(PROP_LineEnd, value);
-    }
-
-    //-- Quad
-    public static final String PROP_QuadName = "QuadName";
-
-    public String getQuadName() {
-        return pref.get(PROP_QuadName, "Quad");
-    }
-
-    public void setQuadName(String value) {
-        pref.put(PROP_QuadName, value);
-    }
-
-    public static final String PROP_QuadMode = "QuadMode";
-
-    public Mode getQuadMode() {
-        return getMode(PROP_QuadMode);
-    }
-
-    public void setQuadMode(Mode value) {
-        putMode(PROP_QuadMode, value);
-    }
-
-    public static final String PROP_QuadWidth = "QuadWidth";
-
-    public float getQuadWidth() {
-        return pref.getFloat(PROP_QuadWidth, 1.0f);
-    }
-
-    public void setQuadWidth(float value) {
-        pref.putFloat(PROP_QuadWidth, value);
-    }
-
-    public static final String PROP_QuadHeight = "QuadHeight";
-
-    public float getQuadHeight() {
-        return pref.getFloat(PROP_QuadHeight, 1.0f);
-    }
-
-    public void setQuadHeight(float value) {
-        pref.putFloat(PROP_QuadHeight, value);
-    }
-
-    public static final String PROP_QuadFlipCoords = "QuadFlipCoords";
-
-    public boolean getQuadFlipCoords() {
-        return pref.getBoolean(PROP_QuadFlipCoords, false);
-    }
-
-    public void setQuadFlipCoords(boolean value) {
-        pref.putBoolean(PROP_QuadFlipCoords, value);
-    }
-
-    public static final String PROP_QuadPlan = "QuadPlan";
-
-    public Plan getQuadPlan() {
-        return Plan.values()[pref.getInt(PROP_QuadPlan, Plan.XZ.ordinal())];
-    }
-
-    public void setQuadPlan(Plan value) {
-        pref.putInt(PROP_QuadPlan, value.ordinal());
-    }
-
-    //-- Tools
-        
-    protected Vector3f getVector3f(String baseName, Vector3f def) {
-        return new Vector3f(
-            pref.getFloat(baseName + "X", def.x)
-            ,pref.getFloat(baseName + "Y", def.y)
-            ,pref.getFloat(baseName + "Z", def.z)
-        );
-        
-    }
-
-    protected void putVector3f(String baseName, Vector3f value) {
-        pref.putFloat(baseName + "X", value.x);
-        pref.putFloat(baseName + "Y", value.y);
-        pref.putFloat(baseName + "Z", value.z);
-    }
-
-    protected Mode getMode(String baseName) {
-        return Mode.values()[pref.getInt(baseName, Mode.Triangles.ordinal())];
-    }
-
-    public void putMode(String baseName, Mode value) {
-        pref.putInt(baseName, value.ordinal());
-    }
-    
-    public List<Mode> getModes() {
-        return Arrays.asList(Mode.values());
-    }
-    
-    public List<Plan> getPlans() {
-        return Arrays.asList(Plan.values());
-    }
-    
-}

+ 0 - 610
jme3-core/src/com/jme3/gde/core/sceneexplorer/nodes/actions/impl/NewGeometrySettingsTopComponent.form

@@ -1,610 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-
-<Form version="1.5" maxVersion="1.9" type="org.netbeans.modules.form.forminfo.JPanelFormInfo">
-  <NonVisualComponents>
-    <Component class="com.jme3.gde.core.sceneexplorer.nodes.actions.impl.NewGeometrySettings" name="newGeometrySettings">
-    </Component>
-    <Component class="com.jme3.gde.core.sceneexplorer.nodes.actions.impl.ConverterVector3f_String" name="converterVector3f_String">
-    </Component>
-  </NonVisualComponents>
-  <AuxValues>
-    <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="1"/>
-    <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/>
-    <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
-    <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="true"/>
-    <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="true"/>
-    <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
-    <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
-    <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
-    <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
-  </AuxValues>
-
-  <Layout>
-    <DimensionLayout dim="0">
-      <Group type="103" groupAlignment="0" attributes="0">
-          <Component id="jTabbedPane1" max="32767" attributes="0"/>
-      </Group>
-    </DimensionLayout>
-    <DimensionLayout dim="1">
-      <Group type="103" groupAlignment="0" attributes="0">
-          <Component id="jTabbedPane1" alignment="1" max="32767" attributes="0"/>
-      </Group>
-    </DimensionLayout>
-  </Layout>
-  <SubComponents>
-    <Container class="javax.swing.JTabbedPane" name="jTabbedPane1">
-
-      <Layout class="org.netbeans.modules.form.compat2.layouts.support.JTabbedPaneSupportLayout"/>
-      <SubComponents>
-        <Container class="javax.swing.JPanel" name="boxPanel">
-          <Constraints>
-            <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JTabbedPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JTabbedPaneSupportLayout$JTabbedPaneConstraintsDescription">
-              <JTabbedPaneConstraints tabName="Box">
-                <Property name="tabTitle" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
-                  <ResourceString bundle="com/jme3/gde/core/sceneexplorer/nodes/actions/impl/Bundle.properties" key="NewGeometrySettingsTopComponent.boxPanel.TabConstraints.tabTitle" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
-                </Property>
-              </JTabbedPaneConstraints>
-            </Constraint>
-          </Constraints>
-
-          <Layout>
-            <DimensionLayout dim="0">
-              <Group type="103" groupAlignment="0" attributes="0">
-                  <Group type="102" alignment="0" attributes="0">
-                      <EmptySpace min="-2" max="-2" attributes="0"/>
-                      <Group type="103" groupAlignment="0" attributes="0">
-                          <Group type="102" attributes="0">
-                              <Component id="boxZLabel" min="-2" max="-2" attributes="0"/>
-                              <EmptySpace max="-2" attributes="0"/>
-                              <Component id="boxZSpinner" max="32767" attributes="0"/>
-                          </Group>
-                          <Group type="102" attributes="0">
-                              <Component id="boxYLabel" min="-2" max="-2" attributes="0"/>
-                              <EmptySpace max="-2" attributes="0"/>
-                              <Component id="boxYSpinner" max="32767" attributes="0"/>
-                          </Group>
-                          <Group type="102" attributes="0">
-                              <Component id="boxXLabel" min="-2" max="-2" attributes="0"/>
-                              <EmptySpace max="-2" attributes="0"/>
-                              <Component id="boxXSpinner" max="32767" attributes="0"/>
-                          </Group>
-                          <Component id="boxModeComboBox" alignment="0" pref="224" max="32767" attributes="0"/>
-                          <Component id="boxNameTextField" alignment="1" max="32767" attributes="0"/>
-                      </Group>
-                      <EmptySpace min="-2" max="-2" attributes="0"/>
-                  </Group>
-              </Group>
-            </DimensionLayout>
-            <DimensionLayout dim="1">
-              <Group type="103" groupAlignment="0" attributes="0">
-                  <Group type="102" alignment="1" attributes="0">
-                      <EmptySpace max="-2" attributes="0"/>
-                      <Component id="boxNameTextField" min="-2" max="-2" attributes="0"/>
-                      <EmptySpace max="-2" attributes="0"/>
-                      <Component id="boxModeComboBox" min="-2" max="-2" attributes="0"/>
-                      <EmptySpace min="-2" pref="5" max="-2" attributes="0"/>
-                      <Group type="103" groupAlignment="3" attributes="0">
-                          <Component id="boxXLabel" alignment="3" min="-2" max="-2" attributes="0"/>
-                          <Component id="boxXSpinner" alignment="3" min="-2" max="-2" attributes="0"/>
-                      </Group>
-                      <EmptySpace max="-2" attributes="0"/>
-                      <Group type="103" groupAlignment="3" attributes="0">
-                          <Component id="boxYLabel" alignment="3" min="-2" max="-2" attributes="0"/>
-                          <Component id="boxYSpinner" alignment="3" min="-2" max="-2" attributes="0"/>
-                      </Group>
-                      <EmptySpace max="-2" attributes="0"/>
-                      <Group type="103" groupAlignment="3" attributes="0">
-                          <Component id="boxZLabel" alignment="3" min="-2" max="-2" attributes="0"/>
-                          <Component id="boxZSpinner" alignment="3" min="-2" max="-2" attributes="0"/>
-                      </Group>
-                      <EmptySpace pref="233" max="32767" attributes="0"/>
-                  </Group>
-              </Group>
-            </DimensionLayout>
-          </Layout>
-          <SubComponents>
-            <Component class="javax.swing.JTextField" name="boxNameTextField">
-              <BindingProperties>
-                <BindingProperty name="text" source="newGeometrySettings" sourcePath="${boxName}" target="boxNameTextField" targetPath="text" updateStrategy="0" immediately="false">
-                  <BindingParameter name="javax.swing.binding.ParameterKeys.TEXT_CHANGE_STRATEGY" value="javax.swing.binding.TextChangeStrategy.ON_TYPE"/>
-                </BindingProperty>
-              </BindingProperties>
-              <Events>
-                <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="boxNameTextFieldActionPerformed"/>
-              </Events>
-            </Component>
-            <Component class="javax.swing.JLabel" name="boxXLabel">
-              <Properties>
-                <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
-                  <ResourceString bundle="com/jme3/gde/core/sceneexplorer/nodes/actions/impl/Bundle.properties" key="NewGeometrySettingsTopComponent.boxXLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
-                </Property>
-              </Properties>
-            </Component>
-            <Component class="javax.swing.JSpinner" name="boxXSpinner">
-              <Properties>
-                <Property name="model" type="javax.swing.SpinnerModel" editor="org.netbeans.modules.form.editors2.SpinnerModelEditor">
-                  <SpinnerModel initial="1.0" numberType="java.lang.Float" stepSize="0.5" type="number"/>
-                </Property>
-              </Properties>
-              <BindingProperties>
-                <BindingProperty name="value" source="newGeometrySettings" sourcePath="${boxX}" target="boxXSpinner" targetPath="value" updateStrategy="0" immediately="false"/>
-              </BindingProperties>
-            </Component>
-            <Component class="javax.swing.JLabel" name="boxYLabel">
-              <Properties>
-                <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
-                  <ResourceString bundle="com/jme3/gde/core/sceneexplorer/nodes/actions/impl/Bundle.properties" key="NewGeometrySettingsTopComponent.boxYLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
-                </Property>
-              </Properties>
-            </Component>
-            <Component class="javax.swing.JSpinner" name="boxYSpinner">
-              <Properties>
-                <Property name="model" type="javax.swing.SpinnerModel" editor="org.netbeans.modules.form.editors2.SpinnerModelEditor">
-                  <SpinnerModel initial="1.0" minimum="0.0" numberType="java.lang.Float" stepSize="0.5" type="number"/>
-                </Property>
-              </Properties>
-              <BindingProperties>
-                <BindingProperty name="value" source="newGeometrySettings" sourcePath="${boxY}" target="boxYSpinner" targetPath="value" updateStrategy="0" immediately="false"/>
-              </BindingProperties>
-            </Component>
-            <Component class="javax.swing.JLabel" name="boxZLabel">
-              <Properties>
-                <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
-                  <ResourceString bundle="com/jme3/gde/core/sceneexplorer/nodes/actions/impl/Bundle.properties" key="NewGeometrySettingsTopComponent.boxZLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
-                </Property>
-              </Properties>
-            </Component>
-            <Component class="javax.swing.JSpinner" name="boxZSpinner">
-              <Properties>
-                <Property name="model" type="javax.swing.SpinnerModel" editor="org.netbeans.modules.form.editors2.SpinnerModelEditor">
-                  <SpinnerModel initial="1.0" minimum="0.0" numberType="java.lang.Float" stepSize="0.5" type="number"/>
-                </Property>
-              </Properties>
-              <BindingProperties>
-                <BindingProperty name="value" source="newGeometrySettings" sourcePath="${boxZ}" target="boxZSpinner" targetPath="value" updateStrategy="0" immediately="false"/>
-              </BindingProperties>
-            </Component>
-            <Component class="javax.swing.JComboBox" name="boxModeComboBox">
-              <BindingProperties>
-                <BindingProperty name="elements" source="newGeometrySettings" sourcePath="${modes}" target="boxModeComboBox" targetPath="elements" updateStrategy="0" immediately="false"/>
-                <BindingProperty name="selectedItem" source="newGeometrySettings" sourcePath="${boxMode}" target="boxModeComboBox" targetPath="selectedItem" updateStrategy="0" immediately="false"/>
-              </BindingProperties>
-              <Events>
-                <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="boxModeComboBoxActionPerformed"/>
-              </Events>
-            </Component>
-          </SubComponents>
-        </Container>
-        <Container class="javax.swing.JPanel" name="spherePanel">
-          <Constraints>
-            <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JTabbedPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JTabbedPaneSupportLayout$JTabbedPaneConstraintsDescription">
-              <JTabbedPaneConstraints tabName="Sphere">
-                <Property name="tabTitle" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
-                  <ResourceString bundle="com/jme3/gde/core/sceneexplorer/nodes/actions/impl/Bundle.properties" key="NewGeometrySettingsTopComponent.spherePanel.TabConstraints.tabTitle" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
-                </Property>
-              </JTabbedPaneConstraints>
-            </Constraint>
-          </Constraints>
-
-          <Layout>
-            <DimensionLayout dim="0">
-              <Group type="103" groupAlignment="0" attributes="0">
-                  <Group type="102" alignment="0" attributes="0">
-                      <EmptySpace max="-2" attributes="0"/>
-                      <Group type="103" groupAlignment="0" attributes="0">
-                          <Component id="sphereNameTextField" max="32767" attributes="0"/>
-                          <Component id="sphereRadiusLabel" alignment="0" min="-2" max="-2" attributes="0"/>
-                          <Component id="sphereModeComboBox" alignment="0" max="32767" attributes="0"/>
-                          <Group type="102" alignment="0" attributes="0">
-                              <Group type="103" groupAlignment="0" attributes="0">
-                                  <Component id="sphereRadialSamplesLabel" min="-2" max="-2" attributes="0"/>
-                                  <Component id="sphereZSamplesLabel" alignment="0" min="-2" max="-2" attributes="0"/>
-                                  <Component id="sphereUseEvenSlicesLabel" alignment="0" min="-2" max="-2" attributes="0"/>
-                                  <Component id="sphereInteriorLabel" alignment="0" min="-2" max="-2" attributes="0"/>
-                              </Group>
-                              <EmptySpace max="-2" attributes="0"/>
-                              <Group type="103" groupAlignment="0" attributes="0">
-                                  <Component id="sphereZSamplesSpinner" pref="111" max="32767" attributes="0"/>
-                                  <Component id="sphereRadialSamplesSpinner" max="32767" attributes="0"/>
-                                  <Component id="sphereRadiusSpinner" alignment="0" max="32767" attributes="0"/>
-                                  <Group type="102" alignment="0" attributes="0">
-                                      <Group type="103" groupAlignment="0" attributes="0">
-                                          <Component id="sphereInteriorCheckBox" min="-2" max="-2" attributes="0"/>
-                                          <Component id="sphereUseEvenSlicesCheckBox" min="-2" max="-2" attributes="0"/>
-                                      </Group>
-                                      <EmptySpace min="0" pref="0" max="32767" attributes="0"/>
-                                  </Group>
-                              </Group>
-                          </Group>
-                      </Group>
-                      <EmptySpace max="-2" attributes="0"/>
-                  </Group>
-              </Group>
-            </DimensionLayout>
-            <DimensionLayout dim="1">
-              <Group type="103" groupAlignment="0" attributes="0">
-                  <Group type="102" alignment="0" attributes="0">
-                      <EmptySpace max="-2" attributes="0"/>
-                      <Component id="sphereNameTextField" min="-2" max="-2" attributes="0"/>
-                      <EmptySpace min="-2" pref="3" max="-2" attributes="0"/>
-                      <Component id="sphereModeComboBox" min="-2" max="-2" attributes="0"/>
-                      <EmptySpace max="-2" attributes="0"/>
-                      <Group type="103" groupAlignment="3" attributes="0">
-                          <Component id="sphereRadialSamplesLabel" alignment="3" min="-2" max="-2" attributes="0"/>
-                          <Component id="sphereRadialSamplesSpinner" alignment="3" min="-2" max="-2" attributes="0"/>
-                      </Group>
-                      <EmptySpace min="-2" pref="5" max="-2" attributes="0"/>
-                      <Group type="103" groupAlignment="3" attributes="0">
-                          <Component id="sphereZSamplesLabel" alignment="3" min="-2" max="-2" attributes="0"/>
-                          <Component id="sphereZSamplesSpinner" alignment="3" min="-2" max="-2" attributes="0"/>
-                      </Group>
-                      <EmptySpace min="-2" pref="8" max="-2" attributes="0"/>
-                      <Group type="103" groupAlignment="3" attributes="0">
-                          <Component id="sphereRadiusLabel" alignment="3" min="-2" max="-2" attributes="0"/>
-                          <Component id="sphereRadiusSpinner" alignment="3" min="-2" max="-2" attributes="0"/>
-                      </Group>
-                      <EmptySpace max="-2" attributes="0"/>
-                      <Group type="103" groupAlignment="0" attributes="0">
-                          <Component id="sphereUseEvenSlicesLabel" min="-2" max="-2" attributes="0"/>
-                          <Component id="sphereUseEvenSlicesCheckBox" min="-2" max="-2" attributes="0"/>
-                      </Group>
-                      <EmptySpace max="-2" attributes="0"/>
-                      <Group type="103" groupAlignment="0" attributes="0">
-                          <Component id="sphereInteriorLabel" min="-2" max="-2" attributes="0"/>
-                          <Component id="sphereInteriorCheckBox" alignment="0" min="-2" max="-2" attributes="0"/>
-                      </Group>
-                      <EmptySpace pref="184" max="32767" attributes="0"/>
-                  </Group>
-              </Group>
-            </DimensionLayout>
-          </Layout>
-          <SubComponents>
-            <Component class="javax.swing.JLabel" name="sphereZSamplesLabel">
-              <Properties>
-                <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
-                  <ResourceString bundle="com/jme3/gde/core/sceneexplorer/nodes/actions/impl/Bundle.properties" key="NewGeometrySettingsTopComponent.sphereZSamplesLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
-                </Property>
-              </Properties>
-            </Component>
-            <Component class="javax.swing.JSpinner" name="sphereZSamplesSpinner">
-              <BindingProperties>
-                <BindingProperty name="value" source="newGeometrySettings" sourcePath="${spherRadialSamples}" target="sphereZSamplesSpinner" targetPath="value" updateStrategy="0" immediately="false"/>
-              </BindingProperties>
-            </Component>
-            <Component class="javax.swing.JLabel" name="sphereRadialSamplesLabel">
-              <Properties>
-                <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
-                  <ResourceString bundle="com/jme3/gde/core/sceneexplorer/nodes/actions/impl/Bundle.properties" key="NewGeometrySettingsTopComponent.sphereRadialSamplesLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
-                </Property>
-              </Properties>
-            </Component>
-            <Component class="javax.swing.JSpinner" name="sphereRadialSamplesSpinner">
-              <Properties>
-                <Property name="model" type="javax.swing.SpinnerModel" editor="org.netbeans.modules.form.editors2.SpinnerModelEditor">
-                  <SpinnerModel initial="10" minimum="1" numberType="java.lang.Integer" stepSize="1" type="number"/>
-                </Property>
-              </Properties>
-              <BindingProperties>
-                <BindingProperty name="value" source="newGeometrySettings" sourcePath="${sphereZSamples}" target="sphereRadialSamplesSpinner" targetPath="value" updateStrategy="0" immediately="false"/>
-              </BindingProperties>
-            </Component>
-            <Component class="javax.swing.JLabel" name="sphereUseEvenSlicesLabel">
-              <Properties>
-                <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
-                  <ResourceString bundle="com/jme3/gde/core/sceneexplorer/nodes/actions/impl/Bundle.properties" key="NewGeometrySettingsTopComponent.sphereUseEvenSlicesLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
-                </Property>
-              </Properties>
-            </Component>
-            <Component class="javax.swing.JCheckBox" name="sphereUseEvenSlicesCheckBox">
-              <Properties>
-                <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
-                  <ResourceString bundle="com/jme3/gde/core/sceneexplorer/nodes/actions/impl/Bundle.properties" key="NewGeometrySettingsTopComponent.sphereUseEvenSlicesCheckBox.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
-                </Property>
-              </Properties>
-              <BindingProperties>
-                <BindingProperty name="selected" source="newGeometrySettings" sourcePath="${sphereUseEvenSlices}" target="sphereUseEvenSlicesCheckBox" targetPath="selected" updateStrategy="0" immediately="false"/>
-              </BindingProperties>
-            </Component>
-            <Component class="javax.swing.JCheckBox" name="sphereInteriorCheckBox">
-              <Properties>
-                <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
-                  <ResourceString bundle="com/jme3/gde/core/sceneexplorer/nodes/actions/impl/Bundle.properties" key="NewGeometrySettingsTopComponent.sphereInteriorCheckBox.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
-                </Property>
-              </Properties>
-              <BindingProperties>
-                <BindingProperty name="selected" source="newGeometrySettings" sourcePath="${sphereInterior}" target="sphereInteriorCheckBox" targetPath="selected" updateStrategy="0" immediately="false"/>
-              </BindingProperties>
-            </Component>
-            <Component class="javax.swing.JLabel" name="sphereInteriorLabel">
-              <Properties>
-                <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
-                  <ResourceString bundle="com/jme3/gde/core/sceneexplorer/nodes/actions/impl/Bundle.properties" key="NewGeometrySettingsTopComponent.sphereInteriorLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
-                </Property>
-              </Properties>
-            </Component>
-            <Component class="javax.swing.JSpinner" name="sphereRadiusSpinner">
-              <Properties>
-                <Property name="model" type="javax.swing.SpinnerModel" editor="org.netbeans.modules.form.editors2.SpinnerModelEditor">
-                  <SpinnerModel initial="1.0" minimum="0.0" numberType="java.lang.Float" stepSize="0.1" type="number"/>
-                </Property>
-              </Properties>
-              <BindingProperties>
-                <BindingProperty name="value" source="newGeometrySettings" sourcePath="${sphereRadius}" target="sphereRadiusSpinner" targetPath="value" updateStrategy="0" immediately="false"/>
-              </BindingProperties>
-            </Component>
-            <Component class="javax.swing.JLabel" name="sphereRadiusLabel">
-              <Properties>
-                <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
-                  <ResourceString bundle="com/jme3/gde/core/sceneexplorer/nodes/actions/impl/Bundle.properties" key="NewGeometrySettingsTopComponent.sphereRadiusLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
-                </Property>
-              </Properties>
-            </Component>
-            <Component class="javax.swing.JTextField" name="sphereNameTextField">
-              <BindingProperties>
-                <BindingProperty name="text" source="newGeometrySettings" sourcePath="${sphereName}" target="sphereNameTextField" targetPath="text" updateStrategy="0" immediately="false">
-                  <BindingParameter name="javax.swing.binding.ParameterKeys.TEXT_CHANGE_STRATEGY" value="javax.swing.binding.TextChangeStrategy.ON_TYPE"/>
-                </BindingProperty>
-              </BindingProperties>
-            </Component>
-            <Component class="javax.swing.JComboBox" name="sphereModeComboBox">
-              <BindingProperties>
-                <BindingProperty name="elements" source="newGeometrySettings" sourcePath="${modes}" target="sphereModeComboBox" targetPath="elements" updateStrategy="0" immediately="false"/>
-                <BindingProperty name="selectedItem" source="newGeometrySettings" sourcePath="${sphereMode}" target="sphereModeComboBox" targetPath="selectedItem" updateStrategy="0" immediately="false"/>
-              </BindingProperties>
-            </Component>
-          </SubComponents>
-        </Container>
-        <Container class="javax.swing.JPanel" name="quadPanel">
-          <Constraints>
-            <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JTabbedPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JTabbedPaneSupportLayout$JTabbedPaneConstraintsDescription">
-              <JTabbedPaneConstraints tabName="Quad">
-                <Property name="tabTitle" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
-                  <ResourceString bundle="com/jme3/gde/core/sceneexplorer/nodes/actions/impl/Bundle.properties" key="NewGeometrySettingsTopComponent.quadPanel.TabConstraints.tabTitle" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
-                </Property>
-              </JTabbedPaneConstraints>
-            </Constraint>
-          </Constraints>
-
-          <Layout>
-            <DimensionLayout dim="0">
-              <Group type="103" groupAlignment="0" attributes="0">
-                  <Group type="102" attributes="0">
-                      <EmptySpace max="-2" attributes="0"/>
-                      <Group type="103" groupAlignment="0" attributes="0">
-                          <Component id="quadModeComboBox" alignment="1" max="32767" attributes="0"/>
-                          <Component id="quadNameTextField" alignment="0" max="32767" attributes="0"/>
-                          <Component id="jComboBox2" max="32767" attributes="0"/>
-                          <Group type="102" attributes="0">
-                              <Component id="quadFlipCoordLabel" min="-2" max="-2" attributes="0"/>
-                              <EmptySpace max="-2" attributes="0"/>
-                              <Component id="quadFlipCoordCheckBox" min="-2" pref="101" max="-2" attributes="0"/>
-                              <EmptySpace min="0" pref="39" max="32767" attributes="0"/>
-                          </Group>
-                          <Group type="102" alignment="0" attributes="0">
-                              <Group type="103" groupAlignment="0" attributes="0">
-                                  <Component id="quadWidthLabel" alignment="0" min="-2" max="-2" attributes="0"/>
-                                  <Component id="quadHeightLabel" alignment="0" min="-2" max="-2" attributes="0"/>
-                              </Group>
-                              <EmptySpace min="-2" pref="38" max="-2" attributes="0"/>
-                              <Group type="103" groupAlignment="0" attributes="0">
-                                  <Component id="quadHeightSpinner" max="32767" attributes="0"/>
-                                  <Component id="quadWidthSpinner" max="32767" attributes="0"/>
-                              </Group>
-                          </Group>
-                      </Group>
-                      <EmptySpace max="-2" attributes="0"/>
-                  </Group>
-              </Group>
-            </DimensionLayout>
-            <DimensionLayout dim="1">
-              <Group type="103" groupAlignment="0" attributes="0">
-                  <Group type="102" alignment="0" attributes="0">
-                      <EmptySpace max="-2" attributes="0"/>
-                      <Component id="quadNameTextField" min="-2" max="-2" attributes="0"/>
-                      <EmptySpace min="-2" pref="4" max="-2" attributes="0"/>
-                      <Component id="quadModeComboBox" min="-2" max="-2" attributes="0"/>
-                      <EmptySpace max="-2" attributes="0"/>
-                      <Component id="jComboBox2" min="-2" max="-2" attributes="0"/>
-                      <EmptySpace min="-2" pref="8" max="-2" attributes="0"/>
-                      <Group type="103" groupAlignment="3" attributes="0">
-                          <Component id="quadWidthLabel" alignment="3" min="-2" max="-2" attributes="0"/>
-                          <Component id="quadWidthSpinner" alignment="3" min="-2" max="-2" attributes="0"/>
-                      </Group>
-                      <EmptySpace max="-2" attributes="0"/>
-                      <Group type="103" groupAlignment="3" attributes="0">
-                          <Component id="quadHeightLabel" alignment="3" min="-2" max="-2" attributes="0"/>
-                          <Component id="quadHeightSpinner" alignment="3" min="-2" max="-2" attributes="0"/>
-                      </Group>
-                      <EmptySpace max="-2" attributes="0"/>
-                      <Group type="103" groupAlignment="0" attributes="0">
-                          <Component id="quadFlipCoordLabel" min="-2" max="-2" attributes="0"/>
-                          <Component id="quadFlipCoordCheckBox" min="-2" max="-2" attributes="0"/>
-                      </Group>
-                      <EmptySpace pref="201" max="32767" attributes="0"/>
-                  </Group>
-              </Group>
-            </DimensionLayout>
-          </Layout>
-          <SubComponents>
-            <Component class="javax.swing.JTextField" name="quadNameTextField">
-              <BindingProperties>
-                <BindingProperty name="text" source="newGeometrySettings" sourcePath="${quadName}" target="quadNameTextField" targetPath="text" updateStrategy="0" immediately="false">
-                  <BindingParameter name="javax.swing.binding.ParameterKeys.TEXT_CHANGE_STRATEGY" value="javax.swing.binding.TextChangeStrategy.ON_TYPE"/>
-                </BindingProperty>
-              </BindingProperties>
-            </Component>
-            <Component class="javax.swing.JLabel" name="quadWidthLabel">
-              <Properties>
-                <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
-                  <ResourceString bundle="com/jme3/gde/core/sceneexplorer/nodes/actions/impl/Bundle.properties" key="NewGeometrySettingsTopComponent.quadWidthLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
-                </Property>
-              </Properties>
-            </Component>
-            <Component class="javax.swing.JLabel" name="quadHeightLabel">
-              <Properties>
-                <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
-                  <ResourceString bundle="com/jme3/gde/core/sceneexplorer/nodes/actions/impl/Bundle.properties" key="NewGeometrySettingsTopComponent.quadHeightLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
-                </Property>
-              </Properties>
-            </Component>
-            <Component class="javax.swing.JSpinner" name="quadWidthSpinner">
-              <Properties>
-                <Property name="model" type="javax.swing.SpinnerModel" editor="org.netbeans.modules.form.editors2.SpinnerModelEditor">
-                  <SpinnerModel initial="0.0" minimum="0.0" numberType="java.lang.Float" stepSize="0.5" type="number"/>
-                </Property>
-              </Properties>
-              <BindingProperties>
-                <BindingProperty name="value" source="newGeometrySettings" sourcePath="${quadWidth}" target="quadWidthSpinner" targetPath="value" updateStrategy="0" immediately="false"/>
-              </BindingProperties>
-            </Component>
-            <Component class="javax.swing.JSpinner" name="quadHeightSpinner">
-              <Properties>
-                <Property name="model" type="javax.swing.SpinnerModel" editor="org.netbeans.modules.form.editors2.SpinnerModelEditor">
-                  <SpinnerModel initial="0.0" minimum="0.0" numberType="java.lang.Float" stepSize="0.5" type="number"/>
-                </Property>
-              </Properties>
-              <BindingProperties>
-                <BindingProperty name="value" source="newGeometrySettings" sourcePath="${quadHeight}" target="quadHeightSpinner" targetPath="value" updateStrategy="0" immediately="false"/>
-              </BindingProperties>
-            </Component>
-            <Component class="javax.swing.JLabel" name="quadFlipCoordLabel">
-              <Properties>
-                <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
-                  <ResourceString bundle="com/jme3/gde/core/sceneexplorer/nodes/actions/impl/Bundle.properties" key="NewGeometrySettingsTopComponent.quadFlipCoordLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
-                </Property>
-              </Properties>
-            </Component>
-            <Component class="javax.swing.JCheckBox" name="quadFlipCoordCheckBox">
-              <Properties>
-                <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
-                  <ResourceString bundle="com/jme3/gde/core/sceneexplorer/nodes/actions/impl/Bundle.properties" key="NewGeometrySettingsTopComponent.quadFlipCoordCheckBox.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
-                </Property>
-              </Properties>
-              <BindingProperties>
-                <BindingProperty name="selected" source="newGeometrySettings" sourcePath="${quadFlipCoords}" target="quadFlipCoordCheckBox" targetPath="selected" updateStrategy="0" immediately="false"/>
-              </BindingProperties>
-            </Component>
-            <Component class="javax.swing.JComboBox" name="quadModeComboBox">
-              <BindingProperties>
-                <BindingProperty name="elements" source="newGeometrySettings" sourcePath="${modes}" target="quadModeComboBox" targetPath="elements" updateStrategy="0" immediately="false"/>
-                <BindingProperty name="selectedItem" source="newGeometrySettings" sourcePath="${quadMode}" target="quadModeComboBox" targetPath="selectedItem" updateStrategy="0" immediately="false"/>
-              </BindingProperties>
-            </Component>
-            <Component class="javax.swing.JComboBox" name="jComboBox2">
-              <BindingProperties>
-                <BindingProperty name="elements" source="newGeometrySettings" sourcePath="${plans}" target="jComboBox2" targetPath="elements" updateStrategy="0" immediately="false"/>
-                <BindingProperty name="selectedItem" source="newGeometrySettings" sourcePath="${quadPlan}" target="jComboBox2" targetPath="selectedItem" updateStrategy="0" immediately="false"/>
-              </BindingProperties>
-            </Component>
-          </SubComponents>
-        </Container>
-        <Container class="javax.swing.JPanel" name="linePanel">
-          <Constraints>
-            <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JTabbedPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JTabbedPaneSupportLayout$JTabbedPaneConstraintsDescription">
-              <JTabbedPaneConstraints tabName="Line">
-                <Property name="tabTitle" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
-                  <ResourceString bundle="com/jme3/gde/core/sceneexplorer/nodes/actions/impl/Bundle.properties" key="NewGeometrySettingsTopComponent.linePanel.TabConstraints.tabTitle" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
-                </Property>
-              </JTabbedPaneConstraints>
-            </Constraint>
-          </Constraints>
-
-          <Layout>
-            <DimensionLayout dim="0">
-              <Group type="103" groupAlignment="0" attributes="0">
-                  <Group type="102" alignment="1" attributes="0">
-                      <EmptySpace max="-2" attributes="0"/>
-                      <Group type="103" groupAlignment="1" attributes="0">
-                          <Component id="lineNameTextField" max="32767" attributes="0"/>
-                          <Group type="102" alignment="0" attributes="0">
-                              <Component id="lineEndLabel" min="-2" max="-2" attributes="0"/>
-                              <EmptySpace type="unrelated" max="-2" attributes="0"/>
-                              <Component id="lineEndTextField" max="32767" attributes="0"/>
-                          </Group>
-                          <Component id="jComboBox1" alignment="0" max="32767" attributes="0"/>
-                          <Group type="102" alignment="0" attributes="0">
-                              <Component id="lineStartLabel" min="-2" max="-2" attributes="0"/>
-                              <EmptySpace max="-2" attributes="0"/>
-                              <Component id="lineStartTextField" pref="177" max="32767" attributes="0"/>
-                          </Group>
-                      </Group>
-                      <EmptySpace max="-2" attributes="0"/>
-                  </Group>
-              </Group>
-            </DimensionLayout>
-            <DimensionLayout dim="1">
-              <Group type="103" groupAlignment="0" attributes="0">
-                  <Group type="102" alignment="0" attributes="0">
-                      <EmptySpace max="-2" attributes="0"/>
-                      <Component id="lineNameTextField" min="-2" max="-2" attributes="0"/>
-                      <EmptySpace min="-2" pref="5" max="-2" attributes="0"/>
-                      <Component id="jComboBox1" min="-2" max="-2" attributes="0"/>
-                      <EmptySpace max="-2" attributes="0"/>
-                      <Group type="103" groupAlignment="3" attributes="0">
-                          <Component id="lineStartLabel" alignment="3" min="-2" max="-2" attributes="0"/>
-                          <Component id="lineStartTextField" alignment="3" min="-2" max="-2" attributes="0"/>
-                      </Group>
-                      <EmptySpace min="-2" pref="8" max="-2" attributes="0"/>
-                      <Group type="103" groupAlignment="3" attributes="0">
-                          <Component id="lineEndLabel" alignment="3" min="-2" max="-2" attributes="0"/>
-                          <Component id="lineEndTextField" alignment="3" min="-2" max="-2" attributes="0"/>
-                      </Group>
-                      <EmptySpace pref="259" max="32767" attributes="0"/>
-                  </Group>
-              </Group>
-            </DimensionLayout>
-          </Layout>
-          <SubComponents>
-            <Component class="javax.swing.JTextField" name="lineNameTextField">
-              <BindingProperties>
-                <BindingProperty name="text" source="newGeometrySettings" sourcePath="${lineName}" target="lineNameTextField" targetPath="text" updateStrategy="0" immediately="false">
-                  <BindingParameter name="javax.swing.binding.ParameterKeys.TEXT_CHANGE_STRATEGY" value="javax.swing.binding.TextChangeStrategy.ON_TYPE"/>
-                </BindingProperty>
-              </BindingProperties>
-            </Component>
-            <Component class="javax.swing.JLabel" name="lineStartLabel">
-              <Properties>
-                <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
-                  <ResourceString bundle="com/jme3/gde/core/sceneexplorer/nodes/actions/impl/Bundle.properties" key="NewGeometrySettingsTopComponent.lineStartLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
-                </Property>
-              </Properties>
-            </Component>
-            <Component class="javax.swing.JTextField" name="lineStartTextField">
-              <BindingProperties>
-                <BindingProperty name="text" source="newGeometrySettings" sourcePath="${lineStart}" target="lineStartTextField" targetPath="text" updateStrategy="0" immediately="false">
-                  <BindingParameter name="javax.swing.binding.ParameterKeys.TEXT_CHANGE_STRATEGY" value="javax.swing.binding.TextChangeStrategy.ON_ACTION_OR_FOCUS_LOST"/>
-                  <Property name="converter" type="org.jdesktop.beansbinding.Converter" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
-                    <Connection component="converterVector3f_String" type="bean"/>
-                  </Property>
-                </BindingProperty>
-              </BindingProperties>
-            </Component>
-            <Component class="javax.swing.JLabel" name="lineEndLabel">
-              <Properties>
-                <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
-                  <ResourceString bundle="com/jme3/gde/core/sceneexplorer/nodes/actions/impl/Bundle.properties" key="NewGeometrySettingsTopComponent.lineEndLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
-                </Property>
-              </Properties>
-            </Component>
-            <Component class="javax.swing.JTextField" name="lineEndTextField">
-              <BindingProperties>
-                <BindingProperty name="text" source="newGeometrySettings" sourcePath="${lineEnd}" target="lineEndTextField" targetPath="text" updateStrategy="0" immediately="false">
-                  <BindingParameter name="javax.swing.binding.ParameterKeys.TEXT_CHANGE_STRATEGY" value="javax.swing.binding.TextChangeStrategy.ON_ACTION_OR_FOCUS_LOST"/>
-                  <Property name="converter" type="org.jdesktop.beansbinding.Converter" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
-                    <Connection component="converterVector3f_String" type="bean"/>
-                  </Property>
-                </BindingProperty>
-              </BindingProperties>
-            </Component>
-            <Component class="javax.swing.JComboBox" name="jComboBox1">
-              <BindingProperties>
-                <BindingProperty name="elements" source="newGeometrySettings" sourcePath="${modes}" target="jComboBox1" targetPath="elements" updateStrategy="0" immediately="false"/>
-                <BindingProperty name="selectedItem" source="newGeometrySettings" sourcePath="${lineMode}" target="jComboBox1" targetPath="selectedItem" updateStrategy="0" immediately="false"/>
-              </BindingProperties>
-            </Component>
-          </SubComponents>
-        </Container>
-      </SubComponents>
-    </Container>
-  </SubComponents>
-</Form>

+ 0 - 557
jme3-core/src/com/jme3/gde/core/sceneexplorer/nodes/actions/impl/NewGeometrySettingsTopComponent.java

@@ -1,557 +0,0 @@
-/*
- *  Copyright (c) 2009-2010 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.sceneexplorer.nodes.actions.impl;
-
-import org.netbeans.api.settings.ConvertAsProperties;
-import org.openide.awt.ActionID;
-import org.openide.awt.ActionReference;
-import org.openide.util.NbBundle.Messages;
-import org.openide.windows.TopComponent;
-
-/**
- * Top component which displays NewGeometryAction' Settings.
- * 
- * @author david.bernard.31
- */
-
-
-@ConvertAsProperties(
-        dtd = "-//com.jme3.gde.core.sceneexplorer.nodes.actions.impl//NewGeometrySettings//EN",
-        autostore = true
-)
[email protected](
-        preferredID = "NewGeometrySettingsTopComponent",
-        //iconBase="SET/PATH/TO/ICON/HERE", 
-        persistenceType = TopComponent.PERSISTENCE_ALWAYS
-)
[email protected](mode = "commonpalette", openAtStartup = false)
-@ActionID(category = "Window", id = "com.jme3.gde.core.sceneexplorer.nodes.actions.impl.NewGeometrySettingsTopComponent")
-@ActionReference(path = "Menu/Window" /*, position = 333 */)
[email protected](
-        displayName = "#CTL_NewGeometrySettingsAction",
-        preferredID = "NewGeometrySettingsTopComponent"
-)
-@Messages({
-    "CTL_NewGeometrySettingsAction=NewGeometrySettings",
-    "CTL_NewGeometrySettingsTopComponent=NewGeometrySettings",
-    "HINT_NewGeometrySettingsTopComponent=This is a NewGeometrySettings window"
-})
-@SuppressWarnings({"unchecked", "rawtypes"})
-public final class NewGeometrySettingsTopComponent extends TopComponent {
-
-    public NewGeometrySettingsTopComponent() {
-        initComponents();
-        setName(Bundle.CTL_NewGeometrySettingsTopComponent());
-        setToolTipText(Bundle.HINT_NewGeometrySettingsTopComponent());
-
-    }
-
-    /**
-     * 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.
-     */
-    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
-    private void initComponents() {
-        bindingGroup = new org.jdesktop.beansbinding.BindingGroup();
-
-        newGeometrySettings = new com.jme3.gde.core.sceneexplorer.nodes.actions.impl.NewGeometrySettings();
-        converterVector3f_String = new com.jme3.gde.core.sceneexplorer.nodes.actions.impl.ConverterVector3f_String();
-        jTabbedPane1 = new javax.swing.JTabbedPane();
-        boxPanel = new javax.swing.JPanel();
-        boxNameTextField = new javax.swing.JTextField();
-        boxXLabel = new javax.swing.JLabel();
-        boxXSpinner = new javax.swing.JSpinner();
-        boxYLabel = new javax.swing.JLabel();
-        boxYSpinner = new javax.swing.JSpinner();
-        boxZLabel = new javax.swing.JLabel();
-        boxZSpinner = new javax.swing.JSpinner();
-        boxModeComboBox = new javax.swing.JComboBox();
-        spherePanel = new javax.swing.JPanel();
-        sphereZSamplesLabel = new javax.swing.JLabel();
-        sphereZSamplesSpinner = new javax.swing.JSpinner();
-        sphereRadialSamplesLabel = new javax.swing.JLabel();
-        sphereRadialSamplesSpinner = new javax.swing.JSpinner();
-        sphereUseEvenSlicesLabel = new javax.swing.JLabel();
-        sphereUseEvenSlicesCheckBox = new javax.swing.JCheckBox();
-        sphereInteriorCheckBox = new javax.swing.JCheckBox();
-        sphereInteriorLabel = new javax.swing.JLabel();
-        sphereRadiusSpinner = new javax.swing.JSpinner();
-        sphereRadiusLabel = new javax.swing.JLabel();
-        sphereNameTextField = new javax.swing.JTextField();
-        sphereModeComboBox = new javax.swing.JComboBox();
-        quadPanel = new javax.swing.JPanel();
-        quadNameTextField = new javax.swing.JTextField();
-        quadWidthLabel = new javax.swing.JLabel();
-        quadHeightLabel = new javax.swing.JLabel();
-        quadWidthSpinner = new javax.swing.JSpinner();
-        quadHeightSpinner = new javax.swing.JSpinner();
-        quadFlipCoordLabel = new javax.swing.JLabel();
-        quadFlipCoordCheckBox = new javax.swing.JCheckBox();
-        quadModeComboBox = new javax.swing.JComboBox();
-        jComboBox2 = new javax.swing.JComboBox();
-        linePanel = new javax.swing.JPanel();
-        lineNameTextField = new javax.swing.JTextField();
-        lineStartLabel = new javax.swing.JLabel();
-        lineStartTextField = new javax.swing.JTextField();
-        lineEndLabel = new javax.swing.JLabel();
-        lineEndTextField = new javax.swing.JTextField();
-        jComboBox1 = new javax.swing.JComboBox();
-
-        org.jdesktop.beansbinding.Binding binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, newGeometrySettings, org.jdesktop.beansbinding.ELProperty.create("${boxName}"), boxNameTextField, org.jdesktop.beansbinding.BeanProperty.create("text"));
-        bindingGroup.addBinding(binding);
-
-        boxNameTextField.addActionListener(new java.awt.event.ActionListener() {
-            public void actionPerformed(java.awt.event.ActionEvent evt) {
-                boxNameTextFieldActionPerformed(evt);
-            }
-        });
-
-        org.openide.awt.Mnemonics.setLocalizedText(boxXLabel, org.openide.util.NbBundle.getMessage(NewGeometrySettingsTopComponent.class, "NewGeometrySettingsTopComponent.boxXLabel.text")); // NOI18N
-
-        boxXSpinner.setModel(new javax.swing.SpinnerNumberModel(Float.valueOf(1.0f), null, null, Float.valueOf(0.5f)));
-
-        binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, newGeometrySettings, org.jdesktop.beansbinding.ELProperty.create("${boxX}"), boxXSpinner, org.jdesktop.beansbinding.BeanProperty.create("value"));
-        bindingGroup.addBinding(binding);
-
-        org.openide.awt.Mnemonics.setLocalizedText(boxYLabel, org.openide.util.NbBundle.getMessage(NewGeometrySettingsTopComponent.class, "NewGeometrySettingsTopComponent.boxYLabel.text")); // NOI18N
-
-        boxYSpinner.setModel(new javax.swing.SpinnerNumberModel(Float.valueOf(1.0f), Float.valueOf(0.0f), null, Float.valueOf(0.5f)));
-
-        binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, newGeometrySettings, org.jdesktop.beansbinding.ELProperty.create("${boxY}"), boxYSpinner, org.jdesktop.beansbinding.BeanProperty.create("value"));
-        bindingGroup.addBinding(binding);
-
-        org.openide.awt.Mnemonics.setLocalizedText(boxZLabel, org.openide.util.NbBundle.getMessage(NewGeometrySettingsTopComponent.class, "NewGeometrySettingsTopComponent.boxZLabel.text")); // NOI18N
-
-        boxZSpinner.setModel(new javax.swing.SpinnerNumberModel(Float.valueOf(1.0f), Float.valueOf(0.0f), null, Float.valueOf(0.5f)));
-
-        binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, newGeometrySettings, org.jdesktop.beansbinding.ELProperty.create("${boxZ}"), boxZSpinner, org.jdesktop.beansbinding.BeanProperty.create("value"));
-        bindingGroup.addBinding(binding);
-
-        org.jdesktop.beansbinding.ELProperty eLProperty = org.jdesktop.beansbinding.ELProperty.create("${modes}");
-        org.jdesktop.swingbinding.JComboBoxBinding jComboBoxBinding = org.jdesktop.swingbinding.SwingBindings.createJComboBoxBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, newGeometrySettings, eLProperty, boxModeComboBox);
-        bindingGroup.addBinding(jComboBoxBinding);
-        binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, newGeometrySettings, org.jdesktop.beansbinding.ELProperty.create("${boxMode}"), boxModeComboBox, org.jdesktop.beansbinding.BeanProperty.create("selectedItem"));
-        bindingGroup.addBinding(binding);
-
-        boxModeComboBox.addActionListener(new java.awt.event.ActionListener() {
-            public void actionPerformed(java.awt.event.ActionEvent evt) {
-                boxModeComboBoxActionPerformed(evt);
-            }
-        });
-
-        javax.swing.GroupLayout boxPanelLayout = new javax.swing.GroupLayout(boxPanel);
-        boxPanel.setLayout(boxPanelLayout);
-        boxPanelLayout.setHorizontalGroup(
-            boxPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-            .addGroup(boxPanelLayout.createSequentialGroup()
-                .addContainerGap()
-                .addGroup(boxPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-                    .addGroup(boxPanelLayout.createSequentialGroup()
-                        .addComponent(boxZLabel)
-                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                        .addComponent(boxZSpinner))
-                    .addGroup(boxPanelLayout.createSequentialGroup()
-                        .addComponent(boxYLabel)
-                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                        .addComponent(boxYSpinner))
-                    .addGroup(boxPanelLayout.createSequentialGroup()
-                        .addComponent(boxXLabel)
-                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                        .addComponent(boxXSpinner))
-                    .addComponent(boxModeComboBox, 0, 224, Short.MAX_VALUE)
-                    .addComponent(boxNameTextField, javax.swing.GroupLayout.Alignment.TRAILING))
-                .addContainerGap())
-        );
-        boxPanelLayout.setVerticalGroup(
-            boxPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, boxPanelLayout.createSequentialGroup()
-                .addContainerGap()
-                .addComponent(boxNameTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
-                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                .addComponent(boxModeComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
-                .addGap(5, 5, 5)
-                .addGroup(boxPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
-                    .addComponent(boxXLabel)
-                    .addComponent(boxXSpinner, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
-                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                .addGroup(boxPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
-                    .addComponent(boxYLabel)
-                    .addComponent(boxYSpinner, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
-                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                .addGroup(boxPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
-                    .addComponent(boxZLabel)
-                    .addComponent(boxZSpinner, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
-                .addContainerGap(233, Short.MAX_VALUE))
-        );
-
-        jTabbedPane1.addTab(org.openide.util.NbBundle.getMessage(NewGeometrySettingsTopComponent.class, "NewGeometrySettingsTopComponent.boxPanel.TabConstraints.tabTitle"), boxPanel); // NOI18N
-
-        org.openide.awt.Mnemonics.setLocalizedText(sphereZSamplesLabel, org.openide.util.NbBundle.getMessage(NewGeometrySettingsTopComponent.class, "NewGeometrySettingsTopComponent.sphereZSamplesLabel.text")); // NOI18N
-
-        binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, newGeometrySettings, org.jdesktop.beansbinding.ELProperty.create("${spherRadialSamples}"), sphereZSamplesSpinner, org.jdesktop.beansbinding.BeanProperty.create("value"));
-        bindingGroup.addBinding(binding);
-
-        org.openide.awt.Mnemonics.setLocalizedText(sphereRadialSamplesLabel, org.openide.util.NbBundle.getMessage(NewGeometrySettingsTopComponent.class, "NewGeometrySettingsTopComponent.sphereRadialSamplesLabel.text")); // NOI18N
-
-        sphereRadialSamplesSpinner.setModel(new javax.swing.SpinnerNumberModel(Integer.valueOf(10), Integer.valueOf(1), null, Integer.valueOf(1)));
-
-        binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, newGeometrySettings, org.jdesktop.beansbinding.ELProperty.create("${sphereZSamples}"), sphereRadialSamplesSpinner, org.jdesktop.beansbinding.BeanProperty.create("value"));
-        bindingGroup.addBinding(binding);
-
-        org.openide.awt.Mnemonics.setLocalizedText(sphereUseEvenSlicesLabel, org.openide.util.NbBundle.getMessage(NewGeometrySettingsTopComponent.class, "NewGeometrySettingsTopComponent.sphereUseEvenSlicesLabel.text")); // NOI18N
-
-        org.openide.awt.Mnemonics.setLocalizedText(sphereUseEvenSlicesCheckBox, org.openide.util.NbBundle.getMessage(NewGeometrySettingsTopComponent.class, "NewGeometrySettingsTopComponent.sphereUseEvenSlicesCheckBox.text")); // NOI18N
-
-        binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, newGeometrySettings, org.jdesktop.beansbinding.ELProperty.create("${sphereUseEvenSlices}"), sphereUseEvenSlicesCheckBox, org.jdesktop.beansbinding.BeanProperty.create("selected"));
-        bindingGroup.addBinding(binding);
-
-        org.openide.awt.Mnemonics.setLocalizedText(sphereInteriorCheckBox, org.openide.util.NbBundle.getMessage(NewGeometrySettingsTopComponent.class, "NewGeometrySettingsTopComponent.sphereInteriorCheckBox.text")); // NOI18N
-
-        binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, newGeometrySettings, org.jdesktop.beansbinding.ELProperty.create("${sphereInterior}"), sphereInteriorCheckBox, org.jdesktop.beansbinding.BeanProperty.create("selected"));
-        bindingGroup.addBinding(binding);
-
-        org.openide.awt.Mnemonics.setLocalizedText(sphereInteriorLabel, org.openide.util.NbBundle.getMessage(NewGeometrySettingsTopComponent.class, "NewGeometrySettingsTopComponent.sphereInteriorLabel.text")); // NOI18N
-
-        sphereRadiusSpinner.setModel(new javax.swing.SpinnerNumberModel(Float.valueOf(1.0f), Float.valueOf(0.0f), null, Float.valueOf(0.1f)));
-
-        binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, newGeometrySettings, org.jdesktop.beansbinding.ELProperty.create("${sphereRadius}"), sphereRadiusSpinner, org.jdesktop.beansbinding.BeanProperty.create("value"));
-        bindingGroup.addBinding(binding);
-
-        org.openide.awt.Mnemonics.setLocalizedText(sphereRadiusLabel, org.openide.util.NbBundle.getMessage(NewGeometrySettingsTopComponent.class, "NewGeometrySettingsTopComponent.sphereRadiusLabel.text")); // NOI18N
-
-        binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, newGeometrySettings, org.jdesktop.beansbinding.ELProperty.create("${sphereName}"), sphereNameTextField, org.jdesktop.beansbinding.BeanProperty.create("text"));
-        bindingGroup.addBinding(binding);
-
-        eLProperty = org.jdesktop.beansbinding.ELProperty.create("${modes}");
-        jComboBoxBinding = org.jdesktop.swingbinding.SwingBindings.createJComboBoxBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, newGeometrySettings, eLProperty, sphereModeComboBox);
-        bindingGroup.addBinding(jComboBoxBinding);
-        binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, newGeometrySettings, org.jdesktop.beansbinding.ELProperty.create("${sphereMode}"), sphereModeComboBox, org.jdesktop.beansbinding.BeanProperty.create("selectedItem"));
-        bindingGroup.addBinding(binding);
-
-        javax.swing.GroupLayout spherePanelLayout = new javax.swing.GroupLayout(spherePanel);
-        spherePanel.setLayout(spherePanelLayout);
-        spherePanelLayout.setHorizontalGroup(
-            spherePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-            .addGroup(spherePanelLayout.createSequentialGroup()
-                .addContainerGap()
-                .addGroup(spherePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-                    .addComponent(sphereNameTextField)
-                    .addComponent(sphereRadiusLabel)
-                    .addComponent(sphereModeComboBox, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
-                    .addGroup(spherePanelLayout.createSequentialGroup()
-                        .addGroup(spherePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-                            .addComponent(sphereRadialSamplesLabel)
-                            .addComponent(sphereZSamplesLabel)
-                            .addComponent(sphereUseEvenSlicesLabel)
-                            .addComponent(sphereInteriorLabel))
-                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                        .addGroup(spherePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-                            .addComponent(sphereZSamplesSpinner, javax.swing.GroupLayout.DEFAULT_SIZE, 111, Short.MAX_VALUE)
-                            .addComponent(sphereRadialSamplesSpinner)
-                            .addComponent(sphereRadiusSpinner)
-                            .addGroup(spherePanelLayout.createSequentialGroup()
-                                .addGroup(spherePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-                                    .addComponent(sphereInteriorCheckBox)
-                                    .addComponent(sphereUseEvenSlicesCheckBox))
-                                .addGap(0, 0, Short.MAX_VALUE)))))
-                .addContainerGap())
-        );
-        spherePanelLayout.setVerticalGroup(
-            spherePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-            .addGroup(spherePanelLayout.createSequentialGroup()
-                .addContainerGap()
-                .addComponent(sphereNameTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
-                .addGap(3, 3, 3)
-                .addComponent(sphereModeComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
-                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                .addGroup(spherePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
-                    .addComponent(sphereRadialSamplesLabel)
-                    .addComponent(sphereRadialSamplesSpinner, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
-                .addGap(5, 5, 5)
-                .addGroup(spherePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
-                    .addComponent(sphereZSamplesLabel)
-                    .addComponent(sphereZSamplesSpinner, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
-                .addGap(8, 8, 8)
-                .addGroup(spherePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
-                    .addComponent(sphereRadiusLabel)
-                    .addComponent(sphereRadiusSpinner, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
-                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                .addGroup(spherePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-                    .addComponent(sphereUseEvenSlicesLabel)
-                    .addComponent(sphereUseEvenSlicesCheckBox))
-                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                .addGroup(spherePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-                    .addComponent(sphereInteriorLabel)
-                    .addComponent(sphereInteriorCheckBox))
-                .addContainerGap(184, Short.MAX_VALUE))
-        );
-
-        jTabbedPane1.addTab(org.openide.util.NbBundle.getMessage(NewGeometrySettingsTopComponent.class, "NewGeometrySettingsTopComponent.spherePanel.TabConstraints.tabTitle"), spherePanel); // NOI18N
-
-        binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, newGeometrySettings, org.jdesktop.beansbinding.ELProperty.create("${quadName}"), quadNameTextField, org.jdesktop.beansbinding.BeanProperty.create("text"));
-        bindingGroup.addBinding(binding);
-
-        org.openide.awt.Mnemonics.setLocalizedText(quadWidthLabel, org.openide.util.NbBundle.getMessage(NewGeometrySettingsTopComponent.class, "NewGeometrySettingsTopComponent.quadWidthLabel.text")); // NOI18N
-
-        org.openide.awt.Mnemonics.setLocalizedText(quadHeightLabel, org.openide.util.NbBundle.getMessage(NewGeometrySettingsTopComponent.class, "NewGeometrySettingsTopComponent.quadHeightLabel.text")); // NOI18N
-
-        quadWidthSpinner.setModel(new javax.swing.SpinnerNumberModel(Float.valueOf(0.0f), Float.valueOf(0.0f), null, Float.valueOf(0.5f)));
-
-        binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, newGeometrySettings, org.jdesktop.beansbinding.ELProperty.create("${quadWidth}"), quadWidthSpinner, org.jdesktop.beansbinding.BeanProperty.create("value"));
-        bindingGroup.addBinding(binding);
-
-        quadHeightSpinner.setModel(new javax.swing.SpinnerNumberModel(Float.valueOf(0.0f), Float.valueOf(0.0f), null, Float.valueOf(0.5f)));
-
-        binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, newGeometrySettings, org.jdesktop.beansbinding.ELProperty.create("${quadHeight}"), quadHeightSpinner, org.jdesktop.beansbinding.BeanProperty.create("value"));
-        bindingGroup.addBinding(binding);
-
-        org.openide.awt.Mnemonics.setLocalizedText(quadFlipCoordLabel, org.openide.util.NbBundle.getMessage(NewGeometrySettingsTopComponent.class, "NewGeometrySettingsTopComponent.quadFlipCoordLabel.text")); // NOI18N
-
-        org.openide.awt.Mnemonics.setLocalizedText(quadFlipCoordCheckBox, org.openide.util.NbBundle.getMessage(NewGeometrySettingsTopComponent.class, "NewGeometrySettingsTopComponent.quadFlipCoordCheckBox.text")); // NOI18N
-
-        binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, newGeometrySettings, org.jdesktop.beansbinding.ELProperty.create("${quadFlipCoords}"), quadFlipCoordCheckBox, org.jdesktop.beansbinding.BeanProperty.create("selected"));
-        bindingGroup.addBinding(binding);
-
-        eLProperty = org.jdesktop.beansbinding.ELProperty.create("${modes}");
-        jComboBoxBinding = org.jdesktop.swingbinding.SwingBindings.createJComboBoxBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, newGeometrySettings, eLProperty, quadModeComboBox);
-        bindingGroup.addBinding(jComboBoxBinding);
-        binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, newGeometrySettings, org.jdesktop.beansbinding.ELProperty.create("${quadMode}"), quadModeComboBox, org.jdesktop.beansbinding.BeanProperty.create("selectedItem"));
-        bindingGroup.addBinding(binding);
-
-        eLProperty = org.jdesktop.beansbinding.ELProperty.create("${plans}");
-        jComboBoxBinding = org.jdesktop.swingbinding.SwingBindings.createJComboBoxBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, newGeometrySettings, eLProperty, jComboBox2);
-        bindingGroup.addBinding(jComboBoxBinding);
-        binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, newGeometrySettings, org.jdesktop.beansbinding.ELProperty.create("${quadPlan}"), jComboBox2, org.jdesktop.beansbinding.BeanProperty.create("selectedItem"));
-        bindingGroup.addBinding(binding);
-
-        javax.swing.GroupLayout quadPanelLayout = new javax.swing.GroupLayout(quadPanel);
-        quadPanel.setLayout(quadPanelLayout);
-        quadPanelLayout.setHorizontalGroup(
-            quadPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-            .addGroup(quadPanelLayout.createSequentialGroup()
-                .addContainerGap()
-                .addGroup(quadPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-                    .addComponent(quadModeComboBox, javax.swing.GroupLayout.Alignment.TRAILING, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
-                    .addComponent(quadNameTextField)
-                    .addComponent(jComboBox2, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
-                    .addGroup(quadPanelLayout.createSequentialGroup()
-                        .addComponent(quadFlipCoordLabel)
-                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                        .addComponent(quadFlipCoordCheckBox, javax.swing.GroupLayout.PREFERRED_SIZE, 101, javax.swing.GroupLayout.PREFERRED_SIZE)
-                        .addGap(0, 39, Short.MAX_VALUE))
-                    .addGroup(quadPanelLayout.createSequentialGroup()
-                        .addGroup(quadPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-                            .addComponent(quadWidthLabel)
-                            .addComponent(quadHeightLabel))
-                        .addGap(38, 38, 38)
-                        .addGroup(quadPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-                            .addComponent(quadHeightSpinner)
-                            .addComponent(quadWidthSpinner))))
-                .addContainerGap())
-        );
-        quadPanelLayout.setVerticalGroup(
-            quadPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-            .addGroup(quadPanelLayout.createSequentialGroup()
-                .addContainerGap()
-                .addComponent(quadNameTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
-                .addGap(4, 4, 4)
-                .addComponent(quadModeComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
-                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                .addComponent(jComboBox2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
-                .addGap(8, 8, 8)
-                .addGroup(quadPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
-                    .addComponent(quadWidthLabel)
-                    .addComponent(quadWidthSpinner, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
-                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                .addGroup(quadPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
-                    .addComponent(quadHeightLabel)
-                    .addComponent(quadHeightSpinner, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
-                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                .addGroup(quadPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-                    .addComponent(quadFlipCoordLabel)
-                    .addComponent(quadFlipCoordCheckBox))
-                .addContainerGap(201, Short.MAX_VALUE))
-        );
-
-        jTabbedPane1.addTab(org.openide.util.NbBundle.getMessage(NewGeometrySettingsTopComponent.class, "NewGeometrySettingsTopComponent.quadPanel.TabConstraints.tabTitle"), quadPanel); // NOI18N
-
-        binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, newGeometrySettings, org.jdesktop.beansbinding.ELProperty.create("${lineName}"), lineNameTextField, org.jdesktop.beansbinding.BeanProperty.create("text"));
-        bindingGroup.addBinding(binding);
-
-        org.openide.awt.Mnemonics.setLocalizedText(lineStartLabel, org.openide.util.NbBundle.getMessage(NewGeometrySettingsTopComponent.class, "NewGeometrySettingsTopComponent.lineStartLabel.text")); // NOI18N
-
-        binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, newGeometrySettings, org.jdesktop.beansbinding.ELProperty.create("${lineStart}"), lineStartTextField, org.jdesktop.beansbinding.BeanProperty.create("text_ON_ACTION_OR_FOCUS_LOST"));
-        binding.setConverter(converterVector3f_String);
-        bindingGroup.addBinding(binding);
-
-        org.openide.awt.Mnemonics.setLocalizedText(lineEndLabel, org.openide.util.NbBundle.getMessage(NewGeometrySettingsTopComponent.class, "NewGeometrySettingsTopComponent.lineEndLabel.text")); // NOI18N
-
-        binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, newGeometrySettings, org.jdesktop.beansbinding.ELProperty.create("${lineEnd}"), lineEndTextField, org.jdesktop.beansbinding.BeanProperty.create("text_ON_ACTION_OR_FOCUS_LOST"));
-        binding.setConverter(converterVector3f_String);
-        bindingGroup.addBinding(binding);
-
-        eLProperty = org.jdesktop.beansbinding.ELProperty.create("${modes}");
-        jComboBoxBinding = org.jdesktop.swingbinding.SwingBindings.createJComboBoxBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, newGeometrySettings, eLProperty, jComboBox1);
-        bindingGroup.addBinding(jComboBoxBinding);
-        binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, newGeometrySettings, org.jdesktop.beansbinding.ELProperty.create("${lineMode}"), jComboBox1, org.jdesktop.beansbinding.BeanProperty.create("selectedItem"));
-        bindingGroup.addBinding(binding);
-
-        javax.swing.GroupLayout linePanelLayout = new javax.swing.GroupLayout(linePanel);
-        linePanel.setLayout(linePanelLayout);
-        linePanelLayout.setHorizontalGroup(
-            linePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, linePanelLayout.createSequentialGroup()
-                .addContainerGap()
-                .addGroup(linePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
-                    .addComponent(lineNameTextField)
-                    .addGroup(javax.swing.GroupLayout.Alignment.LEADING, linePanelLayout.createSequentialGroup()
-                        .addComponent(lineEndLabel)
-                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
-                        .addComponent(lineEndTextField))
-                    .addComponent(jComboBox1, javax.swing.GroupLayout.Alignment.LEADING, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
-                    .addGroup(javax.swing.GroupLayout.Alignment.LEADING, linePanelLayout.createSequentialGroup()
-                        .addComponent(lineStartLabel)
-                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                        .addComponent(lineStartTextField, javax.swing.GroupLayout.DEFAULT_SIZE, 177, Short.MAX_VALUE)))
-                .addContainerGap())
-        );
-        linePanelLayout.setVerticalGroup(
-            linePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-            .addGroup(linePanelLayout.createSequentialGroup()
-                .addContainerGap()
-                .addComponent(lineNameTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
-                .addGap(5, 5, 5)
-                .addComponent(jComboBox1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
-                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                .addGroup(linePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
-                    .addComponent(lineStartLabel)
-                    .addComponent(lineStartTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
-                .addGap(8, 8, 8)
-                .addGroup(linePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
-                    .addComponent(lineEndLabel)
-                    .addComponent(lineEndTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
-                .addContainerGap(259, Short.MAX_VALUE))
-        );
-
-        jTabbedPane1.addTab(org.openide.util.NbBundle.getMessage(NewGeometrySettingsTopComponent.class, "NewGeometrySettingsTopComponent.linePanel.TabConstraints.tabTitle"), linePanel); // NOI18N
-
-        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
-        this.setLayout(layout);
-        layout.setHorizontalGroup(
-            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-            .addComponent(jTabbedPane1)
-        );
-        layout.setVerticalGroup(
-            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-            .addComponent(jTabbedPane1, javax.swing.GroupLayout.Alignment.TRAILING)
-        );
-
-        bindingGroup.bind();
-    }// </editor-fold>//GEN-END:initComponents
-
-    private void boxNameTextFieldActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_boxNameTextFieldActionPerformed
-        // TODO add your handling code here:
-    }//GEN-LAST:event_boxNameTextFieldActionPerformed
-
-    private void boxModeComboBoxActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_boxModeComboBoxActionPerformed
-        // TODO add your handling code here:
-    }//GEN-LAST:event_boxModeComboBoxActionPerformed
-
-    // Variables declaration - do not modify//GEN-BEGIN:variables
-    private javax.swing.JComboBox boxModeComboBox;
-    private javax.swing.JTextField boxNameTextField;
-    private javax.swing.JPanel boxPanel;
-    private javax.swing.JLabel boxXLabel;
-    private javax.swing.JSpinner boxXSpinner;
-    private javax.swing.JLabel boxYLabel;
-    private javax.swing.JSpinner boxYSpinner;
-    private javax.swing.JLabel boxZLabel;
-    private javax.swing.JSpinner boxZSpinner;
-    private com.jme3.gde.core.sceneexplorer.nodes.actions.impl.ConverterVector3f_String converterVector3f_String;
-    private javax.swing.JComboBox jComboBox1;
-    private javax.swing.JComboBox jComboBox2;
-    private javax.swing.JTabbedPane jTabbedPane1;
-    private javax.swing.JLabel lineEndLabel;
-    private javax.swing.JTextField lineEndTextField;
-    private javax.swing.JTextField lineNameTextField;
-    private javax.swing.JPanel linePanel;
-    private javax.swing.JLabel lineStartLabel;
-    private javax.swing.JTextField lineStartTextField;
-    private com.jme3.gde.core.sceneexplorer.nodes.actions.impl.NewGeometrySettings newGeometrySettings;
-    private javax.swing.JCheckBox quadFlipCoordCheckBox;
-    private javax.swing.JLabel quadFlipCoordLabel;
-    private javax.swing.JLabel quadHeightLabel;
-    private javax.swing.JSpinner quadHeightSpinner;
-    private javax.swing.JComboBox quadModeComboBox;
-    private javax.swing.JTextField quadNameTextField;
-    private javax.swing.JPanel quadPanel;
-    private javax.swing.JLabel quadWidthLabel;
-    private javax.swing.JSpinner quadWidthSpinner;
-    private javax.swing.JCheckBox sphereInteriorCheckBox;
-    private javax.swing.JLabel sphereInteriorLabel;
-    private javax.swing.JComboBox sphereModeComboBox;
-    private javax.swing.JTextField sphereNameTextField;
-    private javax.swing.JPanel spherePanel;
-    private javax.swing.JLabel sphereRadialSamplesLabel;
-    private javax.swing.JSpinner sphereRadialSamplesSpinner;
-    private javax.swing.JLabel sphereRadiusLabel;
-    private javax.swing.JSpinner sphereRadiusSpinner;
-    private javax.swing.JCheckBox sphereUseEvenSlicesCheckBox;
-    private javax.swing.JLabel sphereUseEvenSlicesLabel;
-    private javax.swing.JLabel sphereZSamplesLabel;
-    private javax.swing.JSpinner sphereZSamplesSpinner;
-    private org.jdesktop.beansbinding.BindingGroup bindingGroup;
-    // End of variables declaration//GEN-END:variables
-    @Override
-    public void componentOpened() { // TODO add custom code on component opening
-        newGeometrySettings.open();
-    }
-
-    @Override
-    public void componentClosed() {
-        newGeometrySettings.close();
-    }
-
-    void writeProperties(java.util.Properties p) {
-        // better to version settings since initial version as advocated at
-        // http://wiki.apidesign.org/wiki/PropertyFiles
-        p.setProperty("version", "1.0");
-        // TODO store your settings
-    }
-
-    void readProperties(java.util.Properties p) {
-        String version = p.getProperty("version");
-        // TODO read your settings according to their version
-    }
-    
-}

+ 22 - 19
jme3-core/src/com/jme3/gde/core/sceneexplorer/nodes/actions/impl/NewGeometrySphereAction.java

@@ -1,5 +1,5 @@
 /*
 /*
- *  Copyright (c) 2009-2010 jMonkeyEngine
+ *  Copyright (c) 2009-2019 jMonkeyEngine
  *  All rights reserved.
  *  All rights reserved.
  * 
  * 
  *  Redistribution and use in source and binary forms, with or without
  *  Redistribution and use in source and binary forms, with or without
@@ -31,44 +31,47 @@
  */
  */
 package com.jme3.gde.core.sceneexplorer.nodes.actions.impl;
 package com.jme3.gde.core.sceneexplorer.nodes.actions.impl;
 
 
-import com.jme3.asset.AssetManager;
 import com.jme3.gde.core.sceneexplorer.nodes.actions.AbstractNewSpatialAction;
 import com.jme3.gde.core.sceneexplorer.nodes.actions.AbstractNewSpatialAction;
 import com.jme3.gde.core.sceneexplorer.nodes.actions.NewGeometryAction;
 import com.jme3.gde.core.sceneexplorer.nodes.actions.NewGeometryAction;
-import com.jme3.material.Material;
-import com.jme3.math.ColorRGBA;
+import com.jme3.gde.core.sceneexplorer.nodes.primitives.CreateSpherePanel;
 import com.jme3.scene.Geometry;
 import com.jme3.scene.Geometry;
 import com.jme3.scene.Node;
 import com.jme3.scene.Node;
 import com.jme3.scene.Spatial;
 import com.jme3.scene.Spatial;
 import com.jme3.scene.shape.Sphere;
 import com.jme3.scene.shape.Sphere;
+import org.openide.DialogDescriptor;
+import org.openide.DialogDisplayer;
+import org.openide.NotifyDescriptor;
 
 
 /**
 /**
+ * Action to create a new primitive (Sphere)
  *
  *
+ * @author MeFisto94
  * @author david.bernard.31
  * @author david.bernard.31
  */
  */
 @org.openide.util.lookup.ServiceProvider(service = NewGeometryAction.class)
 @org.openide.util.lookup.ServiceProvider(service = NewGeometryAction.class)
 public class NewGeometrySphereAction extends AbstractNewSpatialAction implements NewGeometryAction {
 public class NewGeometrySphereAction extends AbstractNewSpatialAction implements NewGeometryAction {
 
 
+    CreateSpherePanel form;
+
     public NewGeometrySphereAction() {
     public NewGeometrySphereAction() {
         name = "Sphere";
         name = "Sphere";
+        form = new CreateSpherePanel();
     }
     }
 
 
     @Override
     @Override
     protected Spatial doCreateSpatial(Node parent) {
     protected Spatial doCreateSpatial(Node parent) {
-        NewGeometrySettings cfg = new NewGeometrySettings();
-        Sphere b = new Sphere(
-            cfg.getSphereZSamples()
-            , cfg.getSpherRadialSamples()
-            , cfg.getSphereRadius()
-            , cfg.getSphereUseEvenSlices()
-            , cfg.getSphereInterior()
-        );
-        b.setMode(cfg.getSphereMode());
-        Geometry geom = new Geometry(cfg.getSphereName(), b);
-        Material mat = new Material(pm, "Common/MatDefs/Misc/Unshaded.j3md");
-        ColorRGBA  c = cfg.getMatRandom() ?ColorRGBA.randomColor() : cfg.getMatColor();
-        mat.setColor("Color", c);
-        geom.setMaterial(mat);        
-        parent.attachChild(geom);
+        Sphere s = new Sphere(form.getZSamples(), form.getRadialSamples(),
+                form.getRadius(), form.useEvenSlices(), form.isInterior());
+        Geometry geom = form.getNewGeomPanel().handleGeometry(pm, s);
+        // parent.attachChild(geom); // was present in previous code, but should neither be necessary nor correct
         return geom;
         return geom;
     }
     }
+
+    @Override
+    protected boolean prepareCreateSpatial() {
+        String msg = "Create new Sphere";
+        DialogDescriptor dd = new DialogDescriptor(form, msg);
+        Object result = DialogDisplayer.getDefault().notify(dd);
+        return (result == NotifyDescriptor.OK_OPTION);
+    }
 }
 }

+ 28 - 0
jme3-core/src/com/jme3/gde/core/sceneexplorer/nodes/primitives/Bundle.properties

@@ -0,0 +1,28 @@
+Error reading included file Templates/Other/Templates/Licenses/license-jme.txt
+CreateBoxPanel.jPanel1.border.title=Box Specific Settings
+CreateBoxPanel.text=x
+CreateBoxPanel.lblY.text=y
+CreateBoxPanel.lblZ.text=z
+CreateBoxPanel.lblExtents.toolTipText=
+CreateBoxPanel.lblExtents.text=Box Half-Extents ("Radius")
+CreateQuadPanel.abstractNewGeometryPanel1.border.title=General Geometry Settings
+CreateQuadPanel.jPanel1.border.title=Quad Specific Settings
+CreateQuadPanel.checkFlipCoords.text=flipCoords
+CreateSpherePanel.abstractNewGeometryPanel1.border.title=General Geometry Settings
+CreateSpherePanel.jPanel1.border.title=Sphere Specific Settings
+CreateLinePanel.jPanel1.border.title=Line Specific Settings
+CreateLinePanel.abstractNewGeometryPanel1.border.title=General Geometry Settings
+CreateLinePanel.fieldStart.text=(0, 0, 0)
+CreateLinePanel.fieldEnd.text=(0, 0, 10)
+CreateLinePanel.lblEnd.text=End Point:
+CreateSpherePanel.checkInterior.text=interior
+CreateSpherePanel.checkEvenSlices.text=useEvenSlices
+CreateSpherePanel.lblRadius.toolTipText=
+CreateSpherePanel.lblRadius.text=Radius:
+CreateSpherePanel.lblZSamples.toolTipText=
+CreateSpherePanel.lblZSamples.text=Z-Samples:
+CreateBoxPanel.newGeomPanel.border.title=General Geometry Settings
+CreateLinePanel.lblStart.text=Start Point:
+CreateQuadPanel.lblHeight.text=height
+CreateQuadPanel.lblWidth.text=width
+CreateSpherePanel.lblRadialSamples.text=Radial Samples:

+ 176 - 0
jme3-core/src/com/jme3/gde/core/sceneexplorer/nodes/primitives/CreateBoxPanel.form

@@ -0,0 +1,176 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<Form version="1.5" maxVersion="1.9" type="org.netbeans.modules.form.forminfo.JPanelFormInfo">
+  <AuxValues>
+    <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="1"/>
+    <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
+    <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="true"/>
+    <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="true"/>
+    <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
+    <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
+    <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
+  </AuxValues>
+
+  <Layout>
+    <DimensionLayout dim="0">
+      <Group type="103" groupAlignment="0" attributes="0">
+          <Group type="102" alignment="0" attributes="0">
+              <EmptySpace max="-2" attributes="0"/>
+              <Group type="103" groupAlignment="0" max="-2" attributes="0">
+                  <Component id="jPanel1" max="32767" attributes="0"/>
+                  <Component id="newGeomPanel" max="32767" attributes="0"/>
+              </Group>
+              <EmptySpace max="32767" attributes="0"/>
+          </Group>
+      </Group>
+    </DimensionLayout>
+    <DimensionLayout dim="1">
+      <Group type="103" groupAlignment="0" attributes="0">
+          <Group type="102" alignment="0" attributes="0">
+              <EmptySpace max="-2" attributes="0"/>
+              <Component id="newGeomPanel" min="-2" max="-2" attributes="0"/>
+              <EmptySpace max="-2" attributes="0"/>
+              <Component id="jPanel1" max="32767" attributes="0"/>
+              <EmptySpace max="-2" attributes="0"/>
+          </Group>
+      </Group>
+    </DimensionLayout>
+  </Layout>
+  <SubComponents>
+    <Component class="com.jme3.gde.core.sceneexplorer.nodes.actions.impl.AbstractNewGeometryPanel" name="newGeomPanel">
+      <Properties>
+        <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
+          <Border info="org.netbeans.modules.form.compat2.border.TitledBorderInfo">
+            <TitledBorder title="General Geometry Settings">
+              <ResourceString PropertyName="titleX" bundle="com/jme3/gde/core/sceneexplorer/nodes/primitives/Bundle.properties" key="CreateBoxPanel.newGeomPanel.border.title" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+            </TitledBorder>
+          </Border>
+        </Property>
+      </Properties>
+    </Component>
+    <Container class="javax.swing.JPanel" name="jPanel1">
+      <Properties>
+        <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
+          <Border info="org.netbeans.modules.form.compat2.border.TitledBorderInfo">
+            <TitledBorder title="Box Specific Settings">
+              <ResourceString PropertyName="titleX" bundle="com/jme3/gde/core/sceneexplorer/nodes/primitives/Bundle.properties" key="CreateBoxPanel.jPanel1.border.title" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+            </TitledBorder>
+          </Border>
+        </Property>
+      </Properties>
+
+      <Layout>
+        <DimensionLayout dim="0">
+          <Group type="103" groupAlignment="0" attributes="0">
+              <Group type="102" attributes="0">
+                  <EmptySpace max="-2" attributes="0"/>
+                  <Group type="103" groupAlignment="0" attributes="0">
+                      <Group type="102" alignment="0" attributes="0">
+                          <Component id="lblExtents" min="-2" max="-2" attributes="0"/>
+                          <EmptySpace min="0" pref="0" max="32767" attributes="0"/>
+                      </Group>
+                      <Group type="102" alignment="0" attributes="0">
+                          <Component id="lblX" min="-2" max="-2" attributes="0"/>
+                          <EmptySpace type="unrelated" max="-2" attributes="0"/>
+                          <Component id="spinnerX" max="32767" attributes="0"/>
+                      </Group>
+                      <Group type="102" alignment="0" attributes="0">
+                          <Component id="lblY" min="-2" max="-2" attributes="0"/>
+                          <EmptySpace type="unrelated" max="-2" attributes="0"/>
+                          <Component id="spinnerY" max="32767" attributes="0"/>
+                      </Group>
+                      <Group type="102" alignment="0" attributes="0">
+                          <Component id="lblZ" min="-2" max="-2" attributes="0"/>
+                          <EmptySpace type="unrelated" max="-2" attributes="0"/>
+                          <Component id="spinnerZ" max="32767" attributes="0"/>
+                      </Group>
+                  </Group>
+                  <EmptySpace max="-2" attributes="0"/>
+              </Group>
+          </Group>
+        </DimensionLayout>
+        <DimensionLayout dim="1">
+          <Group type="103" groupAlignment="0" attributes="0">
+              <Group type="102" alignment="0" attributes="0">
+                  <EmptySpace max="-2" attributes="0"/>
+                  <Component id="lblExtents" min="-2" max="-2" attributes="0"/>
+                  <EmptySpace type="unrelated" max="-2" attributes="0"/>
+                  <Group type="103" groupAlignment="3" attributes="0">
+                      <Component id="lblX" alignment="3" min="-2" max="-2" attributes="0"/>
+                      <Component id="spinnerX" alignment="3" min="-2" max="-2" attributes="0"/>
+                  </Group>
+                  <EmptySpace max="-2" attributes="0"/>
+                  <Group type="103" groupAlignment="3" attributes="0">
+                      <Component id="lblY" alignment="3" min="-2" max="-2" attributes="0"/>
+                      <Component id="spinnerY" alignment="3" min="-2" max="-2" attributes="0"/>
+                  </Group>
+                  <EmptySpace max="-2" attributes="0"/>
+                  <Group type="103" groupAlignment="3" attributes="0">
+                      <Component id="lblZ" alignment="3" min="-2" max="-2" attributes="0"/>
+                      <Component id="spinnerZ" alignment="3" min="-2" max="-2" attributes="0"/>
+                  </Group>
+                  <EmptySpace max="32767" attributes="0"/>
+              </Group>
+          </Group>
+        </DimensionLayout>
+      </Layout>
+      <SubComponents>
+        <Component class="javax.swing.JLabel" name="lblExtents">
+          <Properties>
+            <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+              <ResourceString bundle="com/jme3/gde/core/sceneexplorer/nodes/primitives/Bundle.properties" key="CreateBoxPanel.lblExtents.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+            </Property>
+            <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+              <ResourceString bundle="com/jme3/gde/core/sceneexplorer/nodes/primitives/Bundle.properties" key="CreateBoxPanel.lblExtents.toolTipText" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+            </Property>
+          </Properties>
+        </Component>
+        <Component class="javax.swing.JLabel" name="lblX">
+          <Properties>
+            <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+              <ResourceString bundle="com/jme3/gde/core/sceneexplorer/nodes/primitives/Bundle.properties" key="CreateBoxPanel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+            </Property>
+            <Property name="name" type="java.lang.String" value="" noResource="true"/>
+          </Properties>
+        </Component>
+        <Component class="javax.swing.JSpinner" name="spinnerX">
+          <Properties>
+            <Property name="model" type="javax.swing.SpinnerModel" editor="org.netbeans.modules.form.editors2.SpinnerModelEditor">
+              <SpinnerModel initial="0.5" numberType="java.lang.Float" stepSize="0.01" type="number"/>
+            </Property>
+          </Properties>
+        </Component>
+        <Component class="javax.swing.JLabel" name="lblY">
+          <Properties>
+            <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+              <ResourceString bundle="com/jme3/gde/core/sceneexplorer/nodes/primitives/Bundle.properties" key="CreateBoxPanel.lblY.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+            </Property>
+          </Properties>
+        </Component>
+        <Component class="javax.swing.JSpinner" name="spinnerY">
+          <Properties>
+            <Property name="model" type="javax.swing.SpinnerModel" editor="org.netbeans.modules.form.editors2.SpinnerModelEditor">
+              <SpinnerModel initial="0.5" numberType="java.lang.Float" stepSize="0.01" type="number"/>
+            </Property>
+          </Properties>
+        </Component>
+        <Component class="javax.swing.JLabel" name="lblZ">
+          <Properties>
+            <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+              <ResourceString bundle="com/jme3/gde/core/sceneexplorer/nodes/primitives/Bundle.properties" key="CreateBoxPanel.lblZ.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+            </Property>
+          </Properties>
+        </Component>
+        <Component class="javax.swing.JSpinner" name="spinnerZ">
+          <Properties>
+            <Property name="model" type="javax.swing.SpinnerModel" editor="org.netbeans.modules.form.editors2.SpinnerModelEditor">
+              <SpinnerModel initial="0.5" numberType="java.lang.Float" stepSize="0.01" type="number"/>
+            </Property>
+          </Properties>
+        </Component>
+      </SubComponents>
+    </Container>
+  </SubComponents>
+</Form>

+ 179 - 0
jme3-core/src/com/jme3/gde/core/sceneexplorer/nodes/primitives/CreateBoxPanel.java

@@ -0,0 +1,179 @@
+/*
+ *  Copyright (c) 2019- 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.sceneexplorer.nodes.primitives;
+
+import com.jme3.gde.core.sceneexplorer.nodes.actions.impl.AbstractNewGeometryPanel;
+import com.jme3.math.Vector3f;
+
+/**
+ * This is the Panel which creates a new Primitive (Box)
+ *
+ * @author MeFisto94
+ */
+public class CreateBoxPanel extends javax.swing.JPanel {
+
+    /**
+     * Creates new form CreateBoxPanel
+     */
+    public CreateBoxPanel() {
+        initComponents();
+    }
+
+    public AbstractNewGeometryPanel getNewGeomPanel() {
+        return newGeomPanel;
+    }
+
+    public Vector3f getBoxExtents() {
+        return new Vector3f(
+                (float) spinnerX.getValue(),
+                (float) spinnerY.getValue(),
+                (float) spinnerZ.getValue()
+        );
+    }
+
+    /**
+     * 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
+    private void initComponents() {
+
+        newGeomPanel = new com.jme3.gde.core.sceneexplorer.nodes.actions.impl.AbstractNewGeometryPanel();
+        jPanel1 = new javax.swing.JPanel();
+        lblExtents = new javax.swing.JLabel();
+        lblX = new javax.swing.JLabel();
+        spinnerX = new javax.swing.JSpinner();
+        lblY = new javax.swing.JLabel();
+        spinnerY = new javax.swing.JSpinner();
+        lblZ = new javax.swing.JLabel();
+        spinnerZ = new javax.swing.JSpinner();
+
+        newGeomPanel.setBorder(javax.swing.BorderFactory.createTitledBorder(org.openide.util.NbBundle.getMessage(CreateBoxPanel.class, "CreateBoxPanel.newGeomPanel.border.title"))); // NOI18N
+
+        jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder(org.openide.util.NbBundle.getMessage(CreateBoxPanel.class, "CreateBoxPanel.jPanel1.border.title"))); // NOI18N
+
+        org.openide.awt.Mnemonics.setLocalizedText(lblExtents, org.openide.util.NbBundle.getMessage(CreateBoxPanel.class, "CreateBoxPanel.lblExtents.text")); // NOI18N
+        lblExtents.setToolTipText(org.openide.util.NbBundle.getMessage(CreateBoxPanel.class, "CreateBoxPanel.lblExtents.toolTipText")); // NOI18N
+
+        org.openide.awt.Mnemonics.setLocalizedText(lblX, org.openide.util.NbBundle.getMessage(CreateBoxPanel.class, "CreateBoxPanel.text")); // NOI18N
+        lblX.setName(""); // NOI18N
+
+        spinnerX.setModel(new javax.swing.SpinnerNumberModel(0.5f, null, null, 0.01f));
+
+        org.openide.awt.Mnemonics.setLocalizedText(lblY, org.openide.util.NbBundle.getMessage(CreateBoxPanel.class, "CreateBoxPanel.lblY.text")); // NOI18N
+
+        spinnerY.setModel(new javax.swing.SpinnerNumberModel(0.5f, null, null, 0.01f));
+
+        org.openide.awt.Mnemonics.setLocalizedText(lblZ, org.openide.util.NbBundle.getMessage(CreateBoxPanel.class, "CreateBoxPanel.lblZ.text")); // NOI18N
+
+        spinnerZ.setModel(new javax.swing.SpinnerNumberModel(0.5f, null, null, 0.01f));
+
+        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
+        jPanel1.setLayout(jPanel1Layout);
+        jPanel1Layout.setHorizontalGroup(
+            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(jPanel1Layout.createSequentialGroup()
+                .addContainerGap()
+                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addGroup(jPanel1Layout.createSequentialGroup()
+                        .addComponent(lblExtents)
+                        .addGap(0, 0, Short.MAX_VALUE))
+                    .addGroup(jPanel1Layout.createSequentialGroup()
+                        .addComponent(lblX)
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                        .addComponent(spinnerX))
+                    .addGroup(jPanel1Layout.createSequentialGroup()
+                        .addComponent(lblY)
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                        .addComponent(spinnerY))
+                    .addGroup(jPanel1Layout.createSequentialGroup()
+                        .addComponent(lblZ)
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                        .addComponent(spinnerZ)))
+                .addContainerGap())
+        );
+        jPanel1Layout.setVerticalGroup(
+            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(jPanel1Layout.createSequentialGroup()
+                .addContainerGap()
+                .addComponent(lblExtents)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(lblX)
+                    .addComponent(spinnerX, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(lblY)
+                    .addComponent(spinnerY, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(lblZ)
+                    .addComponent(spinnerZ, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+        );
+
+        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
+        this.setLayout(layout);
+        layout.setHorizontalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(layout.createSequentialGroup()
+                .addContainerGap()
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
+                    .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                    .addComponent(newGeomPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+        );
+        layout.setVerticalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(layout.createSequentialGroup()
+                .addContainerGap()
+                .addComponent(newGeomPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                .addContainerGap())
+        );
+    }// </editor-fold>//GEN-END:initComponents
+
+    // Variables declaration - do not modify//GEN-BEGIN:variables
+    private javax.swing.JPanel jPanel1;
+    private javax.swing.JLabel lblExtents;
+    private javax.swing.JLabel lblX;
+    private javax.swing.JLabel lblY;
+    private javax.swing.JLabel lblZ;
+    private com.jme3.gde.core.sceneexplorer.nodes.actions.impl.AbstractNewGeometryPanel newGeomPanel;
+    private javax.swing.JSpinner spinnerX;
+    private javax.swing.JSpinner spinnerY;
+    private javax.swing.JSpinner spinnerZ;
+    // End of variables declaration//GEN-END:variables
+}

+ 136 - 0
jme3-core/src/com/jme3/gde/core/sceneexplorer/nodes/primitives/CreateLinePanel.form

@@ -0,0 +1,136 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<Form version="1.5" maxVersion="1.9" type="org.netbeans.modules.form.forminfo.JPanelFormInfo">
+  <AuxValues>
+    <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="1"/>
+    <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
+    <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="true"/>
+    <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="true"/>
+    <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
+    <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
+    <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
+  </AuxValues>
+
+  <Layout>
+    <DimensionLayout dim="0">
+      <Group type="103" groupAlignment="0" attributes="0">
+          <Group type="102" alignment="0" attributes="0">
+              <EmptySpace max="-2" attributes="0"/>
+              <Group type="103" groupAlignment="0" max="-2" attributes="0">
+                  <Component id="abstractNewGeometryPanel1" max="32767" attributes="0"/>
+                  <Component id="jPanel1" max="32767" attributes="0"/>
+              </Group>
+              <EmptySpace max="32767" attributes="0"/>
+          </Group>
+      </Group>
+    </DimensionLayout>
+    <DimensionLayout dim="1">
+      <Group type="103" groupAlignment="0" attributes="0">
+          <Group type="102" alignment="0" attributes="0">
+              <EmptySpace max="32767" attributes="0"/>
+              <Component id="abstractNewGeometryPanel1" min="-2" max="-2" attributes="0"/>
+              <EmptySpace max="-2" attributes="0"/>
+              <Component id="jPanel1" min="-2" max="-2" attributes="0"/>
+              <EmptySpace max="-2" attributes="0"/>
+          </Group>
+      </Group>
+    </DimensionLayout>
+  </Layout>
+  <SubComponents>
+    <Component class="com.jme3.gde.core.sceneexplorer.nodes.actions.impl.AbstractNewGeometryPanel" name="abstractNewGeometryPanel1">
+      <Properties>
+        <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
+          <Border info="org.netbeans.modules.form.compat2.border.TitledBorderInfo">
+            <TitledBorder title="General Geometry Settings">
+              <ResourceString PropertyName="titleX" bundle="com/jme3/gde/core/sceneexplorer/nodes/primitives/Bundle.properties" key="CreateLinePanel.abstractNewGeometryPanel1.border.title" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+            </TitledBorder>
+          </Border>
+        </Property>
+      </Properties>
+    </Component>
+    <Container class="javax.swing.JPanel" name="jPanel1">
+      <Properties>
+        <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
+          <Border info="org.netbeans.modules.form.compat2.border.TitledBorderInfo">
+            <TitledBorder title="Line Specific Settings">
+              <ResourceString PropertyName="titleX" bundle="com/jme3/gde/core/sceneexplorer/nodes/primitives/Bundle.properties" key="CreateLinePanel.jPanel1.border.title" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+            </TitledBorder>
+          </Border>
+        </Property>
+      </Properties>
+
+      <Layout>
+        <DimensionLayout dim="0">
+          <Group type="103" groupAlignment="0" attributes="0">
+              <Group type="102" alignment="0" attributes="0">
+                  <EmptySpace max="-2" attributes="0"/>
+                  <Group type="103" groupAlignment="0" attributes="0">
+                      <Group type="102" alignment="0" attributes="0">
+                          <Component id="lblEnd" min="-2" max="-2" attributes="0"/>
+                          <EmptySpace min="-2" pref="28" max="-2" attributes="0"/>
+                          <Component id="fieldEnd" max="32767" attributes="0"/>
+                      </Group>
+                      <Group type="102" alignment="0" attributes="0">
+                          <Component id="lblStart" min="-2" max="-2" attributes="0"/>
+                          <EmptySpace type="unrelated" max="-2" attributes="0"/>
+                          <Component id="fieldStart" max="32767" attributes="0"/>
+                      </Group>
+                  </Group>
+                  <EmptySpace max="-2" attributes="0"/>
+              </Group>
+          </Group>
+        </DimensionLayout>
+        <DimensionLayout dim="1">
+          <Group type="103" groupAlignment="0" attributes="0">
+              <Group type="102" alignment="0" attributes="0">
+                  <EmptySpace max="-2" attributes="0"/>
+                  <Group type="103" groupAlignment="3" attributes="0">
+                      <Component id="lblStart" alignment="3" min="-2" max="-2" attributes="0"/>
+                      <Component id="fieldStart" alignment="3" min="-2" max="-2" attributes="0"/>
+                  </Group>
+                  <EmptySpace max="-2" attributes="0"/>
+                  <Group type="103" groupAlignment="3" attributes="0">
+                      <Component id="lblEnd" alignment="3" min="-2" max="-2" attributes="0"/>
+                      <Component id="fieldEnd" alignment="3" min="-2" max="-2" attributes="0"/>
+                  </Group>
+                  <EmptySpace max="32767" attributes="0"/>
+              </Group>
+          </Group>
+        </DimensionLayout>
+      </Layout>
+      <SubComponents>
+        <Component class="javax.swing.JLabel" name="lblStart">
+          <Properties>
+            <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+              <ResourceString bundle="com/jme3/gde/core/sceneexplorer/nodes/primitives/Bundle.properties" key="CreateLinePanel.lblStart.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+            </Property>
+            <Property name="name" type="java.lang.String" value="" noResource="true"/>
+          </Properties>
+        </Component>
+        <Component class="javax.swing.JLabel" name="lblEnd">
+          <Properties>
+            <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+              <ResourceString bundle="com/jme3/gde/core/sceneexplorer/nodes/primitives/Bundle.properties" key="CreateLinePanel.lblEnd.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+            </Property>
+          </Properties>
+        </Component>
+        <Component class="javax.swing.JTextField" name="fieldStart">
+          <Properties>
+            <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+              <ResourceString bundle="com/jme3/gde/core/sceneexplorer/nodes/primitives/Bundle.properties" key="CreateLinePanel.fieldStart.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+            </Property>
+          </Properties>
+        </Component>
+        <Component class="javax.swing.JTextField" name="fieldEnd">
+          <Properties>
+            <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+              <ResourceString bundle="com/jme3/gde/core/sceneexplorer/nodes/primitives/Bundle.properties" key="CreateLinePanel.fieldEnd.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+            </Property>
+          </Properties>
+        </Component>
+      </SubComponents>
+    </Container>
+  </SubComponents>
+</Form>

+ 154 - 0
jme3-core/src/com/jme3/gde/core/sceneexplorer/nodes/primitives/CreateLinePanel.java

@@ -0,0 +1,154 @@
+/*
+ *  Copyright (c) 2019- 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.sceneexplorer.nodes.primitives;
+
+import com.jme3.gde.core.sceneexplorer.nodes.actions.impl.AbstractNewGeometryPanel;
+import com.jme3.gde.core.sceneexplorer.nodes.actions.impl.ConverterVector3f_String;
+import com.jme3.math.Vector3f;
+
+/**
+ * This is the Panel which creates a new Primitive (Line)
+ *
+ * @author MeFisto94
+ */
+public class CreateLinePanel extends javax.swing.JPanel {
+
+    /**
+     * Creates new form CreateBoxPanel
+     */
+    public CreateLinePanel() {
+        initComponents();
+    }
+
+    public AbstractNewGeometryPanel getNewGeomPanel() {
+        return abstractNewGeometryPanel1;
+    }
+
+    public Vector3f getLineStart() {
+        return ConverterVector3f_String.StringToVector3f(fieldStart.getText());
+    }
+
+    public Vector3f getLineEnd() {
+        return ConverterVector3f_String.StringToVector3f(fieldEnd.getText());
+    }
+
+    /**
+     * 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
+    private void initComponents() {
+
+        abstractNewGeometryPanel1 = new com.jme3.gde.core.sceneexplorer.nodes.actions.impl.AbstractNewGeometryPanel();
+        jPanel1 = new javax.swing.JPanel();
+        lblStart = new javax.swing.JLabel();
+        lblEnd = new javax.swing.JLabel();
+        fieldStart = new javax.swing.JTextField();
+        fieldEnd = new javax.swing.JTextField();
+
+        abstractNewGeometryPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder(org.openide.util.NbBundle.getMessage(CreateLinePanel.class, "CreateLinePanel.abstractNewGeometryPanel1.border.title"))); // NOI18N
+
+        jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder(org.openide.util.NbBundle.getMessage(CreateLinePanel.class, "CreateLinePanel.jPanel1.border.title"))); // NOI18N
+
+        org.openide.awt.Mnemonics.setLocalizedText(lblStart, org.openide.util.NbBundle.getMessage(CreateLinePanel.class, "CreateLinePanel.lblStart.text")); // NOI18N
+        lblStart.setName(""); // NOI18N
+
+        org.openide.awt.Mnemonics.setLocalizedText(lblEnd, org.openide.util.NbBundle.getMessage(CreateLinePanel.class, "CreateLinePanel.lblEnd.text")); // NOI18N
+
+        fieldStart.setText(org.openide.util.NbBundle.getMessage(CreateLinePanel.class, "CreateLinePanel.fieldStart.text")); // NOI18N
+
+        fieldEnd.setText(org.openide.util.NbBundle.getMessage(CreateLinePanel.class, "CreateLinePanel.fieldEnd.text")); // NOI18N
+
+        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
+        jPanel1.setLayout(jPanel1Layout);
+        jPanel1Layout.setHorizontalGroup(
+            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(jPanel1Layout.createSequentialGroup()
+                .addContainerGap()
+                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addGroup(jPanel1Layout.createSequentialGroup()
+                        .addComponent(lblEnd)
+                        .addGap(28, 28, 28)
+                        .addComponent(fieldEnd))
+                    .addGroup(jPanel1Layout.createSequentialGroup()
+                        .addComponent(lblStart)
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                        .addComponent(fieldStart)))
+                .addContainerGap())
+        );
+        jPanel1Layout.setVerticalGroup(
+            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(jPanel1Layout.createSequentialGroup()
+                .addContainerGap()
+                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(lblStart)
+                    .addComponent(fieldStart, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(lblEnd)
+                    .addComponent(fieldEnd, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+        );
+
+        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
+        this.setLayout(layout);
+        layout.setHorizontalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(layout.createSequentialGroup()
+                .addContainerGap()
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
+                    .addComponent(abstractNewGeometryPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                    .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+        );
+        layout.setVerticalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(layout.createSequentialGroup()
+                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                .addComponent(abstractNewGeometryPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addContainerGap())
+        );
+    }// </editor-fold>//GEN-END:initComponents
+
+    // Variables declaration - do not modify//GEN-BEGIN:variables
+    private com.jme3.gde.core.sceneexplorer.nodes.actions.impl.AbstractNewGeometryPanel abstractNewGeometryPanel1;
+    private javax.swing.JTextField fieldEnd;
+    private javax.swing.JTextField fieldStart;
+    private javax.swing.JPanel jPanel1;
+    private javax.swing.JLabel lblEnd;
+    private javax.swing.JLabel lblStart;
+    // End of variables declaration//GEN-END:variables
+}

+ 150 - 0
jme3-core/src/com/jme3/gde/core/sceneexplorer/nodes/primitives/CreateQuadPanel.form

@@ -0,0 +1,150 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<Form version="1.5" maxVersion="1.9" type="org.netbeans.modules.form.forminfo.JPanelFormInfo">
+  <AuxValues>
+    <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="1"/>
+    <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
+    <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="true"/>
+    <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="true"/>
+    <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
+    <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
+    <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
+  </AuxValues>
+
+  <Layout>
+    <DimensionLayout dim="0">
+      <Group type="103" groupAlignment="0" attributes="0">
+          <Group type="102" alignment="0" attributes="0">
+              <EmptySpace max="-2" attributes="0"/>
+              <Group type="103" groupAlignment="0" max="-2" attributes="0">
+                  <Component id="abstractNewGeometryPanel1" max="32767" attributes="0"/>
+                  <Component id="jPanel1" max="32767" attributes="0"/>
+              </Group>
+              <EmptySpace max="32767" attributes="0"/>
+          </Group>
+      </Group>
+    </DimensionLayout>
+    <DimensionLayout dim="1">
+      <Group type="103" groupAlignment="0" attributes="0">
+          <Group type="102" alignment="0" attributes="0">
+              <EmptySpace max="-2" attributes="0"/>
+              <Component id="abstractNewGeometryPanel1" min="-2" max="-2" attributes="0"/>
+              <EmptySpace max="-2" attributes="0"/>
+              <Component id="jPanel1" min="-2" pref="105" max="-2" attributes="0"/>
+              <EmptySpace max="32767" attributes="0"/>
+          </Group>
+      </Group>
+    </DimensionLayout>
+  </Layout>
+  <SubComponents>
+    <Component class="com.jme3.gde.core.sceneexplorer.nodes.actions.impl.AbstractNewGeometryPanel" name="abstractNewGeometryPanel1">
+      <Properties>
+        <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
+          <Border info="org.netbeans.modules.form.compat2.border.TitledBorderInfo">
+            <TitledBorder title="General Geometry Settings">
+              <ResourceString PropertyName="titleX" bundle="com/jme3/gde/core/sceneexplorer/nodes/primitives/Bundle.properties" key="CreateQuadPanel.abstractNewGeometryPanel1.border.title" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+            </TitledBorder>
+          </Border>
+        </Property>
+      </Properties>
+    </Component>
+    <Container class="javax.swing.JPanel" name="jPanel1">
+      <Properties>
+        <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
+          <Border info="org.netbeans.modules.form.compat2.border.TitledBorderInfo">
+            <TitledBorder title="Quad Specific Settings">
+              <ResourceString PropertyName="titleX" bundle="com/jme3/gde/core/sceneexplorer/nodes/primitives/Bundle.properties" key="CreateQuadPanel.jPanel1.border.title" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+            </TitledBorder>
+          </Border>
+        </Property>
+      </Properties>
+
+      <Layout>
+        <DimensionLayout dim="0">
+          <Group type="103" groupAlignment="0" attributes="0">
+              <Group type="102" alignment="0" attributes="0">
+                  <EmptySpace max="-2" attributes="0"/>
+                  <Group type="103" groupAlignment="0" attributes="0">
+                      <Group type="102" attributes="0">
+                          <Component id="checkFlipCoords" min="-2" max="-2" attributes="0"/>
+                          <EmptySpace min="0" pref="0" max="32767" attributes="0"/>
+                      </Group>
+                      <Group type="102" attributes="0">
+                          <Group type="103" groupAlignment="0" attributes="0">
+                              <Component id="lblHeight" alignment="0" min="-2" max="-2" attributes="0"/>
+                              <Component id="lblWidth" alignment="0" min="-2" max="-2" attributes="0"/>
+                          </Group>
+                          <EmptySpace type="unrelated" max="-2" attributes="0"/>
+                          <Group type="103" groupAlignment="0" attributes="0">
+                              <Component id="spinnerX" max="32767" attributes="0"/>
+                              <Component id="spinnerY" max="32767" attributes="0"/>
+                          </Group>
+                      </Group>
+                  </Group>
+                  <EmptySpace max="-2" attributes="0"/>
+              </Group>
+          </Group>
+        </DimensionLayout>
+        <DimensionLayout dim="1">
+          <Group type="103" groupAlignment="0" attributes="0">
+              <Group type="102" alignment="0" attributes="0">
+                  <EmptySpace max="-2" attributes="0"/>
+                  <Group type="103" groupAlignment="3" attributes="0">
+                      <Component id="lblWidth" alignment="3" min="-2" max="-2" attributes="0"/>
+                      <Component id="spinnerX" alignment="3" min="-2" max="-2" attributes="0"/>
+                  </Group>
+                  <EmptySpace max="-2" attributes="0"/>
+                  <Group type="103" groupAlignment="3" attributes="0">
+                      <Component id="lblHeight" alignment="3" min="-2" max="-2" attributes="0"/>
+                      <Component id="spinnerY" alignment="3" min="-2" max="-2" attributes="0"/>
+                  </Group>
+                  <EmptySpace max="32767" attributes="0"/>
+                  <Component id="checkFlipCoords" min="-2" max="-2" attributes="0"/>
+                  <EmptySpace min="-2" pref="35" max="-2" attributes="0"/>
+              </Group>
+          </Group>
+        </DimensionLayout>
+      </Layout>
+      <SubComponents>
+        <Component class="javax.swing.JLabel" name="lblWidth">
+          <Properties>
+            <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+              <ResourceString bundle="com/jme3/gde/core/sceneexplorer/nodes/primitives/Bundle.properties" key="CreateQuadPanel.lblWidth.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+            </Property>
+            <Property name="name" type="java.lang.String" value="" noResource="true"/>
+          </Properties>
+        </Component>
+        <Component class="javax.swing.JSpinner" name="spinnerX">
+          <Properties>
+            <Property name="model" type="javax.swing.SpinnerModel" editor="org.netbeans.modules.form.editors2.SpinnerModelEditor">
+              <SpinnerModel initial="0.5" minimum="0.0" numberType="java.lang.Float" stepSize="0.1" type="number"/>
+            </Property>
+          </Properties>
+        </Component>
+        <Component class="javax.swing.JLabel" name="lblHeight">
+          <Properties>
+            <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+              <ResourceString bundle="com/jme3/gde/core/sceneexplorer/nodes/primitives/Bundle.properties" key="CreateQuadPanel.lblHeight.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+            </Property>
+          </Properties>
+        </Component>
+        <Component class="javax.swing.JSpinner" name="spinnerY">
+          <Properties>
+            <Property name="model" type="javax.swing.SpinnerModel" editor="org.netbeans.modules.form.editors2.SpinnerModelEditor">
+              <SpinnerModel initial="0.5" minimum="0.0" numberType="java.lang.Float" stepSize="0.1" type="number"/>
+            </Property>
+          </Properties>
+        </Component>
+        <Component class="javax.swing.JCheckBox" name="checkFlipCoords">
+          <Properties>
+            <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+              <ResourceString bundle="com/jme3/gde/core/sceneexplorer/nodes/primitives/Bundle.properties" key="CreateQuadPanel.checkFlipCoords.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+            </Property>
+          </Properties>
+        </Component>
+      </SubComponents>
+    </Container>
+  </SubComponents>
+</Form>

+ 165 - 0
jme3-core/src/com/jme3/gde/core/sceneexplorer/nodes/primitives/CreateQuadPanel.java

@@ -0,0 +1,165 @@
+/*
+ *  Copyright (c) 2019- 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.sceneexplorer.nodes.primitives;
+
+import com.jme3.gde.core.sceneexplorer.nodes.actions.impl.AbstractNewGeometryPanel;
+
+/**
+ * This is the Panel which creates a new Primitive (Quad)
+ *
+ * @author MeFisto94
+ */
+public class CreateQuadPanel extends javax.swing.JPanel {
+
+    /**
+     * Creates new form CreateBoxPanel
+     */
+    public CreateQuadPanel() {
+        initComponents();
+    }
+
+    public AbstractNewGeometryPanel getNewGeomPanel() {
+        return abstractNewGeometryPanel1;
+    }
+
+    public int getQuadWidth() {
+        return (int) spinnerX.getValue();
+    }
+
+    public int getQuadHeight() {
+        return (int) spinnerY.getValue();
+    }
+
+    public boolean isFlipCoords() {
+        return checkFlipCoords.isSelected();
+    }
+
+    /**
+     * 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
+    private void initComponents() {
+
+        abstractNewGeometryPanel1 = new com.jme3.gde.core.sceneexplorer.nodes.actions.impl.AbstractNewGeometryPanel();
+        jPanel1 = new javax.swing.JPanel();
+        lblWidth = new javax.swing.JLabel();
+        spinnerX = new javax.swing.JSpinner();
+        lblHeight = new javax.swing.JLabel();
+        spinnerY = new javax.swing.JSpinner();
+        checkFlipCoords = new javax.swing.JCheckBox();
+
+        abstractNewGeometryPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder(org.openide.util.NbBundle.getMessage(CreateQuadPanel.class, "CreateQuadPanel.abstractNewGeometryPanel1.border.title"))); // NOI18N
+
+        jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder(org.openide.util.NbBundle.getMessage(CreateQuadPanel.class, "CreateQuadPanel.jPanel1.border.title"))); // NOI18N
+
+        org.openide.awt.Mnemonics.setLocalizedText(lblWidth, org.openide.util.NbBundle.getMessage(CreateQuadPanel.class, "CreateQuadPanel.lblWidth.text")); // NOI18N
+        lblWidth.setName(""); // NOI18N
+
+        spinnerX.setModel(new javax.swing.SpinnerNumberModel(0.5f, 0.0f, null, 0.1f));
+
+        org.openide.awt.Mnemonics.setLocalizedText(lblHeight, org.openide.util.NbBundle.getMessage(CreateQuadPanel.class, "CreateQuadPanel.lblHeight.text")); // NOI18N
+
+        spinnerY.setModel(new javax.swing.SpinnerNumberModel(0.5f, 0.0f, null, 0.1f));
+
+        org.openide.awt.Mnemonics.setLocalizedText(checkFlipCoords, org.openide.util.NbBundle.getMessage(CreateQuadPanel.class, "CreateQuadPanel.checkFlipCoords.text")); // NOI18N
+
+        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
+        jPanel1.setLayout(jPanel1Layout);
+        jPanel1Layout.setHorizontalGroup(
+            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(jPanel1Layout.createSequentialGroup()
+                .addContainerGap()
+                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addGroup(jPanel1Layout.createSequentialGroup()
+                        .addComponent(checkFlipCoords)
+                        .addGap(0, 0, Short.MAX_VALUE))
+                    .addGroup(jPanel1Layout.createSequentialGroup()
+                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                            .addComponent(lblHeight)
+                            .addComponent(lblWidth))
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                            .addComponent(spinnerX)
+                            .addComponent(spinnerY))))
+                .addContainerGap())
+        );
+        jPanel1Layout.setVerticalGroup(
+            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(jPanel1Layout.createSequentialGroup()
+                .addContainerGap()
+                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(lblWidth)
+                    .addComponent(spinnerX, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(lblHeight)
+                    .addComponent(spinnerY, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                .addComponent(checkFlipCoords)
+                .addGap(35, 35, 35))
+        );
+
+        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
+        this.setLayout(layout);
+        layout.setHorizontalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(layout.createSequentialGroup()
+                .addContainerGap()
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
+                    .addComponent(abstractNewGeometryPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                    .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+        );
+        layout.setVerticalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(layout.createSequentialGroup()
+                .addContainerGap()
+                .addComponent(abstractNewGeometryPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, 105, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+        );
+    }// </editor-fold>//GEN-END:initComponents
+
+    // Variables declaration - do not modify//GEN-BEGIN:variables
+    private com.jme3.gde.core.sceneexplorer.nodes.actions.impl.AbstractNewGeometryPanel abstractNewGeometryPanel1;
+    private javax.swing.JCheckBox checkFlipCoords;
+    private javax.swing.JPanel jPanel1;
+    private javax.swing.JLabel lblHeight;
+    private javax.swing.JLabel lblWidth;
+    private javax.swing.JSpinner spinnerX;
+    private javax.swing.JSpinner spinnerY;
+    // End of variables declaration//GEN-END:variables
+}

+ 192 - 0
jme3-core/src/com/jme3/gde/core/sceneexplorer/nodes/primitives/CreateSpherePanel.form

@@ -0,0 +1,192 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<Form version="1.5" maxVersion="1.9" type="org.netbeans.modules.form.forminfo.JPanelFormInfo">
+  <AuxValues>
+    <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="1"/>
+    <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
+    <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="true"/>
+    <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="true"/>
+    <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
+    <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
+    <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
+  </AuxValues>
+
+  <Layout>
+    <DimensionLayout dim="0">
+      <Group type="103" groupAlignment="0" attributes="0">
+          <Group type="102" alignment="0" attributes="0">
+              <EmptySpace max="-2" attributes="0"/>
+              <Group type="103" groupAlignment="0" max="-2" attributes="0">
+                  <Component id="abstractNewGeometryPanel1" max="32767" attributes="0"/>
+                  <Component id="jPanel1" max="32767" attributes="0"/>
+              </Group>
+              <EmptySpace max="32767" attributes="0"/>
+          </Group>
+      </Group>
+    </DimensionLayout>
+    <DimensionLayout dim="1">
+      <Group type="103" groupAlignment="0" attributes="0">
+          <Group type="102" alignment="0" attributes="0">
+              <EmptySpace max="-2" attributes="0"/>
+              <Component id="abstractNewGeometryPanel1" min="-2" max="-2" attributes="0"/>
+              <EmptySpace max="-2" attributes="0"/>
+              <Component id="jPanel1" pref="162" max="32767" attributes="0"/>
+          </Group>
+      </Group>
+    </DimensionLayout>
+  </Layout>
+  <SubComponents>
+    <Component class="com.jme3.gde.core.sceneexplorer.nodes.actions.impl.AbstractNewGeometryPanel" name="abstractNewGeometryPanel1">
+      <Properties>
+        <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
+          <Border info="org.netbeans.modules.form.compat2.border.TitledBorderInfo">
+            <TitledBorder title="General Geometry Settings">
+              <ResourceString PropertyName="titleX" bundle="com/jme3/gde/core/sceneexplorer/nodes/primitives/Bundle.properties" key="CreateSpherePanel.abstractNewGeometryPanel1.border.title" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+            </TitledBorder>
+          </Border>
+        </Property>
+      </Properties>
+    </Component>
+    <Container class="javax.swing.JPanel" name="jPanel1">
+      <Properties>
+        <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
+          <Border info="org.netbeans.modules.form.compat2.border.TitledBorderInfo">
+            <TitledBorder title="Sphere Specific Settings">
+              <ResourceString PropertyName="titleX" bundle="com/jme3/gde/core/sceneexplorer/nodes/primitives/Bundle.properties" key="CreateSpherePanel.jPanel1.border.title" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+            </TitledBorder>
+          </Border>
+        </Property>
+      </Properties>
+
+      <Layout>
+        <DimensionLayout dim="0">
+          <Group type="103" groupAlignment="0" attributes="0">
+              <Group type="102" attributes="0">
+                  <EmptySpace max="-2" attributes="0"/>
+                  <Group type="103" groupAlignment="0" attributes="0">
+                      <Group type="102" attributes="0">
+                          <Component id="lblRadialSamples" min="-2" max="-2" attributes="0"/>
+                          <EmptySpace type="unrelated" max="-2" attributes="0"/>
+                          <Component id="spinnerRadialSamples" max="32767" attributes="0"/>
+                      </Group>
+                      <Group type="102" alignment="0" attributes="0">
+                          <Component id="lblZSamples" min="-2" max="-2" attributes="0"/>
+                          <EmptySpace min="-2" pref="51" max="-2" attributes="0"/>
+                          <Component id="spinnerZSamples" max="32767" attributes="0"/>
+                      </Group>
+                      <Group type="102" alignment="0" attributes="0">
+                          <Component id="lblRadius" min="-2" max="-2" attributes="0"/>
+                          <EmptySpace min="-2" pref="78" max="-2" attributes="0"/>
+                          <Component id="spinnerRadius" max="32767" attributes="0"/>
+                      </Group>
+                      <Group type="102" alignment="0" attributes="0">
+                          <Group type="103" groupAlignment="0" attributes="0">
+                              <Component id="checkEvenSlices" min="-2" max="-2" attributes="0"/>
+                              <Component id="checkInterior" min="-2" max="-2" attributes="0"/>
+                          </Group>
+                          <EmptySpace min="0" pref="0" max="32767" attributes="0"/>
+                      </Group>
+                  </Group>
+                  <EmptySpace max="-2" attributes="0"/>
+              </Group>
+          </Group>
+        </DimensionLayout>
+        <DimensionLayout dim="1">
+          <Group type="103" groupAlignment="0" attributes="0">
+              <Group type="102" alignment="0" attributes="0">
+                  <EmptySpace max="-2" attributes="0"/>
+                  <Group type="103" groupAlignment="3" attributes="0">
+                      <Component id="lblRadialSamples" alignment="3" min="-2" max="-2" attributes="0"/>
+                      <Component id="spinnerRadialSamples" alignment="3" min="-2" max="-2" attributes="0"/>
+                  </Group>
+                  <EmptySpace max="-2" attributes="0"/>
+                  <Group type="103" groupAlignment="3" attributes="0">
+                      <Component id="lblZSamples" alignment="3" min="-2" max="-2" attributes="0"/>
+                      <Component id="spinnerZSamples" alignment="3" min="-2" max="-2" attributes="0"/>
+                  </Group>
+                  <EmptySpace max="-2" attributes="0"/>
+                  <Group type="103" groupAlignment="3" attributes="0">
+                      <Component id="lblRadius" alignment="3" min="-2" max="-2" attributes="0"/>
+                      <Component id="spinnerRadius" alignment="3" min="-2" max="-2" attributes="0"/>
+                  </Group>
+                  <EmptySpace type="unrelated" max="-2" attributes="0"/>
+                  <Component id="checkEvenSlices" min="-2" max="-2" attributes="0"/>
+                  <EmptySpace max="32767" attributes="0"/>
+                  <Component id="checkInterior" min="-2" max="-2" attributes="0"/>
+                  <EmptySpace min="-2" pref="29" max="-2" attributes="0"/>
+              </Group>
+          </Group>
+        </DimensionLayout>
+      </Layout>
+      <SubComponents>
+        <Component class="javax.swing.JLabel" name="lblRadialSamples">
+          <Properties>
+            <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+              <ResourceString bundle="com/jme3/gde/core/sceneexplorer/nodes/primitives/Bundle.properties" key="CreateSpherePanel.lblRadialSamples.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+            </Property>
+            <Property name="name" type="java.lang.String" value="" noResource="true"/>
+          </Properties>
+        </Component>
+        <Component class="javax.swing.JSpinner" name="spinnerRadialSamples">
+          <Properties>
+            <Property name="model" type="javax.swing.SpinnerModel" editor="org.netbeans.modules.form.editors2.SpinnerModelEditor">
+              <SpinnerModel initial="10" minimum="1" numberType="java.lang.Integer" stepSize="1" type="number"/>
+            </Property>
+          </Properties>
+        </Component>
+        <Component class="javax.swing.JCheckBox" name="checkEvenSlices">
+          <Properties>
+            <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+              <ResourceString bundle="com/jme3/gde/core/sceneexplorer/nodes/primitives/Bundle.properties" key="CreateSpherePanel.checkEvenSlices.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+            </Property>
+          </Properties>
+        </Component>
+        <Component class="javax.swing.JSpinner" name="spinnerZSamples">
+          <Properties>
+            <Property name="model" type="javax.swing.SpinnerModel" editor="org.netbeans.modules.form.editors2.SpinnerModelEditor">
+              <SpinnerModel initial="10" minimum="1" numberType="java.lang.Integer" stepSize="1" type="number"/>
+            </Property>
+          </Properties>
+        </Component>
+        <Component class="javax.swing.JLabel" name="lblZSamples">
+          <Properties>
+            <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+              <ResourceString bundle="com/jme3/gde/core/sceneexplorer/nodes/primitives/Bundle.properties" key="CreateSpherePanel.lblZSamples.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+            </Property>
+            <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+              <ResourceString bundle="com/jme3/gde/core/sceneexplorer/nodes/primitives/Bundle.properties" key="CreateSpherePanel.lblZSamples.toolTipText" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+            </Property>
+            <Property name="name" type="java.lang.String" value="" noResource="true"/>
+          </Properties>
+        </Component>
+        <Component class="javax.swing.JCheckBox" name="checkInterior">
+          <Properties>
+            <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+              <ResourceString bundle="com/jme3/gde/core/sceneexplorer/nodes/primitives/Bundle.properties" key="CreateSpherePanel.checkInterior.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+            </Property>
+          </Properties>
+        </Component>
+        <Component class="javax.swing.JSpinner" name="spinnerRadius">
+          <Properties>
+            <Property name="model" type="javax.swing.SpinnerModel" editor="org.netbeans.modules.form.editors2.SpinnerModelEditor">
+              <SpinnerModel initial="0.5" numberType="java.lang.Float" stepSize="0.01" type="number"/>
+            </Property>
+          </Properties>
+        </Component>
+        <Component class="javax.swing.JLabel" name="lblRadius">
+          <Properties>
+            <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+              <ResourceString bundle="com/jme3/gde/core/sceneexplorer/nodes/primitives/Bundle.properties" key="CreateSpherePanel.lblRadius.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+            </Property>
+            <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+              <ResourceString bundle="com/jme3/gde/core/sceneexplorer/nodes/primitives/Bundle.properties" key="CreateSpherePanel.lblRadius.toolTipText" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+            </Property>
+            <Property name="name" type="java.lang.String" value="" noResource="true"/>
+          </Properties>
+        </Component>
+      </SubComponents>
+    </Container>
+  </SubComponents>
+</Form>

+ 200 - 0
jme3-core/src/com/jme3/gde/core/sceneexplorer/nodes/primitives/CreateSpherePanel.java

@@ -0,0 +1,200 @@
+/*
+ *  Copyright (c) 2019- 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.sceneexplorer.nodes.primitives;
+
+import com.jme3.gde.core.sceneexplorer.nodes.actions.impl.AbstractNewGeometryPanel;
+
+/**
+ * This is the Panel which creates a new Primitive (Sphere)
+ *
+ * @author MeFisto94
+ */
+public class CreateSpherePanel extends javax.swing.JPanel {
+
+    /**
+     * Creates new form CreateBoxPanel
+     */
+    public CreateSpherePanel() {
+        initComponents();
+    }
+
+    public AbstractNewGeometryPanel getNewGeomPanel() {
+        return abstractNewGeometryPanel1;
+    }
+
+    public int getZSamples() {
+        return (int) spinnerZSamples.getValue();
+    }
+
+    public int getRadialSamples() {
+        return (int) spinnerRadialSamples.getValue();
+    }
+
+    public float getRadius() {
+        return (float) spinnerRadius.getValue();
+    }
+
+    public boolean useEvenSlices() {
+        return checkEvenSlices.isSelected();
+    }
+
+    public boolean isInterior() {
+        return checkInterior.isSelected();
+    }
+
+    /**
+     * 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
+    private void initComponents() {
+
+        abstractNewGeometryPanel1 = new com.jme3.gde.core.sceneexplorer.nodes.actions.impl.AbstractNewGeometryPanel();
+        jPanel1 = new javax.swing.JPanel();
+        lblRadialSamples = new javax.swing.JLabel();
+        spinnerRadialSamples = new javax.swing.JSpinner();
+        checkEvenSlices = new javax.swing.JCheckBox();
+        spinnerZSamples = new javax.swing.JSpinner();
+        lblZSamples = new javax.swing.JLabel();
+        checkInterior = new javax.swing.JCheckBox();
+        spinnerRadius = new javax.swing.JSpinner();
+        lblRadius = new javax.swing.JLabel();
+
+        abstractNewGeometryPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder(org.openide.util.NbBundle.getMessage(CreateSpherePanel.class, "CreateSpherePanel.abstractNewGeometryPanel1.border.title"))); // NOI18N
+
+        jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder(org.openide.util.NbBundle.getMessage(CreateSpherePanel.class, "CreateSpherePanel.jPanel1.border.title"))); // NOI18N
+
+        org.openide.awt.Mnemonics.setLocalizedText(lblRadialSamples, org.openide.util.NbBundle.getMessage(CreateSpherePanel.class, "CreateSpherePanel.lblRadialSamples.text")); // NOI18N
+        lblRadialSamples.setName(""); // NOI18N
+
+        spinnerRadialSamples.setModel(new javax.swing.SpinnerNumberModel(10, 1, null, 1));
+
+        org.openide.awt.Mnemonics.setLocalizedText(checkEvenSlices, org.openide.util.NbBundle.getMessage(CreateSpherePanel.class, "CreateSpherePanel.checkEvenSlices.text")); // NOI18N
+
+        spinnerZSamples.setModel(new javax.swing.SpinnerNumberModel(10, 1, null, 1));
+
+        org.openide.awt.Mnemonics.setLocalizedText(lblZSamples, org.openide.util.NbBundle.getMessage(CreateSpherePanel.class, "CreateSpherePanel.lblZSamples.text")); // NOI18N
+        lblZSamples.setToolTipText(org.openide.util.NbBundle.getMessage(CreateSpherePanel.class, "CreateSpherePanel.lblZSamples.toolTipText")); // NOI18N
+        lblZSamples.setName(""); // NOI18N
+
+        org.openide.awt.Mnemonics.setLocalizedText(checkInterior, org.openide.util.NbBundle.getMessage(CreateSpherePanel.class, "CreateSpherePanel.checkInterior.text")); // NOI18N
+
+        spinnerRadius.setModel(new javax.swing.SpinnerNumberModel(0.5f, null, null, 0.01f));
+
+        org.openide.awt.Mnemonics.setLocalizedText(lblRadius, org.openide.util.NbBundle.getMessage(CreateSpherePanel.class, "CreateSpherePanel.lblRadius.text")); // NOI18N
+        lblRadius.setToolTipText(org.openide.util.NbBundle.getMessage(CreateSpherePanel.class, "CreateSpherePanel.lblRadius.toolTipText")); // NOI18N
+        lblRadius.setName(""); // NOI18N
+
+        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
+        jPanel1.setLayout(jPanel1Layout);
+        jPanel1Layout.setHorizontalGroup(
+            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(jPanel1Layout.createSequentialGroup()
+                .addContainerGap()
+                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addGroup(jPanel1Layout.createSequentialGroup()
+                        .addComponent(lblRadialSamples)
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                        .addComponent(spinnerRadialSamples))
+                    .addGroup(jPanel1Layout.createSequentialGroup()
+                        .addComponent(lblZSamples)
+                        .addGap(51, 51, 51)
+                        .addComponent(spinnerZSamples))
+                    .addGroup(jPanel1Layout.createSequentialGroup()
+                        .addComponent(lblRadius)
+                        .addGap(78, 78, 78)
+                        .addComponent(spinnerRadius))
+                    .addGroup(jPanel1Layout.createSequentialGroup()
+                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                            .addComponent(checkEvenSlices)
+                            .addComponent(checkInterior))
+                        .addGap(0, 0, Short.MAX_VALUE)))
+                .addContainerGap())
+        );
+        jPanel1Layout.setVerticalGroup(
+            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(jPanel1Layout.createSequentialGroup()
+                .addContainerGap()
+                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(lblRadialSamples)
+                    .addComponent(spinnerRadialSamples, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(lblZSamples)
+                    .addComponent(spinnerZSamples, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(lblRadius)
+                    .addComponent(spinnerRadius, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                .addComponent(checkEvenSlices)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                .addComponent(checkInterior)
+                .addGap(29, 29, 29))
+        );
+
+        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
+        this.setLayout(layout);
+        layout.setHorizontalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(layout.createSequentialGroup()
+                .addContainerGap()
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
+                    .addComponent(abstractNewGeometryPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                    .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+        );
+        layout.setVerticalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(layout.createSequentialGroup()
+                .addContainerGap()
+                .addComponent(abstractNewGeometryPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, 162, Short.MAX_VALUE))
+        );
+    }// </editor-fold>//GEN-END:initComponents
+
+    // Variables declaration - do not modify//GEN-BEGIN:variables
+    private com.jme3.gde.core.sceneexplorer.nodes.actions.impl.AbstractNewGeometryPanel abstractNewGeometryPanel1;
+    private javax.swing.JCheckBox checkEvenSlices;
+    private javax.swing.JCheckBox checkInterior;
+    private javax.swing.JPanel jPanel1;
+    private javax.swing.JLabel lblRadialSamples;
+    private javax.swing.JLabel lblRadius;
+    private javax.swing.JLabel lblZSamples;
+    private javax.swing.JSpinner spinnerRadialSamples;
+    private javax.swing.JSpinner spinnerRadius;
+    private javax.swing.JSpinner spinnerZSamples;
+    // End of variables declaration//GEN-END:variables
+}

+ 1 - 1
jme3-core/src/com/jme3/gde/core/util/PropertyUtils.java

@@ -45,7 +45,7 @@ public class PropertyUtils {
 
 
     public static PropertyDescriptor getPropertyDescriptor(Class c, Field field) {
     public static PropertyDescriptor getPropertyDescriptor(Class c, Field field) {
         try {
         try {
-            PropertyDescriptor prop = new PropertyDescriptor(field.getName(), c);
+            PropertyDescriptor prop = new PropertyDescriptor((String)field.getName(), c);
 
 
             prop.setDisplayName(splitCamelCase(field.getName()));
             prop.setDisplayName(splitCamelCase(field.getName()));
 
 

+ 2 - 2
jme3-dark-laf/nbproject/genfiles.properties

@@ -1,8 +1,8 @@
 build.xml.data.CRC32=838b636e
 build.xml.data.CRC32=838b636e
 build.xml.script.CRC32=c15f5ee0
 build.xml.script.CRC32=c15f5ee0
-build.xml.stylesheet.CRC32=[email protected].1
+build.xml.stylesheet.CRC32=[email protected].1
 # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
 # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
 # Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
 # Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
 nbproject/build-impl.xml.data.CRC32=838b636e
 nbproject/build-impl.xml.data.CRC32=838b636e
 nbproject/build-impl.xml.script.CRC32=4524e469
 nbproject/build-impl.xml.script.CRC32=4524e469
-nbproject/build-impl.xml.stylesheet.CRC32=[email protected].1
+nbproject/build-impl.xml.stylesheet.CRC32=[email protected].1

+ 1 - 1
jme3-dark-laf/nbproject/project.properties

@@ -5,4 +5,4 @@ license.file=../license-jme.txt
 nbm.homepage=http://www.jmonkeyengine.org
 nbm.homepage=http://www.jmonkeyengine.org
 nbm.module.author=Charles Anderson, R\u00e9my Bouquet
 nbm.module.author=Charles Anderson, R\u00e9my Bouquet
 nbm.needs.restart=true
 nbm.needs.restart=true
-spec.version.base=3.2.0
+spec.version.base=3.3.0

+ 1 - 1
jme3-desktop-executables/nbproject/project.properties

@@ -5,4 +5,4 @@ license.file=../license-jme.txt
 nbm.homepage=http\://www.jmonkeyengine.org
 nbm.homepage=http\://www.jmonkeyengine.org
 nbm.module.author=Normen Hansen
 nbm.module.author=Normen Hansen
 nbm.needs.restart=true
 nbm.needs.restart=true
-spec.version.base=3.2.0
+spec.version.base=3.3.0

+ 1 - 1
jme3-desktop-executables/nbproject/project.xml

@@ -12,7 +12,7 @@
                     <compile-dependency/>
                     <compile-dependency/>
                     <run-dependency>
                     <run-dependency>
                         <release-version>1</release-version>
                         <release-version>1</release-version>
-                        <specification-version>3.2.0</specification-version>
+                        <specification-version>3.3.0</specification-version>
                     </run-dependency>
                     </run-dependency>
                 </dependency>
                 </dependency>
                 <dependency>
                 <dependency>

+ 2 - 2
jme3-documentation/nbproject/genfiles.properties

@@ -3,6 +3,6 @@ build.xml.script.CRC32=20380530
 [email protected]
 [email protected]
 # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
 # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
 # Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
 # Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
-nbproject/build-impl.xml.data.CRC32=e71e23dd
+nbproject/build-impl.xml.data.CRC32=ded89ea9
 nbproject/build-impl.xml.script.CRC32=0cdd5704
 nbproject/build-impl.xml.script.CRC32=0cdd5704
-nbproject/build-impl.xml.stylesheet.CRC32=[email protected].1
+nbproject/build-impl.xml.stylesheet.CRC32=[email protected].1

+ 2 - 2
jme3-documentation/nbproject/project.properties

@@ -1,6 +1,6 @@
-javac.source=1.6
+javac.source=10
 javac.compilerargs=-Xlint -Xlint:-serial
 javac.compilerargs=-Xlint -Xlint:-serial
 license.file=../license-jme.txt
 license.file=../license-jme.txt
 nbm.homepage=http://www.jmonkeyengine.org
 nbm.homepage=http://www.jmonkeyengine.org
 nbm.module.author=Normen Hansen, Ruth Kusterer, many others
 nbm.module.author=Normen Hansen, Ruth Kusterer, many others
-spec.version.base=3.2.0
+spec.version.base=3.3.0

+ 9 - 0
jme3-documentation/nbproject/project.xml

@@ -6,6 +6,15 @@
             <code-name-base>com.jme3.gde.docs</code-name-base>
             <code-name-base>com.jme3.gde.docs</code-name-base>
             <suite-component/>
             <suite-component/>
             <module-dependencies>
             <module-dependencies>
+                <dependency>
+                    <code-name-base>com.jme3.gde.core.libraries</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <release-version>1</release-version>
+                        <specification-version>3.3.0</specification-version>
+                    </run-dependency>
+                </dependency>
                 <dependency>
                 <dependency>
                     <code-name-base>org.netbeans.modules.javahelp</code-name-base>
                     <code-name-base>org.netbeans.modules.javahelp</code-name-base>
                     <build-prerequisite/>
                     <build-prerequisite/>

+ 4 - 4
jme3-glsl-highlighter/nbproject/genfiles.properties

@@ -1,8 +1,8 @@
-build.xml.data.CRC32=cf59a3ce
+build.xml.data.CRC32=5501883a
 build.xml.script.CRC32=0322e3d8
 build.xml.script.CRC32=0322e3d8
-build.xml.stylesheet.CRC32=[email protected].1
+build.xml.stylesheet.CRC32=[email protected].1
 # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
 # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
 # Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
 # Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
-nbproject/build-impl.xml.data.CRC32=cf59a3ce
+nbproject/build-impl.xml.data.CRC32=5501883a
 nbproject/build-impl.xml.script.CRC32=f767ba38
 nbproject/build-impl.xml.script.CRC32=f767ba38
-nbproject/build-impl.xml.stylesheet.CRC32=[email protected].1
+nbproject/build-impl.xml.stylesheet.CRC32=[email protected].1

+ 2 - 2
jme3-glsl-highlighter/nbproject/project.properties

@@ -1,3 +1,3 @@
-javac.source=1.7
+javac.source=10
 javac.compilerargs=-Xlint -Xlint:-serial
 javac.compilerargs=-Xlint -Xlint:-serial
-project.license=jme license
+project.license=jme license

+ 9 - 0
jme3-glsl-highlighter/nbproject/project.xml

@@ -95,6 +95,15 @@
                         <specification-version>1.49.1</specification-version>
                         <specification-version>1.49.1</specification-version>
                     </run-dependency>
                     </run-dependency>
                 </dependency>
                 </dependency>
+                <dependency>
+                    <code-name-base>org.netbeans.modules.websvc.jaxws21api</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <release-version>1</release-version>
+                        <specification-version>1.34.1</specification-version>
+                    </run-dependency>
+                </dependency>
                 <dependency>
                 <dependency>
                     <code-name-base>org.openide.awt</code-name-base>
                     <code-name-base>org.openide.awt</code-name-base>
                     <build-prerequisite/>
                     <build-prerequisite/>

+ 4 - 4
jme3-gui/nbproject/genfiles.properties

@@ -8,12 +8,12 @@ nbproject/build-impl.xml.data.CRC32=971927a9
 nbproject/build-impl.xml.script.CRC32=55a34aaf
 nbproject/build-impl.xml.script.CRC32=55a34aaf
 nbproject/[email protected]
 nbproject/[email protected]
 =======
 =======
-build.xml.data.CRC32=a31b95cb
+build.xml.data.CRC32=a8227814
 build.xml.script.CRC32=a0136781
 build.xml.script.CRC32=a0136781
-build.xml.stylesheet.CRC32=[email protected].1
+build.xml.stylesheet.CRC32=[email protected].1
 # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
 # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
 # Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
 # Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
-nbproject/build-impl.xml.data.CRC32=a31b95cb
+nbproject/build-impl.xml.data.CRC32=a8227814
 nbproject/build-impl.xml.script.CRC32=55a34aaf
 nbproject/build-impl.xml.script.CRC32=55a34aaf
-nbproject/build-impl.xml.stylesheet.CRC32=[email protected].1
+nbproject/build-impl.xml.stylesheet.CRC32=[email protected].1
 >>>>>>> experimental
 >>>>>>> experimental

+ 2 - 3
jme3-gui/nbproject/project.properties

@@ -1,4 +1,3 @@
-file.reference.beansbinding-1.2.1.jar=release/modules/ext/beansbinding-1.2.1.jar
 file.reference.guava-16.0.1.jar=release/modules/ext/guava-16.0.1.jar
 file.reference.guava-16.0.1.jar=release/modules/ext/guava-16.0.1.jar
 file.reference.javassist.jar=release/modules/ext/javassist.jar
 file.reference.javassist.jar=release/modules/ext/javassist.jar
 file.reference.jTatoo.jar=release/modules/ext/jTatoo.jar
 file.reference.jTatoo.jar=release/modules/ext/jTatoo.jar
@@ -10,10 +9,10 @@ file.reference.slf4j-simple-1.7.7.jar=release/modules/ext/slf4j-simple-1.7.7.jar
 file.reference.swingtonifty.jar=release/modules/ext/swingtonifty.jar
 file.reference.swingtonifty.jar=release/modules/ext/swingtonifty.jar
 file.reference.xsom-20110101-SNAPSHOT.jar=release/modules/ext/xsom-20110101-SNAPSHOT.jar
 file.reference.xsom-20110101-SNAPSHOT.jar=release/modules/ext/xsom-20110101-SNAPSHOT.jar
 #Thu, 25 Aug 2011 20:26:49 +0200
 #Thu, 25 Aug 2011 20:26:49 +0200
-javac.source=1.6
+javac.source=10
 javac.compilerargs=-Xlint -Xlint:-serial
 javac.compilerargs=-Xlint -Xlint:-serial
 license.file=../license-jme.txt
 license.file=../license-jme.txt
 nbm.homepage=http://www.jmonkeyengine.org
 nbm.homepage=http://www.jmonkeyengine.org
 nbm.module.author=Relucri
 nbm.module.author=Relucri
 nbm.needs.restart=true
 nbm.needs.restart=true
-spec.version.base=3.2.0
+spec.version.base=3.3.0

+ 39 - 25
jme3-gui/nbproject/project.xml

@@ -12,7 +12,7 @@
                     <compile-dependency/>
                     <compile-dependency/>
                     <run-dependency>
                     <run-dependency>
                         <release-version>1</release-version>
                         <release-version>1</release-version>
-                        <specification-version>3.2.0</specification-version>
+                        <specification-version>3.3.0</specification-version>
                     </run-dependency>
                     </run-dependency>
                 </dependency>
                 </dependency>
                 <dependency>
                 <dependency>
@@ -21,7 +21,7 @@
                     <compile-dependency/>
                     <compile-dependency/>
                     <run-dependency>
                     <run-dependency>
                         <release-version>1</release-version>
                         <release-version>1</release-version>
-                        <specification-version>3.2.0</specification-version>
+                        <specification-version>3.3.0</specification-version>
                     </run-dependency>
                     </run-dependency>
                 </dependency>
                 </dependency>
                 <dependency>
                 <dependency>
@@ -30,7 +30,7 @@
                     <compile-dependency/>
                     <compile-dependency/>
                     <run-dependency>
                     <run-dependency>
                         <release-version>1</release-version>
                         <release-version>1</release-version>
-                        <specification-version>3.2.0</specification-version>
+                        <specification-version>3.3.0</specification-version>
                     </run-dependency>
                     </run-dependency>
                 </dependency>
                 </dependency>
                 <dependency>
                 <dependency>
@@ -103,6 +103,24 @@
                         <specification-version>1.60.2</specification-version>
                         <specification-version>1.60.2</specification-version>
                     </run-dependency>
                     </run-dependency>
                 </dependency>
                 </dependency>
+                <dependency>
+                    <code-name-base>org.netbeans.modules.websvc.jaxws21api</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <release-version>1</release-version>
+                        <specification-version>1.34.1</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.netbeans.modules.xml.jaxb.api</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <release-version>1</release-version>
+                        <specification-version>1.28.1</specification-version>
+                    </run-dependency>
+                </dependency>
                 <dependency>
                 <dependency>
                     <code-name-base>org.netbeans.modules.xml.multiview</code-name-base>
                     <code-name-base>org.netbeans.modules.xml.multiview</code-name-base>
                     <build-prerequisite/>
                     <build-prerequisite/>
@@ -230,49 +248,45 @@
             <public-packages>
             <public-packages>
                 <package>com.jme3.gde.gui</package>
                 <package>com.jme3.gde.gui</package>
             </public-packages>
             </public-packages>
-            <class-path-extension>
-                <runtime-relative-path>ext/xsom-20110101-SNAPSHOT.jar</runtime-relative-path>
-                <binary-origin>release/modules/ext/xsom-20110101-SNAPSHOT.jar</binary-origin>
-            </class-path-extension>
-            <class-path-extension>
-                <runtime-relative-path>ext/guava-16.0.1.jar</runtime-relative-path>
-                <binary-origin>release/modules/ext/guava-16.0.1.jar</binary-origin>
-            </class-path-extension>
             <class-path-extension>
             <class-path-extension>
                 <runtime-relative-path>ext/reflections-0.9.9-RC1.jar</runtime-relative-path>
                 <runtime-relative-path>ext/reflections-0.9.9-RC1.jar</runtime-relative-path>
                 <binary-origin>release/modules/ext/reflections-0.9.9-RC1.jar</binary-origin>
                 <binary-origin>release/modules/ext/reflections-0.9.9-RC1.jar</binary-origin>
             </class-path-extension>
             </class-path-extension>
             <class-path-extension>
             <class-path-extension>
-                <runtime-relative-path>ext/jTatoo.jar</runtime-relative-path>
-                <binary-origin>release/modules/ext/jTatoo.jar</binary-origin>
-            </class-path-extension>
-            <class-path-extension>
-                <runtime-relative-path>ext/swingtonifty.jar</runtime-relative-path>
-                <binary-origin>release/modules/ext/swingtonifty.jar</binary-origin>
+                <runtime-relative-path>ext/nifty-java2d-renderer-1.4.0-SNAPSHOT.jar</runtime-relative-path>
+                <binary-origin>release/modules/ext/nifty-java2d-renderer-1.4.0-SNAPSHOT.jar</binary-origin>
             </class-path-extension>
             </class-path-extension>
             <class-path-extension>
             <class-path-extension>
-                <runtime-relative-path>ext/slf4j-simple-1.7.7.jar</runtime-relative-path>
-                <binary-origin>release/modules/ext/slf4j-simple-1.7.7.jar</binary-origin>
+                <runtime-relative-path>ext/relaxngDatatype-1.5.jar</runtime-relative-path>
+                <binary-origin>release/modules/ext/relaxngDatatype-1.5.jar</binary-origin>
             </class-path-extension>
             </class-path-extension>
             <class-path-extension>
             <class-path-extension>
-                <runtime-relative-path>ext/nifty-java2d-renderer-1.4.0-SNAPSHOT.jar</runtime-relative-path>
-                <binary-origin>release/modules/ext/nifty-java2d-renderer-1.4.0-SNAPSHOT.jar</binary-origin>
+                <runtime-relative-path>ext/guava-16.0.1.jar</runtime-relative-path>
+                <binary-origin>release/modules/ext/guava-16.0.1.jar</binary-origin>
             </class-path-extension>
             </class-path-extension>
             <class-path-extension>
             <class-path-extension>
                 <runtime-relative-path>ext/javassist.jar</runtime-relative-path>
                 <runtime-relative-path>ext/javassist.jar</runtime-relative-path>
                 <binary-origin>release/modules/ext/javassist.jar</binary-origin>
                 <binary-origin>release/modules/ext/javassist.jar</binary-origin>
             </class-path-extension>
             </class-path-extension>
             <class-path-extension>
             <class-path-extension>
-                <runtime-relative-path>ext/beansbinding-1.2.1.jar</runtime-relative-path>
-                <binary-origin>release/modules/ext/beansbinding-1.2.1.jar</binary-origin>
+                <runtime-relative-path>ext/slf4j-simple-1.7.7.jar</runtime-relative-path>
+                <binary-origin>release/modules/ext/slf4j-simple-1.7.7.jar</binary-origin>
+            </class-path-extension>
+            <class-path-extension>
+                <runtime-relative-path>ext/swingtonifty.jar</runtime-relative-path>
+                <binary-origin>release/modules/ext/swingtonifty.jar</binary-origin>
             </class-path-extension>
             </class-path-extension>
             <class-path-extension>
             <class-path-extension>
                 <runtime-relative-path>ext/Nifty-Editor0.5.7.jar</runtime-relative-path>
                 <runtime-relative-path>ext/Nifty-Editor0.5.7.jar</runtime-relative-path>
                 <binary-origin>release/modules/ext/Nifty-Editor0.5.7.jar</binary-origin>
                 <binary-origin>release/modules/ext/Nifty-Editor0.5.7.jar</binary-origin>
             </class-path-extension>
             </class-path-extension>
             <class-path-extension>
             <class-path-extension>
-                <runtime-relative-path>ext/relaxngDatatype-1.5.jar</runtime-relative-path>
-                <binary-origin>release/modules/ext/relaxngDatatype-1.5.jar</binary-origin>
+                <runtime-relative-path>ext/jTatoo.jar</runtime-relative-path>
+                <binary-origin>release/modules/ext/jTatoo.jar</binary-origin>
+            </class-path-extension>
+            <class-path-extension>
+                <runtime-relative-path>ext/xsom-20110101-SNAPSHOT.jar</runtime-relative-path>
+                <binary-origin>release/modules/ext/xsom-20110101-SNAPSHOT.jar</binary-origin>
             </class-path-extension>
             </class-path-extension>
         </data>
         </data>
     </configuration>
     </configuration>

+ 2 - 2
jme3-ios/nbproject/genfiles.properties

@@ -3,6 +3,6 @@ build.xml.script.CRC32=4596b2c2
 [email protected]
 [email protected]
 # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
 # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
 # Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
 # Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
-nbproject/build-impl.xml.data.CRC32=187ea13e
+nbproject/build-impl.xml.data.CRC32=6a247622
 nbproject/build-impl.xml.script.CRC32=b4f92cf6
 nbproject/build-impl.xml.script.CRC32=b4f92cf6
-nbproject/build-impl.xml.stylesheet.CRC32=[email protected].1
+nbproject/build-impl.xml.stylesheet.CRC32=[email protected].1

+ 1 - 1
jme3-ios/nbproject/project.properties

@@ -8,4 +8,4 @@ javac.compilerargs=-Xlint -Xlint:-serial
 license.file=licenses.txt
 license.file=licenses.txt
 nbm.homepage=http://www.jmonkeyengine.org/
 nbm.homepage=http://www.jmonkeyengine.org/
 nbm.module.author=Normen Hansen
 nbm.module.author=Normen Hansen
-spec.version.base=3.2.0
+spec.version.base=3.3.0

+ 1 - 1
jme3-ios/nbproject/project.xml

@@ -12,7 +12,7 @@
                     <compile-dependency/>
                     <compile-dependency/>
                     <run-dependency>
                     <run-dependency>
                         <release-version>1</release-version>
                         <release-version>1</release-version>
-                        <specification-version>3.2.0</specification-version>
+                        <specification-version>3.3.0</specification-version>
                     </run-dependency>
                     </run-dependency>
                 </dependency>
                 </dependency>
                 <dependency>
                 <dependency>

+ 1 - 1
jme3-lwjgl-applet/nbproject/project.properties

@@ -5,4 +5,4 @@ license.file=../license-jme.txt
 nbm.homepage=http\://www.jmonkeyengine.org
 nbm.homepage=http\://www.jmonkeyengine.org
 nbm.module.author=Normen Hansen
 nbm.module.author=Normen Hansen
 nbm.needs.restart=true
 nbm.needs.restart=true
-spec.version.base=3.2.0
+spec.version.base=3.3.0

+ 1 - 1
jme3-lwjgl-applet/nbproject/project.xml

@@ -12,7 +12,7 @@
                     <compile-dependency/>
                     <compile-dependency/>
                     <run-dependency>
                     <run-dependency>
                         <release-version>1</release-version>
                         <release-version>1</release-version>
-                        <specification-version>3.2.0</specification-version>
+                        <specification-version>3.3.0</specification-version>
                     </run-dependency>
                     </run-dependency>
                 </dependency>
                 </dependency>
                 <dependency>
                 <dependency>

+ 4 - 4
jme3-materialeditor/nbproject/genfiles.properties

@@ -1,8 +1,8 @@
-build.xml.data.CRC32=f88d9f31
+build.xml.data.CRC32=199d3309
 build.xml.script.CRC32=f284e28d
 build.xml.script.CRC32=f284e28d
-build.xml.stylesheet.CRC32=[email protected].1
+build.xml.stylesheet.CRC32=[email protected].1
 # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
 # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
 # Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
 # Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
-nbproject/build-impl.xml.data.CRC32=f88d9f31
+nbproject/build-impl.xml.data.CRC32=199d3309
 nbproject/build-impl.xml.script.CRC32=56cee44d
 nbproject/build-impl.xml.script.CRC32=56cee44d
-nbproject/build-impl.xml.stylesheet.CRC32=[email protected].1
+nbproject/build-impl.xml.stylesheet.CRC32=[email protected].1

+ 2 - 2
jme3-materialeditor/nbproject/project.properties

@@ -1,8 +1,8 @@
 #Thu, 25 Aug 2011 20:26:49 +0200
 #Thu, 25 Aug 2011 20:26:49 +0200
-javac.source=1.6
+javac.source=10
 javac.compilerargs=-Xlint -Xlint\:-serial
 javac.compilerargs=-Xlint -Xlint\:-serial
 license.file=../license-jme.txt
 license.file=../license-jme.txt
 nbm.homepage=http\://www.jmonkeyengine.org
 nbm.homepage=http\://www.jmonkeyengine.org
 nbm.module.author=Normen Hansen
 nbm.module.author=Normen Hansen
 nbm.needs.restart=true
 nbm.needs.restart=true
-spec.version.base=3.2.0
+spec.version.base=3.3.0

+ 12 - 3
jme3-materialeditor/nbproject/project.xml

@@ -12,7 +12,7 @@
                     <compile-dependency/>
                     <compile-dependency/>
                     <run-dependency>
                     <run-dependency>
                         <release-version>1</release-version>
                         <release-version>1</release-version>
-                        <specification-version>3.2.0</specification-version>
+                        <specification-version>3.3.0</specification-version>
                     </run-dependency>
                     </run-dependency>
                 </dependency>
                 </dependency>
                 <dependency>
                 <dependency>
@@ -21,7 +21,7 @@
                     <compile-dependency/>
                     <compile-dependency/>
                     <run-dependency>
                     <run-dependency>
                         <release-version>1</release-version>
                         <release-version>1</release-version>
-                        <specification-version>3.2.0</specification-version>
+                        <specification-version>3.3.0</specification-version>
                     </run-dependency>
                     </run-dependency>
                 </dependency>
                 </dependency>
                 <dependency>
                 <dependency>
@@ -30,7 +30,7 @@
                     <compile-dependency/>
                     <compile-dependency/>
                     <run-dependency>
                     <run-dependency>
                         <release-version>1</release-version>
                         <release-version>1</release-version>
-                        <specification-version>3.2.0</specification-version>
+                        <specification-version>3.3.0</specification-version>
                     </run-dependency>
                     </run-dependency>
                 </dependency>
                 </dependency>
                 <dependency>
                 <dependency>
@@ -102,6 +102,15 @@
                         <specification-version>1.45.1</specification-version>
                         <specification-version>1.45.1</specification-version>
                     </run-dependency>
                     </run-dependency>
                 </dependency>
                 </dependency>
+                <dependency>
+                    <code-name-base>org.netbeans.modules.websvc.jaxws21api</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <release-version>1</release-version>
+                        <specification-version>1.34.1</specification-version>
+                    </run-dependency>
+                </dependency>
                 <dependency>
                 <dependency>
                     <code-name-base>org.netbeans.spi.navigator</code-name-base>
                     <code-name-base>org.netbeans.spi.navigator</code-name-base>
                     <build-prerequisite/>
                     <build-prerequisite/>

+ 4 - 4
jme3-model-importer/nbproject/genfiles.properties

@@ -1,8 +1,8 @@
-build.xml.data.CRC32=1c4075d1
+build.xml.data.CRC32=edb463b8
 build.xml.script.CRC32=b6310686
 build.xml.script.CRC32=b6310686
-build.xml.stylesheet.CRC32=[email protected].1
+build.xml.stylesheet.CRC32=[email protected].1
 # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
 # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
 # Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
 # Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
-nbproject/build-impl.xml.data.CRC32=1c4075d1
+nbproject/build-impl.xml.data.CRC32=edb463b8
 nbproject/build-impl.xml.script.CRC32=4db64ed5
 nbproject/build-impl.xml.script.CRC32=4db64ed5
-nbproject/build-impl.xml.stylesheet.CRC32=[email protected].1
+nbproject/build-impl.xml.stylesheet.CRC32=[email protected].1

+ 3 - 3
jme3-model-importer/nbproject/project.properties

@@ -1,8 +1,8 @@
 #Thu, 25 Aug 2011 20:26:49 +0200
 #Thu, 25 Aug 2011 20:26:49 +0200
-javac.source=1.6
+javac.source=10
 javac.compilerargs=-Xlint -Xlint\:-serial
 javac.compilerargs=-Xlint -Xlint\:-serial
 license.file=../license-jme.txt
 license.file=../license-jme.txt
-nbm.homepage=http\://www.jmonkeyengine.org
+nbm.homepage=http://www.jmonkeyengine.org
 nbm.module.author=Normen Hansen
 nbm.module.author=Normen Hansen
 nbm.needs.restart=true
 nbm.needs.restart=true
-spec.version.base=3.2.0
+spec.version.base=3.3.0

+ 12 - 3
jme3-model-importer/nbproject/project.xml

@@ -11,7 +11,7 @@
                     <build-prerequisite/>
                     <build-prerequisite/>
                     <compile-dependency/>
                     <compile-dependency/>
                     <run-dependency>
                     <run-dependency>
-                        <specification-version>3.2.0</specification-version>
+                        <specification-version>3.3.0</specification-version>
                     </run-dependency>
                     </run-dependency>
                 </dependency>
                 </dependency>
                 <dependency>
                 <dependency>
@@ -20,7 +20,7 @@
                     <compile-dependency/>
                     <compile-dependency/>
                     <run-dependency>
                     <run-dependency>
                         <release-version>1</release-version>
                         <release-version>1</release-version>
-                        <specification-version>3.2.0</specification-version>
+                        <specification-version>3.3.0</specification-version>
                     </run-dependency>
                     </run-dependency>
                 </dependency>
                 </dependency>
                 <dependency>
                 <dependency>
@@ -29,7 +29,7 @@
                     <compile-dependency/>
                     <compile-dependency/>
                     <run-dependency>
                     <run-dependency>
                         <release-version>1</release-version>
                         <release-version>1</release-version>
-                        <specification-version>3.2.0</specification-version>
+                        <specification-version>3.3.0</specification-version>
                     </run-dependency>
                     </run-dependency>
                 </dependency>
                 </dependency>
                 <dependency>
                 <dependency>
@@ -84,6 +84,15 @@
                         <specification-version>1.83.1.9</specification-version>
                         <specification-version>1.83.1.9</specification-version>
                     </run-dependency>
                     </run-dependency>
                 </dependency>
                 </dependency>
+                <dependency>
+                    <code-name-base>org.netbeans.modules.websvc.jaxws21api</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <release-version>1</release-version>
+                        <specification-version>1.34.1</specification-version>
+                    </run-dependency>
+                </dependency>
                 <dependency>
                 <dependency>
                     <code-name-base>org.openide.awt</code-name-base>
                     <code-name-base>org.openide.awt</code-name-base>
                     <build-prerequisite/>
                     <build-prerequisite/>

+ 6 - 6
jme3-navmesh-gen/nbproject/project.properties

@@ -1,6 +1,6 @@
-javac.source=1.6
-javac.compilerargs=-Xlint -Xlint:-serial
-license.file=../license-jme.txt
-nbm.homepage=http://www.jmonkeyengine.org
-nbm.module.author=Brent Owens
-spec.version.base=3.2.0
+javac.source=10
+javac.compilerargs=-Xlint -Xlint:-serial
+license.file=../license-jme.txt
+nbm.homepage=http://www.jmonkeyengine.org
+nbm.module.author=Brent Owens
+spec.version.base=3.3.0

+ 2 - 11
jme3-navmesh-gen/nbproject/project.xml

@@ -12,7 +12,7 @@
                     <compile-dependency/>
                     <compile-dependency/>
                     <run-dependency>
                     <run-dependency>
                         <release-version>1</release-version>
                         <release-version>1</release-version>
-                        <specification-version>3.2.0</specification-version>
+                        <specification-version>3.3.0</specification-version>
                     </run-dependency>
                     </run-dependency>
                 </dependency>
                 </dependency>
                 <dependency>
                 <dependency>
@@ -21,16 +21,7 @@
                     <compile-dependency/>
                     <compile-dependency/>
                     <run-dependency>
                     <run-dependency>
                         <release-version>1</release-version>
                         <release-version>1</release-version>
-                        <specification-version>3.2.0</specification-version>
-                    </run-dependency>
-                </dependency>
-                <dependency>
-                    <code-name-base>org.jdesktop.beansbinding</code-name-base>
-                    <build-prerequisite/>
-                    <compile-dependency/>
-                    <run-dependency>
-                        <release-version>1</release-version>
-                        <specification-version>1.24.1.121</specification-version>
+                        <specification-version>3.3.0</specification-version>
                     </run-dependency>
                     </run-dependency>
                 </dependency>
                 </dependency>
                 <dependency>
                 <dependency>

+ 1 - 1
jme3-obfuscate/nbproject/project.properties

@@ -5,4 +5,4 @@ license.file=../license-jme.txt
 nbm.homepage=http\://proguard.sourceforge.net/
 nbm.homepage=http\://proguard.sourceforge.net/
 nbm.module.author=Normen Hansen
 nbm.module.author=Normen Hansen
 nbm.needs.restart=true
 nbm.needs.restart=true
-spec.version.base=3.2.0
+spec.version.base=3.3.0

+ 1 - 1
jme3-obfuscate/nbproject/project.xml

@@ -12,7 +12,7 @@
                     <compile-dependency/>
                     <compile-dependency/>
                     <run-dependency>
                     <run-dependency>
                         <release-version>1</release-version>
                         <release-version>1</release-version>
-                        <specification-version>3.2.0</specification-version>
+                        <specification-version>3.3.0</specification-version>
                     </run-dependency>
                     </run-dependency>
                 </dependency>
                 </dependency>
                 <dependency>
                 <dependency>

+ 1 - 1
jme3-ogretools/nbproject/project.properties

@@ -5,4 +5,4 @@ license.file=../license-jme.txt
 nbm.homepage=http\://www.jmonkeyengine.org
 nbm.homepage=http\://www.jmonkeyengine.org
 nbm.module.author=Normen Hansen
 nbm.module.author=Normen Hansen
 nbm.needs.restart=true
 nbm.needs.restart=true
-spec.version.base=3.2.0
+spec.version.base=3.3.0

+ 4 - 4
jme3-ogretools/nbproject/project.xml

@@ -12,7 +12,7 @@
                     <compile-dependency/>
                     <compile-dependency/>
                     <run-dependency>
                     <run-dependency>
                         <release-version>1</release-version>
                         <release-version>1</release-version>
-                        <specification-version>3.2.0</specification-version>
+                        <specification-version>3.3.0</specification-version>
                     </run-dependency>
                     </run-dependency>
                 </dependency>
                 </dependency>
                 <dependency>
                 <dependency>
@@ -21,7 +21,7 @@
                     <compile-dependency/>
                     <compile-dependency/>
                     <run-dependency>
                     <run-dependency>
                         <release-version>1</release-version>
                         <release-version>1</release-version>
-                        <specification-version>3.2.0</specification-version>
+                        <specification-version>3.3.0</specification-version>
                     </run-dependency>
                     </run-dependency>
                 </dependency>
                 </dependency>
                 <dependency>
                 <dependency>
@@ -30,14 +30,14 @@
                     <compile-dependency/>
                     <compile-dependency/>
                     <run-dependency>
                     <run-dependency>
                         <release-version>1</release-version>
                         <release-version>1</release-version>
-                        <specification-version>3.2.0</specification-version>
+                        <specification-version>3.3.0</specification-version>
                     </run-dependency>
                     </run-dependency>
                 </dependency>
                 </dependency>
                 <dependency>
                 <dependency>
                     <code-name-base>com.jme3.gde.ogrexml</code-name-base>
                     <code-name-base>com.jme3.gde.ogrexml</code-name-base>
                     <run-dependency>
                     <run-dependency>
                         <release-version>1</release-version>
                         <release-version>1</release-version>
-                        <specification-version>3.2.0</specification-version>
+                        <specification-version>3.3.0</specification-version>
                     </run-dependency>
                     </run-dependency>
                 </dependency>
                 </dependency>
                 <dependency>
                 <dependency>

+ 1 - 1
jme3-ogrexml/nbproject/project.properties

@@ -5,4 +5,4 @@ license.file=../license-jme.txt
 nbm.homepage=http\://www.jmonkeyengine.org
 nbm.homepage=http\://www.jmonkeyengine.org
 nbm.module.author=Normen Hansen
 nbm.module.author=Normen Hansen
 nbm.needs.restart=true
 nbm.needs.restart=true
-spec.version.base=3.2.0
+spec.version.base=3.3.0

+ 3 - 3
jme3-ogrexml/nbproject/project.xml

@@ -12,7 +12,7 @@
                     <compile-dependency/>
                     <compile-dependency/>
                     <run-dependency>
                     <run-dependency>
                         <release-version>1</release-version>
                         <release-version>1</release-version>
-                        <specification-version>3.2.0</specification-version>
+                        <specification-version>3.3.0</specification-version>
                     </run-dependency>
                     </run-dependency>
                 </dependency>
                 </dependency>
                 <dependency>
                 <dependency>
@@ -21,7 +21,7 @@
                     <compile-dependency/>
                     <compile-dependency/>
                     <run-dependency>
                     <run-dependency>
                         <release-version>1</release-version>
                         <release-version>1</release-version>
-                        <specification-version>3.2.0</specification-version>
+                        <specification-version>3.3.0</specification-version>
                     </run-dependency>
                     </run-dependency>
                 </dependency>
                 </dependency>
                 <dependency>
                 <dependency>
@@ -30,7 +30,7 @@
                     <compile-dependency/>
                     <compile-dependency/>
                     <run-dependency>
                     <run-dependency>
                         <release-version>1</release-version>
                         <release-version>1</release-version>
-                        <specification-version>3.2.0</specification-version>
+                        <specification-version>3.3.0</specification-version>
                     </run-dependency>
                     </run-dependency>
                 </dependency>
                 </dependency>
                 <dependency>
                 <dependency>

+ 2 - 2
jme3-project-baselibs/nbproject/genfiles.properties

@@ -1,8 +1,8 @@
 build.xml.data.CRC32=bb4041ef
 build.xml.data.CRC32=bb4041ef
 build.xml.script.CRC32=7557c275
 build.xml.script.CRC32=7557c275
-build.xml.stylesheet.CRC32=[email protected].1
+build.xml.stylesheet.CRC32=[email protected].1
 # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
 # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
 # Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
 # Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
 nbproject/build-impl.xml.data.CRC32=bb4041ef
 nbproject/build-impl.xml.data.CRC32=bb4041ef
 nbproject/build-impl.xml.script.CRC32=61f5f4e1
 nbproject/build-impl.xml.script.CRC32=61f5f4e1
-nbproject/build-impl.xml.stylesheet.CRC32=[email protected].1
+nbproject/build-impl.xml.stylesheet.CRC32=[email protected].1

+ 1 - 1
jme3-project-baselibs/nbproject/project.properties

@@ -5,4 +5,4 @@ license.file=../license-jme.txt
 nbm.homepage=http\://www.jmonkeyengine.org
 nbm.homepage=http\://www.jmonkeyengine.org
 nbm.module.author=jMonkeyEngine
 nbm.module.author=jMonkeyEngine
 nbm.needs.restart=true
 nbm.needs.restart=true
-spec.version.base=3.2.0
+spec.version.base=3.3.0

+ 1 - 1
jme3-project-libraries/nbproject/project.properties

@@ -5,4 +5,4 @@ license.file=../license-jme.txt
 nbm.homepage=http\://www.jmonkeyengine.org
 nbm.homepage=http\://www.jmonkeyengine.org
 nbm.module.author=jMonkeyEngine
 nbm.module.author=jMonkeyEngine
 nbm.needs.restart=true
 nbm.needs.restart=true
-spec.version.base=3.2.0
+spec.version.base=3.3.0

+ 1 - 1
jme3-project-testdata/nbproject/project.properties

@@ -5,4 +5,4 @@ license.file=../license-jme.txt
 nbm.homepage=http\://www.jmonkeyengine.org
 nbm.homepage=http\://www.jmonkeyengine.org
 nbm.module.author=jMonkeyEngine
 nbm.module.author=jMonkeyEngine
 nbm.needs.restart=true
 nbm.needs.restart=true
-spec.version.base=3.2.0
+spec.version.base=3.3.0

+ 4 - 4
jme3-scenecomposer/nbproject/genfiles.properties

@@ -1,8 +1,8 @@
-build.xml.data.CRC32=5f489480
+build.xml.data.CRC32=98c95409
 build.xml.script.CRC32=866b78de
 build.xml.script.CRC32=866b78de
-build.xml.stylesheet.CRC32=[email protected].1
+build.xml.stylesheet.CRC32=[email protected].1
 # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
 # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
 # Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
 # Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
-nbproject/build-impl.xml.data.CRC32=5f489480
+nbproject/build-impl.xml.data.CRC32=98c95409
 nbproject/build-impl.xml.script.CRC32=a6bab88d
 nbproject/build-impl.xml.script.CRC32=a6bab88d
-nbproject/build-impl.xml.stylesheet.CRC32=[email protected].1
+nbproject/build-impl.xml.stylesheet.CRC32=[email protected].1

+ 1 - 1
jme3-scenecomposer/nbproject/project.properties

@@ -5,4 +5,4 @@ license.file=../license-jme.txt
 nbm.homepage=http\://www.jmonkeyengine.org
 nbm.homepage=http\://www.jmonkeyengine.org
 nbm.module.author=Normen Hansen
 nbm.module.author=Normen Hansen
 nbm.needs.restart=true
 nbm.needs.restart=true
-spec.version.base=3.2.0
+spec.version.base=3.3.0

+ 4 - 4
jme3-scenecomposer/nbproject/project.xml

@@ -12,7 +12,7 @@
                     <compile-dependency/>
                     <compile-dependency/>
                     <run-dependency>
                     <run-dependency>
                         <release-version>1</release-version>
                         <release-version>1</release-version>
-                        <specification-version>3.2.0</specification-version>
+                        <specification-version>3.3.0</specification-version>
                     </run-dependency>
                     </run-dependency>
                 </dependency>
                 </dependency>
                 <dependency>
                 <dependency>
@@ -21,7 +21,7 @@
                     <compile-dependency/>
                     <compile-dependency/>
                     <run-dependency>
                     <run-dependency>
                         <release-version>1</release-version>
                         <release-version>1</release-version>
-                        <specification-version>3.2.0</specification-version>
+                        <specification-version>3.3.0</specification-version>
                     </run-dependency>
                     </run-dependency>
                 </dependency>
                 </dependency>
                 <dependency>
                 <dependency>
@@ -30,7 +30,7 @@
                     <compile-dependency/>
                     <compile-dependency/>
                     <run-dependency>
                     <run-dependency>
                         <release-version>1</release-version>
                         <release-version>1</release-version>
-                        <specification-version>3.2.0</specification-version>
+                        <specification-version>3.3.0</specification-version>
                     </run-dependency>
                     </run-dependency>
                 </dependency>
                 </dependency>
                 <dependency>
                 <dependency>
@@ -39,7 +39,7 @@
                     <compile-dependency/>
                     <compile-dependency/>
                     <run-dependency>
                     <run-dependency>
                         <release-version>1</release-version>
                         <release-version>1</release-version>
-                        <specification-version>3.2.0</specification-version>
+                        <specification-version>3.3.0</specification-version>
                     </run-dependency>
                     </run-dependency>
                 </dependency>
                 </dependency>
                 <dependency>
                 <dependency>

+ 1 - 1
jme3-templates/nbproject/project.properties

@@ -5,4 +5,4 @@ license.file=../license-jme.txt
 nbm.homepage=http\://www.jmonkeyengine.org
 nbm.homepage=http\://www.jmonkeyengine.org
 nbm.module.author=jMonkeyEngine
 nbm.module.author=jMonkeyEngine
 nbm.needs.restart=true
 nbm.needs.restart=true
-spec.version.base=3.2.0
+spec.version.base=3.3.0

+ 2 - 2
jme3-templates/nbproject/project.xml

@@ -10,14 +10,14 @@
                     <code-name-base>com.jme3.gde.project.baselibs</code-name-base>
                     <code-name-base>com.jme3.gde.project.baselibs</code-name-base>
                     <run-dependency>
                     <run-dependency>
                         <release-version>1</release-version>
                         <release-version>1</release-version>
-                        <specification-version>3.2.0</specification-version>
+                        <specification-version>3.3.0</specification-version>
                     </run-dependency>
                     </run-dependency>
                 </dependency>
                 </dependency>
                 <dependency>
                 <dependency>
                     <code-name-base>com.jme3.gde.project.libraries</code-name-base>
                     <code-name-base>com.jme3.gde.project.libraries</code-name-base>
                     <run-dependency>
                     <run-dependency>
                         <release-version>1</release-version>
                         <release-version>1</release-version>
-                        <specification-version>3.2.0</specification-version>
+                        <specification-version>3.3.0</specification-version>
                     </run-dependency>
                     </run-dependency>
                 </dependency>
                 </dependency>
                 <dependency>
                 <dependency>

+ 4 - 4
jme3-terrain-editor/nbproject/genfiles.properties

@@ -1,8 +1,8 @@
-build.xml.data.CRC32=d3d2be61
+build.xml.data.CRC32=a1183630
 build.xml.script.CRC32=5fb89d93
 build.xml.script.CRC32=5fb89d93
-build.xml.stylesheet.CRC32=[email protected].1
+build.xml.stylesheet.CRC32=[email protected].1
 # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
 # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
 # Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
 # Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
-nbproject/build-impl.xml.data.CRC32=d3d2be61
+nbproject/build-impl.xml.data.CRC32=a1183630
 nbproject/build-impl.xml.script.CRC32=fe2b940f
 nbproject/build-impl.xml.script.CRC32=fe2b940f
-nbproject/build-impl.xml.stylesheet.CRC32=[email protected].1
+nbproject/build-impl.xml.stylesheet.CRC32=[email protected].1

+ 2 - 2
jme3-terrain-editor/nbproject/project.properties

@@ -1,7 +1,7 @@
 #Thu, 25 Aug 2011 20:26:49 +0200
 #Thu, 25 Aug 2011 20:26:49 +0200
-javac.source=1.6
+javac.source=10
 javac.compilerargs=-Xlint -Xlint\:-serial
 javac.compilerargs=-Xlint -Xlint\:-serial
 license.file=../license-jme.txt
 license.file=../license-jme.txt
 nbm.homepage=http\://www.jmonkeyengine.org
 nbm.homepage=http\://www.jmonkeyengine.org
 nbm.module.author=Brent Owens, Normen Hansen
 nbm.module.author=Brent Owens, Normen Hansen
-spec.version.base=3.2.0
+spec.version.base=3.3.0

+ 2 - 11
jme3-terrain-editor/nbproject/project.xml

@@ -12,7 +12,7 @@
                     <compile-dependency/>
                     <compile-dependency/>
                     <run-dependency>
                     <run-dependency>
                         <release-version>1</release-version>
                         <release-version>1</release-version>
-                        <specification-version>3.2.0</specification-version>
+                        <specification-version>3.3.0</specification-version>
                     </run-dependency>
                     </run-dependency>
                 </dependency>
                 </dependency>
                 <dependency>
                 <dependency>
@@ -21,16 +21,7 @@
                     <compile-dependency/>
                     <compile-dependency/>
                     <run-dependency>
                     <run-dependency>
                         <release-version>1</release-version>
                         <release-version>1</release-version>
-                        <specification-version>3.2.0</specification-version>
-                    </run-dependency>
-                </dependency>
-                <dependency>
-                    <code-name-base>org.jdesktop.beansbinding</code-name-base>
-                    <build-prerequisite/>
-                    <compile-dependency/>
-                    <run-dependency>
-                        <release-version>1</release-version>
-                        <specification-version>1.24.1.121</specification-version>
+                        <specification-version>3.3.0</specification-version>
                     </run-dependency>
                     </run-dependency>
                 </dependency>
                 </dependency>
                 <dependency>
                 <dependency>

+ 1 - 1
jme3-tests-template/nbproject/project.properties

@@ -5,4 +5,4 @@ license.file=../license-jme.txt
 nbm.homepage=http\://www.jmonkeyengine.org
 nbm.homepage=http\://www.jmonkeyengine.org
 nbm.module.author=jMonkeyEngine
 nbm.module.author=jMonkeyEngine
 nbm.needs.restart=true
 nbm.needs.restart=true
-spec.version.base=3.2.0
+spec.version.base=3.3.0

+ 1 - 1
jme3-tests-template/nbproject/project.xml

@@ -10,7 +10,7 @@
                     <code-name-base>com.jme3.gde.project.testdata</code-name-base>
                     <code-name-base>com.jme3.gde.project.testdata</code-name-base>
                     <run-dependency>
                     <run-dependency>
                         <release-version>1</release-version>
                         <release-version>1</release-version>
-                        <specification-version>3.2.0</specification-version>
+                        <specification-version>3.3.0</specification-version>
                     </run-dependency>
                     </run-dependency>
                 </dependency>
                 </dependency>
                 <dependency>
                 <dependency>

+ 1 - 1
jme3-texture-editor/nbproject/project.properties

@@ -5,4 +5,4 @@ license.file=../license-jme.txt
 nbm.homepage=http\://www.jmonkeyengine.org
 nbm.homepage=http\://www.jmonkeyengine.org
 nbm.module.author=pgi
 nbm.module.author=pgi
 nbm.needs.restart=true
 nbm.needs.restart=true
-spec.version.base=3.2.0
+spec.version.base=3.3.0

+ 1 - 1
jme3-vehicle-creator/nbproject/project.properties

@@ -1,4 +1,4 @@
 #Thu, 25 Aug 2011 20:26:50 +0200
 #Thu, 25 Aug 2011 20:26:50 +0200
 javac.source=1.6
 javac.source=1.6
 javac.compilerargs=-Xlint -Xlint\:-serial
 javac.compilerargs=-Xlint -Xlint\:-serial
-spec.version.base=3.2.0
+spec.version.base=3.3.0

+ 2 - 2
jme3-vehicle-creator/nbproject/project.xml

@@ -12,7 +12,7 @@
                     <compile-dependency/>
                     <compile-dependency/>
                     <run-dependency>
                     <run-dependency>
                         <release-version>1</release-version>
                         <release-version>1</release-version>
-                        <specification-version>3.2.0</specification-version>
+                        <specification-version>3.3.0</specification-version>
                     </run-dependency>
                     </run-dependency>
                 </dependency>
                 </dependency>
                 <dependency>
                 <dependency>
@@ -21,7 +21,7 @@
                     <compile-dependency/>
                     <compile-dependency/>
                     <run-dependency>
                     <run-dependency>
                         <release-version>1</release-version>
                         <release-version>1</release-version>
-                        <specification-version>3.2.0</specification-version>
+                        <specification-version>3.3.0</specification-version>
                     </run-dependency>
                     </run-dependency>
                 </dependency>
                 </dependency>
                 <dependency>
                 <dependency>

+ 1 - 1
jme3-wavefront/nbproject/project.properties

@@ -1,4 +1,4 @@
 #Thu, 25 Aug 2011 20:26:49 +0200
 #Thu, 25 Aug 2011 20:26:49 +0200
 javac.source=1.6
 javac.source=1.6
 javac.compilerargs=-Xlint -Xlint\:-serial
 javac.compilerargs=-Xlint -Xlint\:-serial
-spec.version.base=3.2.0
+spec.version.base=3.3.0

+ 2 - 2
jme3-wavefront/nbproject/project.xml

@@ -12,7 +12,7 @@
                     <compile-dependency/>
                     <compile-dependency/>
                     <run-dependency>
                     <run-dependency>
                         <release-version>1</release-version>
                         <release-version>1</release-version>
-                        <specification-version>3.2.0</specification-version>
+                        <specification-version>3.3.0</specification-version>
                     </run-dependency>
                     </run-dependency>
                 </dependency>
                 </dependency>
                 <dependency>
                 <dependency>
@@ -21,7 +21,7 @@
                     <compile-dependency/>
                     <compile-dependency/>
                     <run-dependency>
                     <run-dependency>
                         <release-version>1</release-version>
                         <release-version>1</release-version>
-                        <specification-version>3.2.0</specification-version>
+                        <specification-version>3.3.0</specification-version>
                     </run-dependency>
                     </run-dependency>
                 </dependency>
                 </dependency>
                 <dependency>
                 <dependency>

+ 4 - 4
jme3-welcome-screen/nbproject/genfiles.properties

@@ -1,8 +1,8 @@
-build.xml.data.CRC32=ca011d56
+build.xml.data.CRC32=532859c5
 build.xml.script.CRC32=e68af6b0
 build.xml.script.CRC32=e68af6b0
-build.xml.stylesheet.CRC32=[email protected].1
+build.xml.stylesheet.CRC32=[email protected].1
 # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
 # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
 # Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
 # Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
-nbproject/build-impl.xml.data.CRC32=ca011d56
+nbproject/build-impl.xml.data.CRC32=532859c5
 nbproject/build-impl.xml.script.CRC32=5d3b3399
 nbproject/build-impl.xml.script.CRC32=5d3b3399
-nbproject/build-impl.xml.stylesheet.CRC32=[email protected].1
+nbproject/build-impl.xml.stylesheet.CRC32=[email protected].1

Some files were not shown because too many files changed in this diff