|
@@ -57,6 +57,7 @@ import com.jme3.texture.Texture;
|
|
import com.jme3.texture.Texture.WrapMode;
|
|
import com.jme3.texture.Texture.WrapMode;
|
|
import com.jme3.util.SkyFactory;
|
|
import com.jme3.util.SkyFactory;
|
|
import java.awt.image.BufferedImage;
|
|
import java.awt.image.BufferedImage;
|
|
|
|
+import java.beans.PropertyChangeEvent;
|
|
import java.io.File;
|
|
import java.io.File;
|
|
import java.io.IOException;
|
|
import java.io.IOException;
|
|
import java.util.ArrayList;
|
|
import java.util.ArrayList;
|
|
@@ -70,6 +71,10 @@ import jme3tools.converters.ImageToAwt;
|
|
import org.openide.cookies.SaveCookie;
|
|
import org.openide.cookies.SaveCookie;
|
|
import org.openide.filesystems.FileObject;
|
|
import org.openide.filesystems.FileObject;
|
|
import org.openide.loaders.DataObject;
|
|
import org.openide.loaders.DataObject;
|
|
|
|
+import org.openide.nodes.NodeEvent;
|
|
|
|
+import org.openide.nodes.NodeListener;
|
|
|
|
+import org.openide.nodes.NodeMemberEvent;
|
|
|
|
+import org.openide.nodes.NodeReorderEvent;
|
|
import org.openide.util.Exceptions;
|
|
import org.openide.util.Exceptions;
|
|
import org.openide.util.Lookup;
|
|
import org.openide.util.Lookup;
|
|
|
|
|
|
@@ -79,7 +84,7 @@ import org.openide.util.Lookup;
|
|
* @author normenhansen, bowens
|
|
* @author normenhansen, bowens
|
|
*/
|
|
*/
|
|
@SuppressWarnings("unchecked")
|
|
@SuppressWarnings("unchecked")
|
|
-public class TerrainEditorController {
|
|
|
|
|
|
+public class TerrainEditorController implements NodeListener {
|
|
private JmeSpatial jmeRootNode;
|
|
private JmeSpatial jmeRootNode;
|
|
private Node terrainNode;
|
|
private Node terrainNode;
|
|
private Node rootNode;
|
|
private Node rootNode;
|
|
@@ -122,6 +127,7 @@ public class TerrainEditorController {
|
|
terrainSaveCookie.rootNode = jmeRootNode;
|
|
terrainSaveCookie.rootNode = jmeRootNode;
|
|
this.currentFileObject.setSaveCookie(terrainSaveCookie);
|
|
this.currentFileObject.setSaveCookie(terrainSaveCookie);
|
|
this.topComponent = topComponent;
|
|
this.topComponent = topComponent;
|
|
|
|
+ this.jmeRootNode.addNodeListener(this);
|
|
}
|
|
}
|
|
|
|
|
|
public void setToolController(TerrainToolController toolController) {
|
|
public void setToolController(TerrainToolController toolController) {
|
|
@@ -1060,6 +1066,27 @@ public class TerrainEditorController {
|
|
setNeedsSave(true);
|
|
setNeedsSave(true);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ public void propertyChange(PropertyChangeEvent evt) {
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public void childrenAdded(NodeMemberEvent ev) {
|
|
|
|
+ topComponent.reinitTextureTable();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public void childrenRemoved(NodeMemberEvent ev) {
|
|
|
|
+ terrainNode = null;
|
|
|
|
+ Node t = getTerrain(rootNode);
|
|
|
|
+ if (t == null)
|
|
|
|
+ topComponent.reinitTextureTable();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public void childrenReordered(NodeReorderEvent ev) {
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public void nodeDestroyed(NodeEvent ev) {
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* Re-attach the camera to the LOD control.
|
|
* Re-attach the camera to the LOD control.
|
|
* Called when the scene is opened and will only
|
|
* Called when the scene is opened and will only
|