Author: scabanovich
Date: 2009-01-15 11:06:52 -0500 (Thu, 15 Jan 2009)
New Revision: 13066
Modified:
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/action/XModelObjectAction.java
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/dnd/ControlDragDrop.java
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/views/palette/PaletteAdapter.java
Log:
JBIDE-3566
Modified:
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/action/XModelObjectAction.java
===================================================================
---
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/action/XModelObjectAction.java 2009-01-15
15:58:48 UTC (rev 13065)
+++
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/action/XModelObjectAction.java 2009-01-15
16:06:52 UTC (rev 13066)
@@ -10,7 +10,7 @@
******************************************************************************/
package org.jboss.tools.common.model.ui.action;
-import java.util.Properties;
+import java.util.*;
import org.eclipse.jface.action.Action;
import org.eclipse.jface.dialogs.MessageDialog;
@@ -27,7 +27,9 @@
import org.jboss.tools.common.meta.action.XRedirect;
import org.jboss.tools.common.model.XModelException;
import org.jboss.tools.common.model.XModelObject;
+import org.jboss.tools.common.model.event.ActionDeclinedException;
import org.jboss.tools.common.model.ui.wizards.OneStepWizard;
+import org.jboss.tools.common.model.ui.ModelUIPlugin;
public class XModelObjectAction extends XModelObjectActionItem {
protected XAction action;
@@ -60,47 +62,56 @@
XRedirect redirect = action.getRedirect();
XAction redirectAction = null;
XModelObject redirectObject = null;
- while(redirect != null) {
+ while (redirect != null) {
redirectAction = redirect.getRedirectAction(runObject);
redirectObject = redirect.getRedirectSource(runObject);
redirect = redirectAction == null ? null : redirectAction.getRedirect();
- if(redirect != null) {
+ if (redirect != null) {
runObject = redirectObject;
}
- }
- if(redirectAction != null && redirectObject != null) {
+ }
+ if (redirectAction != null && redirectObject != null) {
runAction = redirectAction;
runObject = redirectObject;
}
- if(action.getSignificantFlag(object)) {
- String message = SignificanceMessageFactory.getInstance().getMessage(action, object,
targets) + "?";
- MessageDialog d = new MessageDialog(getShell(), "Confirmation", null,
message, MessageDialog.QUESTION, new String[]{"OK", "Cancel"}, 0);
+ if (action.getSignificantFlag(object)) {
+ String message = SignificanceMessageFactory.getInstance()
+ .getMessage(action, object, targets)
+ + "?";
+ MessageDialog d = new MessageDialog(getShell(), "Confirmation",
+ null, message, MessageDialog.QUESTION, new String[] { "OK",
+ "Cancel" }, 0);
int m = d.open();
- if(m != 0) return;
+ if (m != 0)
+ return;
}
String wizardName = runAction.getWizardClassName();
- if(wizardName == null || wizardName.equals("")) {
+ if (wizardName == null || wizardName.equals("")) {
action.getEntityData(object);
try {
Properties p = prepareProperties();
- if(p == null) p = new Properties();
- if(getShell() != null) p.put("shell", getShell());
- if(targets == null) action.executeHandler(object, p);
+ if (p == null) p = new Properties();
+ if (getShell() != null) p.put("shell", getShell());
+ if (targets == null) action.executeHandler(object, p);
else action.executeHandler(object, targets, p);
- } catch (XModelException e) {
+ } catch (ActionDeclinedException e) {
return;
+ } catch (XModelException e2) {
+ ModelUIPlugin.getPluginLog().logError(e2);
}
} else {
runAction.getEntityData(runObject);
OneStepWizard w = new OneStepWizard();
Properties p = prepareProperties();
- if(p == null) p = new Properties();
+ if (p == null)
+ p = new Properties();
p.put("action", runAction);
p.put("object", runObject);
- if(getShell() != null) p.put("shell", getShell());
+ if (getShell() != null)
+ p.put("shell", getShell());
w.setObject(p);
w.execute();
- }
+ }
}
protected Properties prepareProperties() {
Modified:
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/dnd/ControlDragDrop.java
===================================================================
---
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/dnd/ControlDragDrop.java 2009-01-15
15:58:48 UTC (rev 13065)
+++
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/dnd/ControlDragDrop.java 2009-01-15
16:06:52 UTC (rev 13066)
@@ -334,6 +334,8 @@
if(draggedObject != null) p.put("draggedObject", draggedObject);
((IControlDropListener)provider).drop(p);
}
+ } catch (ActionDeclinedException ade) {
+ ignore();
} catch (XModelException e) {
ModelUIPlugin.getPluginLog().logError(e);
}
Modified:
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/views/palette/PaletteAdapter.java
===================================================================
---
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/views/palette/PaletteAdapter.java 2009-01-15
15:58:48 UTC (rev 13065)
+++
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/views/palette/PaletteAdapter.java 2009-01-15
16:06:52 UTC (rev 13066)
@@ -16,11 +16,6 @@
import org.eclipse.core.resources.IFile;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.QualifiedName;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.ActionContributionItem;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.IContributionItem;
-import org.eclipse.jface.action.IMenuManager;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.ScrolledComposite;
import org.eclipse.swt.dnd.DND;
@@ -42,20 +37,24 @@
import org.eclipse.swt.widgets.ToolBar;
import org.eclipse.swt.widgets.ToolItem;
import org.eclipse.ui.IActionBars;
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.ActionContributionItem;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.action.IContributionItem;
+import org.eclipse.jface.action.IMenuManager;
import org.jboss.tools.common.model.XModel;
import org.jboss.tools.common.model.XModelException;
import org.jboss.tools.common.model.XModelObject;
+import org.jboss.tools.common.model.event.ActionDeclinedException;
import org.jboss.tools.common.model.event.XModelTreeEvent;
import org.jboss.tools.common.model.event.XModelTreeListener;
+import org.jboss.tools.common.model.util.EclipseResourceUtil;
+import org.jboss.tools.common.model.util.IconUtil;
import org.jboss.tools.common.model.ui.ModelUIPlugin;
import org.jboss.tools.common.model.ui.dnd.DnDUtil;
import org.jboss.tools.common.model.ui.dnd.ModelTransfer;
+import org.jboss.tools.common.model.ui.views.palette.model.*;
import org.jboss.tools.common.model.ui.util.StringUtilities;
-import org.jboss.tools.common.model.ui.views.palette.model.IPaletteNode;
-import org.jboss.tools.common.model.ui.views.palette.model.PaletteElement;
-import org.jboss.tools.common.model.ui.views.palette.model.PaletteModel;
-import org.jboss.tools.common.model.util.EclipseResourceUtil;
-import org.jboss.tools.common.model.util.IconUtil;
public class PaletteAdapter implements IPaletteAdapter {
private static final int TEXT_MARGIN = 4;
@@ -405,6 +404,9 @@
try {
DnDUtil.paste(o, new Properties());
model.getXModel().saveOptions();
+ } catch (ActionDeclinedException ade) {
+ //ignore - this exception is thrown to inform that user
+ //selected cancel option in dialog.
} catch (XModelException e) {
message(e);
}