Fixed the Issue where removing a Control didn't set the dirty flag (made the Model Savable)

experimental
MeFisto94 9 years ago
parent f4098ce89c
commit 2297520cf7
  1. 10
      sdk/jme3-core/src/com/jme3/gde/core/sceneexplorer/nodes/JmeAnimControl.java
  2. 15
      sdk/jme3-core/src/com/jme3/gde/core/sceneexplorer/nodes/JmeCharacterControl.java
  3. 12
      sdk/jme3-core/src/com/jme3/gde/core/sceneexplorer/nodes/JmeGenericControl.java
  4. 11
      sdk/jme3-core/src/com/jme3/gde/core/sceneexplorer/nodes/JmeGhostControl.java
  5. 11
      sdk/jme3-core/src/com/jme3/gde/core/sceneexplorer/nodes/JmeRigidBodyControl.java
  6. 12
      sdk/jme3-core/src/com/jme3/gde/core/sceneexplorer/nodes/JmeSkeletonControl.java
  7. 10
      sdk/jme3-core/src/com/jme3/gde/core/sceneexplorer/nodes/JmeTerrainLodControl.java
  8. 10
      sdk/jme3-core/src/com/jme3/gde/core/sceneexplorer/nodes/JmeVehicleControl.java

@ -129,6 +129,15 @@ public class JmeAnimControl extends AbstractSceneExplorerNode {
}; };
} }
@Override
protected void fireSave(boolean modified) {
Node parent = getParentNode();
if (parent instanceof AbstractSceneExplorerNode) {
AbstractSceneExplorerNode par=(AbstractSceneExplorerNode)parent;
par.fireSave(modified);
}
}
@Override @Override
public boolean canDestroy() { public boolean canDestroy() {
return !readOnly; return !readOnly;
@ -139,6 +148,7 @@ public class JmeAnimControl extends AbstractSceneExplorerNode {
super.destroy(); super.destroy();
final Spatial spat = getParentNode().getLookup().lookup(Spatial.class); final Spatial spat = getParentNode().getLookup().lookup(Spatial.class);
try { try {
fireSave(true);
SceneApplication.getApplication().enqueue(new Callable<Void>() { SceneApplication.getApplication().enqueue(new Callable<Void>() {
public Void call() throws Exception { public Void call() throws Exception {

@ -42,12 +42,11 @@ import java.io.IOException;
import java.util.concurrent.Callable; import java.util.concurrent.Callable;
import java.util.concurrent.ExecutionException; import java.util.concurrent.ExecutionException;
import javax.swing.Action; import javax.swing.Action;
import javax.swing.ImageIcon;
import org.openide.actions.DeleteAction; import org.openide.actions.DeleteAction;
import org.openide.loaders.DataObject; import org.openide.loaders.DataObject;
import org.openide.nodes.Node;
import org.openide.nodes.Sheet; import org.openide.nodes.Sheet;
import org.openide.util.Exceptions; import org.openide.util.Exceptions;
import org.openide.util.ImageUtilities;
import org.openide.util.actions.SystemAction; import org.openide.util.actions.SystemAction;
/** /**
@ -91,17 +90,27 @@ public class JmeCharacterControl extends AbstractSceneExplorerNode {
SystemAction.get(DeleteAction.class) SystemAction.get(DeleteAction.class)
}; };
} }
@Override
protected void fireSave(boolean modified) {
Node parent = getParentNode();
if (parent instanceof AbstractSceneExplorerNode) {
AbstractSceneExplorerNode par=(AbstractSceneExplorerNode)parent;
par.fireSave(modified);
}
}
@Override @Override
public boolean canDestroy() { public boolean canDestroy() {
return !readOnly; return !readOnly;
} }
@Override @Override
public void destroy() throws IOException { public void destroy() throws IOException {
super.destroy(); super.destroy();
final Spatial spat=getParentNode().getLookup().lookup(Spatial.class); final Spatial spat=getParentNode().getLookup().lookup(Spatial.class);
try { try {
fireSave(true);
SceneApplication.getApplication().enqueue(new Callable<Void>() { SceneApplication.getApplication().enqueue(new Callable<Void>() {
public Void call() throws Exception { public Void call() throws Exception {

@ -32,7 +32,6 @@
package com.jme3.gde.core.sceneexplorer.nodes; package com.jme3.gde.core.sceneexplorer.nodes;
import com.jme3.gde.core.icons.IconList; import com.jme3.gde.core.icons.IconList;
import com.jme3.gde.core.properties.ScenePropertyChangeListener;
import com.jme3.gde.core.scene.SceneApplication; import com.jme3.gde.core.scene.SceneApplication;
import com.jme3.scene.Spatial; import com.jme3.scene.Spatial;
import com.jme3.scene.control.Control; import com.jme3.scene.control.Control;
@ -43,6 +42,7 @@ import java.util.concurrent.ExecutionException;
import javax.swing.Action; import javax.swing.Action;
import org.openide.actions.DeleteAction; import org.openide.actions.DeleteAction;
import org.openide.loaders.DataObject; import org.openide.loaders.DataObject;
import org.openide.nodes.Node;
import org.openide.nodes.Sheet; import org.openide.nodes.Sheet;
import org.openide.util.Exceptions; import org.openide.util.Exceptions;
import org.openide.util.actions.SystemAction; import org.openide.util.actions.SystemAction;
@ -121,6 +121,15 @@ public class JmeGenericControl extends AbstractSceneExplorerNode {
}; };
} }
@Override
protected void fireSave(boolean modified) {
Node parent = getParentNode();
if (parent instanceof AbstractSceneExplorerNode) {
AbstractSceneExplorerNode par=(AbstractSceneExplorerNode)parent;
par.fireSave(modified);
}
}
@Override @Override
public boolean canDestroy() { public boolean canDestroy() {
return true; return true;
@ -131,6 +140,7 @@ public class JmeGenericControl extends AbstractSceneExplorerNode {
super.destroy(); super.destroy();
final Spatial spat = getParentNode().getLookup().lookup(Spatial.class); final Spatial spat = getParentNode().getLookup().lookup(Spatial.class);
try { try {
fireSave(true);
SceneApplication.getApplication().enqueue(new Callable<Void>() { SceneApplication.getApplication().enqueue(new Callable<Void>() {
public Void call() throws Exception { public Void call() throws Exception {
spat.removeControl(control); spat.removeControl(control);

@ -45,6 +45,7 @@ import java.util.concurrent.ExecutionException;
import javax.swing.Action; import javax.swing.Action;
import org.openide.actions.DeleteAction; import org.openide.actions.DeleteAction;
import org.openide.loaders.DataObject; import org.openide.loaders.DataObject;
import org.openide.nodes.Node;
import org.openide.nodes.Sheet; import org.openide.nodes.Sheet;
import org.openide.util.Exceptions; import org.openide.util.Exceptions;
import org.openide.util.actions.SystemAction; import org.openide.util.actions.SystemAction;
@ -91,6 +92,15 @@ public class JmeGhostControl extends AbstractSceneExplorerNode {
}; };
} }
@Override
protected void fireSave(boolean modified) {
Node parent = getParentNode();
if (parent instanceof AbstractSceneExplorerNode) {
AbstractSceneExplorerNode par=(AbstractSceneExplorerNode)parent;
par.fireSave(modified);
}
}
@Override @Override
public boolean canDestroy() { public boolean canDestroy() {
return !readOnly; return !readOnly;
@ -101,6 +111,7 @@ public class JmeGhostControl extends AbstractSceneExplorerNode {
super.destroy(); super.destroy();
final Spatial spat=getParentNode().getLookup().lookup(Spatial.class); final Spatial spat=getParentNode().getLookup().lookup(Spatial.class);
try { try {
fireSave(true);
SceneApplication.getApplication().enqueue(new Callable<Void>() { SceneApplication.getApplication().enqueue(new Callable<Void>() {
public Void call() throws Exception { public Void call() throws Exception {

@ -45,6 +45,7 @@ import java.util.concurrent.ExecutionException;
import javax.swing.Action; import javax.swing.Action;
import org.openide.actions.DeleteAction; import org.openide.actions.DeleteAction;
import org.openide.loaders.DataObject; import org.openide.loaders.DataObject;
import org.openide.nodes.Node;
import org.openide.nodes.Sheet; import org.openide.nodes.Sheet;
import org.openide.util.Exceptions; import org.openide.util.Exceptions;
import org.openide.util.actions.SystemAction; import org.openide.util.actions.SystemAction;
@ -90,6 +91,15 @@ public class JmeRigidBodyControl extends AbstractSceneExplorerNode {
SystemAction.get(DeleteAction.class) SystemAction.get(DeleteAction.class)
}; };
} }
@Override
protected void fireSave(boolean modified) {
Node parent = getParentNode();
if (parent instanceof AbstractSceneExplorerNode) {
AbstractSceneExplorerNode par=(AbstractSceneExplorerNode)parent;
par.fireSave(modified);
}
}
@Override @Override
public boolean canDestroy() { public boolean canDestroy() {
@ -101,6 +111,7 @@ public class JmeRigidBodyControl extends AbstractSceneExplorerNode {
super.destroy(); super.destroy();
final Spatial spat=getParentNode().getLookup().lookup(Spatial.class); final Spatial spat=getParentNode().getLookup().lookup(Spatial.class);
try { try {
fireSave(true);
SceneApplication.getApplication().enqueue(new Callable<Void>() { SceneApplication.getApplication().enqueue(new Callable<Void>() {
public Void call() throws Exception { public Void call() throws Exception {

@ -107,7 +107,16 @@ public class JmeSkeletonControl extends AbstractSceneExplorerNode {
SystemAction.get(DeleteAction.class) SystemAction.get(DeleteAction.class)
}; };
} }
@Override
protected void fireSave(boolean modified) {
Node parent = getParentNode();
if (parent instanceof AbstractSceneExplorerNode) {
AbstractSceneExplorerNode par=(AbstractSceneExplorerNode)parent;
par.fireSave(modified);
}
}
@Override @Override
public boolean canDestroy() { public boolean canDestroy() {
return !readOnly; return !readOnly;
@ -118,6 +127,7 @@ public class JmeSkeletonControl extends AbstractSceneExplorerNode {
super.destroy(); super.destroy();
final Spatial spat = getParentNode().getLookup().lookup(Spatial.class); final Spatial spat = getParentNode().getLookup().lookup(Spatial.class);
try { try {
fireSave(true);
SceneApplication.getApplication().enqueue(new Callable<Void>() { SceneApplication.getApplication().enqueue(new Callable<Void>() {
public Void call() throws Exception { public Void call() throws Exception {

@ -93,6 +93,15 @@ public class JmeTerrainLodControl extends AbstractSceneExplorerNode {
//SystemAction.get(DeleteAction.class) //SystemAction.get(DeleteAction.class)
}; };
} }
@Override
protected void fireSave(boolean modified) {
Node parent = getParentNode();
if (parent instanceof AbstractSceneExplorerNode) {
AbstractSceneExplorerNode par=(AbstractSceneExplorerNode)parent;
par.fireSave(modified);
}
}
@Override @Override
public boolean canDestroy() { public boolean canDestroy() {
@ -104,6 +113,7 @@ public class JmeTerrainLodControl extends AbstractSceneExplorerNode {
super.destroy(); super.destroy();
final Spatial spat = getParentNode().getLookup().lookup(Spatial.class); final Spatial spat = getParentNode().getLookup().lookup(Spatial.class);
try { try {
fireSave(true);
SceneApplication.getApplication().enqueue(new Callable<Void>() { SceneApplication.getApplication().enqueue(new Callable<Void>() {
public Void call() throws Exception { public Void call() throws Exception {

@ -95,6 +95,15 @@ public class JmeVehicleControl extends AbstractSceneExplorerNode {
SystemAction.get(DeleteAction.class) SystemAction.get(DeleteAction.class)
}; };
} }
@Override
protected void fireSave(boolean modified) {
Node parent = getParentNode();
if (parent instanceof AbstractSceneExplorerNode) {
AbstractSceneExplorerNode par=(AbstractSceneExplorerNode)parent;
par.fireSave(modified);
}
}
@Override @Override
public boolean canDestroy() { public boolean canDestroy() {
@ -106,6 +115,7 @@ public class JmeVehicleControl extends AbstractSceneExplorerNode {
super.destroy(); super.destroy();
final Spatial spat = getParentNode().getLookup().lookup(Spatial.class); final Spatial spat = getParentNode().getLookup().lookup(Spatial.class);
try { try {
fireSave(true);
SceneApplication.getApplication().enqueue(new Callable<Void>() { SceneApplication.getApplication().enqueue(new Callable<Void>() {
public Void call() throws Exception { public Void call() throws Exception {

Loading…
Cancel
Save