From 6fad7a2427378231344b856f2213cac601c433a4 Mon Sep 17 00:00:00 2001 From: bancika Date: Thu, 27 Jan 2011 19:21:34 +0000 Subject: [PATCH] fixed NPE and wrong undo/redo for ungroup --- .../src/org/diylc/presenter/Presenter.java | 2 +- .../swing/plugins/edit/EditMenuPlugin.java | 38 ++++++++++--------- 2 files changed, 22 insertions(+), 18 deletions(-) diff --git a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/presenter/Presenter.java b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/presenter/Presenter.java index cd5efce1..e38bcf93 100644 --- a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/presenter/Presenter.java +++ b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/presenter/Presenter.java @@ -885,7 +885,7 @@ public class Presenter implements IPlugInPort { messageDispatcher.dispatchMessage(EventType.REPAINT); if (!oldProject.equals(currentProject)) { messageDispatcher.dispatchMessage(EventType.PROJECT_MODIFIED, oldProject, cloner - .deepClone(currentProject), "Group"); + .deepClone(currentProject), "Ungroup"); projectFileManager.notifyFileChange(); } } diff --git a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/swing/plugins/edit/EditMenuPlugin.java b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/swing/plugins/edit/EditMenuPlugin.java index 5144c4b8..dc97fa4c 100644 --- a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/swing/plugins/edit/EditMenuPlugin.java +++ b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/swing/plugins/edit/EditMenuPlugin.java @@ -21,7 +21,9 @@ import com.diyfever.gui.undo.UndoHandler; public class EditMenuPlugin implements IPlugIn, ClipboardOwner { private static final String EDIT_TITLE = "Edit"; + private IPlugInPort plugInPort; + private ISwingUI swingUI; private Clipboard clipboard; @@ -36,6 +38,7 @@ public class EditMenuPlugin implements IPlugIn, ClipboardOwner { private UndoHandler undoHandler; public EditMenuPlugin(ISwingUI swingUI) { + this.swingUI = swingUI; // SecurityManager securityManager = System.getSecurityManager(); // if (securityManager != null) { // try { @@ -59,23 +62,6 @@ public class EditMenuPlugin implements IPlugIn, ClipboardOwner { 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() { @@ -131,6 +117,24 @@ public class EditMenuPlugin implements IPlugIn, ClipboardOwner { @Override public void connect(IPlugInPort 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(); }