Fixed the Issue where removing a Control didn't set the dirty flag (made the Model Savable)
This commit is contained in:
parent
f4098ce89c
commit
2297520cf7
@ -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
|
||||
public boolean canDestroy() {
|
||||
return !readOnly;
|
||||
@ -139,6 +148,7 @@ public class JmeAnimControl extends AbstractSceneExplorerNode {
|
||||
super.destroy();
|
||||
final Spatial spat = getParentNode().getLookup().lookup(Spatial.class);
|
||||
try {
|
||||
fireSave(true);
|
||||
SceneApplication.getApplication().enqueue(new Callable<Void>() {
|
||||
|
||||
public Void call() throws Exception {
|
||||
|
@ -42,12 +42,11 @@ import java.io.IOException;
|
||||
import java.util.concurrent.Callable;
|
||||
import java.util.concurrent.ExecutionException;
|
||||
import javax.swing.Action;
|
||||
import javax.swing.ImageIcon;
|
||||
import org.openide.actions.DeleteAction;
|
||||
import org.openide.loaders.DataObject;
|
||||
import org.openide.nodes.Node;
|
||||
import org.openide.nodes.Sheet;
|
||||
import org.openide.util.Exceptions;
|
||||
import org.openide.util.ImageUtilities;
|
||||
import org.openide.util.actions.SystemAction;
|
||||
|
||||
/**
|
||||
@ -91,17 +90,27 @@ public class JmeCharacterControl extends AbstractSceneExplorerNode {
|
||||
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
|
||||
public boolean canDestroy() {
|
||||
return !readOnly;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void destroy() throws IOException {
|
||||
super.destroy();
|
||||
final Spatial spat=getParentNode().getLookup().lookup(Spatial.class);
|
||||
try {
|
||||
fireSave(true);
|
||||
SceneApplication.getApplication().enqueue(new Callable<Void>() {
|
||||
|
||||
public Void call() throws Exception {
|
||||
|
@ -32,7 +32,6 @@
|
||||
package com.jme3.gde.core.sceneexplorer.nodes;
|
||||
|
||||
import com.jme3.gde.core.icons.IconList;
|
||||
import com.jme3.gde.core.properties.ScenePropertyChangeListener;
|
||||
import com.jme3.gde.core.scene.SceneApplication;
|
||||
import com.jme3.scene.Spatial;
|
||||
import com.jme3.scene.control.Control;
|
||||
@ -43,6 +42,7 @@ import java.util.concurrent.ExecutionException;
|
||||
import javax.swing.Action;
|
||||
import org.openide.actions.DeleteAction;
|
||||
import org.openide.loaders.DataObject;
|
||||
import org.openide.nodes.Node;
|
||||
import org.openide.nodes.Sheet;
|
||||
import org.openide.util.Exceptions;
|
||||
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
|
||||
public boolean canDestroy() {
|
||||
return true;
|
||||
@ -131,6 +140,7 @@ public class JmeGenericControl extends AbstractSceneExplorerNode {
|
||||
super.destroy();
|
||||
final Spatial spat = getParentNode().getLookup().lookup(Spatial.class);
|
||||
try {
|
||||
fireSave(true);
|
||||
SceneApplication.getApplication().enqueue(new Callable<Void>() {
|
||||
public Void call() throws Exception {
|
||||
spat.removeControl(control);
|
||||
|
@ -45,6 +45,7 @@ import java.util.concurrent.ExecutionException;
|
||||
import javax.swing.Action;
|
||||
import org.openide.actions.DeleteAction;
|
||||
import org.openide.loaders.DataObject;
|
||||
import org.openide.nodes.Node;
|
||||
import org.openide.nodes.Sheet;
|
||||
import org.openide.util.Exceptions;
|
||||
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
|
||||
public boolean canDestroy() {
|
||||
return !readOnly;
|
||||
@ -101,6 +111,7 @@ public class JmeGhostControl extends AbstractSceneExplorerNode {
|
||||
super.destroy();
|
||||
final Spatial spat=getParentNode().getLookup().lookup(Spatial.class);
|
||||
try {
|
||||
fireSave(true);
|
||||
SceneApplication.getApplication().enqueue(new Callable<Void>() {
|
||||
|
||||
public Void call() throws Exception {
|
||||
|
@ -45,6 +45,7 @@ import java.util.concurrent.ExecutionException;
|
||||
import javax.swing.Action;
|
||||
import org.openide.actions.DeleteAction;
|
||||
import org.openide.loaders.DataObject;
|
||||
import org.openide.nodes.Node;
|
||||
import org.openide.nodes.Sheet;
|
||||
import org.openide.util.Exceptions;
|
||||
import org.openide.util.actions.SystemAction;
|
||||
@ -90,6 +91,15 @@ public class JmeRigidBodyControl extends AbstractSceneExplorerNode {
|
||||
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
|
||||
public boolean canDestroy() {
|
||||
@ -101,6 +111,7 @@ public class JmeRigidBodyControl extends AbstractSceneExplorerNode {
|
||||
super.destroy();
|
||||
final Spatial spat=getParentNode().getLookup().lookup(Spatial.class);
|
||||
try {
|
||||
fireSave(true);
|
||||
SceneApplication.getApplication().enqueue(new Callable<Void>() {
|
||||
|
||||
public Void call() throws Exception {
|
||||
|
@ -107,7 +107,16 @@ public class JmeSkeletonControl extends AbstractSceneExplorerNode {
|
||||
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
|
||||
public boolean canDestroy() {
|
||||
return !readOnly;
|
||||
@ -118,6 +127,7 @@ public class JmeSkeletonControl extends AbstractSceneExplorerNode {
|
||||
super.destroy();
|
||||
final Spatial spat = getParentNode().getLookup().lookup(Spatial.class);
|
||||
try {
|
||||
fireSave(true);
|
||||
SceneApplication.getApplication().enqueue(new Callable<Void>() {
|
||||
|
||||
public Void call() throws Exception {
|
||||
|
@ -93,6 +93,15 @@ public class JmeTerrainLodControl extends AbstractSceneExplorerNode {
|
||||
//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
|
||||
public boolean canDestroy() {
|
||||
@ -104,6 +113,7 @@ public class JmeTerrainLodControl extends AbstractSceneExplorerNode {
|
||||
super.destroy();
|
||||
final Spatial spat = getParentNode().getLookup().lookup(Spatial.class);
|
||||
try {
|
||||
fireSave(true);
|
||||
SceneApplication.getApplication().enqueue(new Callable<Void>() {
|
||||
|
||||
public Void call() throws Exception {
|
||||
|
@ -95,6 +95,15 @@ public class JmeVehicleControl extends AbstractSceneExplorerNode {
|
||||
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
|
||||
public boolean canDestroy() {
|
||||
@ -106,6 +115,7 @@ public class JmeVehicleControl extends AbstractSceneExplorerNode {
|
||||
super.destroy();
|
||||
final Spatial spat = getParentNode().getLookup().lookup(Spatial.class);
|
||||
try {
|
||||
fireSave(true);
|
||||
SceneApplication.getApplication().enqueue(new Callable<Void>() {
|
||||
|
||||
public Void call() throws Exception {
|
||||
|
Loading…
x
Reference in New Issue
Block a user