mirror of
https://github.com/bancika/diy-layout-creator
synced 2026-11-10 17:22:09 +10:00
fixed NPE and wrong undo/redo for ungroup
This commit is contained in:
+1
-1
@@ -885,7 +885,7 @@ public class Presenter implements IPlugInPort {
|
|||||||
messageDispatcher.dispatchMessage(EventType.REPAINT);
|
messageDispatcher.dispatchMessage(EventType.REPAINT);
|
||||||
if (!oldProject.equals(currentProject)) {
|
if (!oldProject.equals(currentProject)) {
|
||||||
messageDispatcher.dispatchMessage(EventType.PROJECT_MODIFIED, oldProject, cloner
|
messageDispatcher.dispatchMessage(EventType.PROJECT_MODIFIED, oldProject, cloner
|
||||||
.deepClone(currentProject), "Group");
|
.deepClone(currentProject), "Ungroup");
|
||||||
projectFileManager.notifyFileChange();
|
projectFileManager.notifyFileChange();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+21
-17
@@ -21,7 +21,9 @@ import com.diyfever.gui.undo.UndoHandler;
|
|||||||
public class EditMenuPlugin implements IPlugIn, ClipboardOwner {
|
public class EditMenuPlugin implements IPlugIn, ClipboardOwner {
|
||||||
|
|
||||||
private static final String EDIT_TITLE = "Edit";
|
private static final String EDIT_TITLE = "Edit";
|
||||||
|
|
||||||
private IPlugInPort plugInPort;
|
private IPlugInPort plugInPort;
|
||||||
|
private ISwingUI swingUI;
|
||||||
|
|
||||||
private Clipboard clipboard;
|
private Clipboard clipboard;
|
||||||
|
|
||||||
@@ -36,6 +38,7 @@ public class EditMenuPlugin implements IPlugIn, ClipboardOwner {
|
|||||||
private UndoHandler<Project> undoHandler;
|
private UndoHandler<Project> undoHandler;
|
||||||
|
|
||||||
public EditMenuPlugin(ISwingUI swingUI) {
|
public EditMenuPlugin(ISwingUI swingUI) {
|
||||||
|
this.swingUI = swingUI;
|
||||||
// SecurityManager securityManager = System.getSecurityManager();
|
// SecurityManager securityManager = System.getSecurityManager();
|
||||||
// if (securityManager != null) {
|
// if (securityManager != null) {
|
||||||
// try {
|
// try {
|
||||||
@@ -59,23 +62,6 @@ public class EditMenuPlugin implements IPlugIn, ClipboardOwner {
|
|||||||
refreshActions();
|
refreshActions();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
ActionFactory actionFactory = ActionFactory.getInstance();
|
|
||||||
|
|
||||||
swingUI.injectMenuAction(undoHandler.getUndoAction(), EDIT_TITLE);
|
|
||||||
swingUI.injectMenuAction(undoHandler.getRedoAction(), EDIT_TITLE);
|
|
||||||
swingUI.injectMenuAction(null, EDIT_TITLE);
|
|
||||||
swingUI.injectMenuAction(getCutAction(), EDIT_TITLE);
|
|
||||||
swingUI.injectMenuAction(getCopyAction(), EDIT_TITLE);
|
|
||||||
swingUI.injectMenuAction(getPasteAction(), EDIT_TITLE);
|
|
||||||
swingUI.injectMenuAction(null, EDIT_TITLE);
|
|
||||||
swingUI.injectMenuAction(actionFactory.createSelectAllAction(plugInPort), EDIT_TITLE);
|
|
||||||
swingUI.injectMenuAction(getEditSelectionAction(), EDIT_TITLE);
|
|
||||||
swingUI.injectMenuAction(getDeleteSelectionAction(), EDIT_TITLE);
|
|
||||||
swingUI.injectMenuAction(getGroupAction(), EDIT_TITLE);
|
|
||||||
swingUI.injectMenuAction(getUngroupAction(), EDIT_TITLE);
|
|
||||||
swingUI.injectMenuAction(null, EDIT_TITLE);
|
|
||||||
swingUI.injectMenuAction(actionFactory.createEditProjectAction(plugInPort), EDIT_TITLE);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public ActionFactory.CutAction getCutAction() {
|
public ActionFactory.CutAction getCutAction() {
|
||||||
@@ -131,6 +117,24 @@ public class EditMenuPlugin implements IPlugIn, ClipboardOwner {
|
|||||||
@Override
|
@Override
|
||||||
public void connect(IPlugInPort plugInPort) {
|
public void connect(IPlugInPort plugInPort) {
|
||||||
this.plugInPort = plugInPort;
|
this.plugInPort = plugInPort;
|
||||||
|
|
||||||
|
ActionFactory actionFactory = ActionFactory.getInstance();
|
||||||
|
|
||||||
|
swingUI.injectMenuAction(undoHandler.getUndoAction(), EDIT_TITLE);
|
||||||
|
swingUI.injectMenuAction(undoHandler.getRedoAction(), EDIT_TITLE);
|
||||||
|
swingUI.injectMenuAction(null, EDIT_TITLE);
|
||||||
|
swingUI.injectMenuAction(getCutAction(), EDIT_TITLE);
|
||||||
|
swingUI.injectMenuAction(getCopyAction(), EDIT_TITLE);
|
||||||
|
swingUI.injectMenuAction(getPasteAction(), EDIT_TITLE);
|
||||||
|
swingUI.injectMenuAction(null, EDIT_TITLE);
|
||||||
|
swingUI.injectMenuAction(actionFactory.createSelectAllAction(plugInPort), EDIT_TITLE);
|
||||||
|
swingUI.injectMenuAction(getEditSelectionAction(), EDIT_TITLE);
|
||||||
|
swingUI.injectMenuAction(getDeleteSelectionAction(), EDIT_TITLE);
|
||||||
|
swingUI.injectMenuAction(getGroupAction(), EDIT_TITLE);
|
||||||
|
swingUI.injectMenuAction(getUngroupAction(), EDIT_TITLE);
|
||||||
|
swingUI.injectMenuAction(null, EDIT_TITLE);
|
||||||
|
swingUI.injectMenuAction(actionFactory.createEditProjectAction(plugInPort), EDIT_TITLE);
|
||||||
|
|
||||||
refreshActions();
|
refreshActions();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user