removed dependency from XSDEditor in refactoring actions
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDMenuListener.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDMenuListener.java
index 4343091..60ad27d 100644
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDMenuListener.java
+++ b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDMenuListener.java
@@ -2061,7 +2061,7 @@
}
protected void addRefactorMenuGroup(IMenuManager manager){
- fRefactorMenuGroup = new RefactorActionGroup();
+ fRefactorMenuGroup = new RefactorActionGroup(selectionProvider, getXSDSchema());
ActionContext context= new ActionContext(selectionProvider.getSelection());
fRefactorMenuGroup.setContext(context);
fRefactorMenuGroup.fillContextMenu(manager);
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDTextEditor.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDTextEditor.java
index 386c4e1..6bde5f0 100644
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDTextEditor.java
+++ b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDTextEditor.java
@@ -376,7 +376,8 @@
wrappedAction = new WrappedOpenFileAction(resourceBundle, StructuredTextEditorActionConstants.ACTION_NAME_OPEN_FILE + DOT, this);
setAction(StructuredTextEditorActionConstants.ACTION_NAME_OPEN_FILE, wrappedAction);
- fRefactorMenuGroup = new RefactorActionGroup(this, ITextEditorActionConstants.GROUP_EDIT);
+ fRefactorMenuGroup = new RefactorActionGroup(this.getXSDEditor().getSelectionManager(), getXSDSchema(), ITextEditorActionConstants.GROUP_EDIT
+);
}
/* (non-Javadoc)
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/actions/MakeLocalElementGlobalAction.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/actions/MakeLocalElementGlobalAction.java
index 0361aff..de0b330 100644
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/actions/MakeLocalElementGlobalAction.java
+++ b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/actions/MakeLocalElementGlobalAction.java
@@ -10,62 +10,23 @@
*******************************************************************************/
package org.eclipse.wst.xsd.ui.internal.refactor.actions;
-import java.util.List;
-
-import org.eclipse.jface.text.ITextSelection;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchSite;
+import org.eclipse.jface.viewers.ISelectionProvider;
import org.eclipse.wst.xml.core.internal.document.DocumentImpl;
-import org.eclipse.wst.xsd.ui.internal.XSDEditor;
import org.eclipse.wst.xsd.ui.internal.commands.MakeLocalElementGlobalCommand;
import org.eclipse.wst.xsd.ui.internal.refactor.RefactoringMessages;
import org.eclipse.xsd.XSDConcreteComponent;
import org.eclipse.xsd.XSDElementDeclaration;
+import org.eclipse.xsd.XSDSchema;
import org.w3c.dom.Node;
public class MakeLocalElementGlobalAction extends SelectionDispatchAction {
- private XSDEditor fEditor;
-
XSDElementDeclaration fSelectedComponent;
- public MakeLocalElementGlobalAction(IWorkbenchSite site) {
- super(site);
- setText(RefactoringMessages
- .getString("MakeLocalElementGlobalAction.text")); //$NON-NLS-1$
-
- IEditorPart editorPart = site.getPage().getActiveEditor();
- if (editorPart instanceof XSDEditor) {
- fEditor = (XSDEditor) editorPart;
- }
- setEnabled(canOperateOn(fEditor));
- }
-
- public MakeLocalElementGlobalAction(XSDEditor editor) {
- this(editor.getEditorSite());
- fEditor = editor;
- setEnabled(canOperateOn(fEditor));
- }
-
- public static boolean canOperateOn(XSDEditor editor) {
- if (editor == null)
- return false;
- return editor.getEditorInput() != null;
-
- }
-
- public void selectionChanged(ITextSelection selection) {
-
- if(fEditor == null){
- setEnabled(false);
- return;
- }
- List elements = fEditor.getSelectedNodes();
- if (elements.size() == 1) {
- Object object = elements.get(0);
- setEnabled(canEnable(object));
- }
-
+ public MakeLocalElementGlobalAction(ISelectionProvider selectionProvider, XSDSchema schema) {
+ super(selectionProvider);
+ setText(RefactoringMessages.getString("MakeLocalElementGlobalAction.text")); //$NON-NLS-1$
+ setSchema(schema);
}
public boolean canRun() {
@@ -88,13 +49,12 @@
protected boolean canEnable(Object selectedObject) {
- if(fEditor == null) return false;
if (selectedObject instanceof XSDConcreteComponent) {
return canEnable((XSDConcreteComponent)selectedObject);
}
else if (selectedObject instanceof Node) {
Node node = (Node) selectedObject;
- XSDConcreteComponent concreteComponent = fEditor.getXSDSchema()
+ XSDConcreteComponent concreteComponent = getSchema()
.getCorrespondingComponent(node);
return canEnable(concreteComponent);
}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/actions/RefactorActionGroup.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/actions/RefactorActionGroup.java
index 3a48b28..0b699e7 100644
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/actions/RefactorActionGroup.java
+++ b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/actions/RefactorActionGroup.java
@@ -20,6 +20,7 @@
import org.eclipse.jface.action.IMenuManager;
import org.eclipse.jface.action.MenuManager;
import org.eclipse.jface.action.Separator;
+import org.eclipse.jface.util.Assert;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.ISelectionChangedListener;
import org.eclipse.jface.viewers.ISelectionProvider;
@@ -27,16 +28,12 @@
import org.eclipse.swt.events.MenuEvent;
import org.eclipse.swt.widgets.Menu;
import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.IEditorPart;
import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.IWorkbenchPart;
import org.eclipse.ui.IWorkbenchSite;
import org.eclipse.ui.actions.ActionFactory;
import org.eclipse.ui.actions.ActionGroup;
-import org.eclipse.wst.xsd.ui.internal.XSDEditor;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.XSDTextEditor;
import org.eclipse.wst.xsd.ui.internal.refactor.RefactoringMessages;
+import org.eclipse.xsd.XSDSchema;
/**
* Action group that adds refactor actions (for example 'Rename', 'Move') to a
@@ -61,9 +58,16 @@
*/
public static final String GROUP_REORGANIZE = IWorkbenchActionConstants.GROUP_REORGANIZE;
+ /**
+ *
+ * @deprecated
+ *
+ */
private IWorkbenchSite fSite;
- private XSDEditor fEditor;
+ private ISelectionProvider fSelectionProvider;
+
+ private XSDSchema fSchema;
private String fGroupName = GROUP_REORGANIZE;
@@ -84,51 +88,38 @@
}
private Action fNoActionAvailable = new NoActionAvailable();
-
- public RefactorActionGroup() {
-
- IWorkbenchPart part = XSDEditorPlugin.getPlugin().getWorkbench()
- .getActiveWorkbenchWindow().getPartService().getActivePart();
- if(part != null){
- fSite = part.getSite();
- IEditorPart editorPart = fSite.getPage().getActiveEditor();
- if (editorPart instanceof XSDEditor) {
- fEditor = (XSDEditor) editorPart;
- }
- initActions(fSite);
-
- }
-
- }
-
- public RefactorActionGroup(XSDTextEditor textEditor, String groupName) {
- fEditor = textEditor.getXSDEditor();
- fSite = fEditor.getEditorSite();
+
+ public RefactorActionGroup(ISelectionProvider selectionProvider,
+ XSDSchema schema, String groupName) {
+ this(selectionProvider, schema);
fGroupName = groupName;
- initActions(fSite);
- }
-
- private static void initAction(SelectionDispatchAction action,
- ISelectionProvider provider, ISelection selection) {
-
- action.update(selection);
- provider.addSelectionChangedListener(action);
}
- private void initActions(IWorkbenchSite site) {
+ public RefactorActionGroup(ISelectionProvider selectionProvider,
+ XSDSchema schema) {
+ fSelectionProvider = selectionProvider;
+ fSchema = schema;
fEditorActions = new ArrayList();
- fRenameAction = new RenameAction(site);
+ fRenameAction = new RenameAction(selectionProvider, schema);
fRenameAction.setActionDefinitionId(RENAME_ELEMENT);
fEditorActions.add(fRenameAction);
- fMakeLocalElementGlobal = new MakeLocalElementGlobalAction(site);
+ fMakeLocalElementGlobal = new MakeLocalElementGlobalAction(
+ selectionProvider, schema);
fMakeLocalElementGlobal.setActionDefinitionId(MAKE_ELEMENT_GLOBAL);
fEditorActions.add(fMakeLocalElementGlobal);
- ISelectionProvider provider = site.getSelectionProvider();
- ISelection selection = provider.getSelection();
- initAction(fRenameAction, provider, selection);
- initAction(fMakeLocalElementGlobal, provider, selection);
+ initAction(fRenameAction, fSelectionProvider);
+ initAction(fMakeLocalElementGlobal, fSelectionProvider);
+ }
+
+ private static void initAction(SelectionDispatchAction action,
+ ISelectionProvider provider) {
+
+ Assert.isNotNull(provider);
+ Assert.isNotNull(action);
+ action.update(provider.getSelection());
+ provider.addSelectionChangedListener(action);
}
/*
@@ -163,9 +154,9 @@
* @see ActionGroup#dispose()
*/
public void dispose() {
- ISelectionProvider provider = fSite.getSelectionProvider();
- disposeAction(fRenameAction, provider);
- disposeAction(fMakeLocalElementGlobal, provider);
+ //ISelectionProvider provider = fSite.getSelectionProvider();
+ disposeAction(fRenameAction, fSelectionProvider);
+ disposeAction(fMakeLocalElementGlobal, fSelectionProvider);
super.dispose();
}
@@ -176,11 +167,11 @@
}
private void addRefactorSubmenu(IMenuManager menu) {
-
+
String menuText = RefactoringMessages.getString("RefactorMenu.label"); //$NON-NLS-1$
fRefactorSubmenu = new MenuManager(menuText, MENU_ID);
- if (fEditor != null) {
+ //if (fEditor != null) {
fRefactorSubmenu.addMenuListener(new IMenuListener() {
public void menuAboutToShow(IMenuManager manager) {
refactorMenuShown(manager);
@@ -188,17 +179,16 @@
});
fRefactorSubmenu.add(fNoActionAvailable);
if (menu.find(fRefactorSubmenu.getId()) == null) {
- if(menu.find(fGroupName) == null){
+ if (menu.find(fGroupName) == null) {
menu.add(fRefactorSubmenu);
- }
- else{
+ } else {
menu.appendToGroup(fGroupName, fRefactorSubmenu);
}
}
- } else {
- if (fillRefactorMenu(fRefactorSubmenu) > 0)
- menu.appendToGroup(fGroupName, fRefactorSubmenu);
- }
+// } else {
+// if (fillRefactorMenu(fRefactorSubmenu) > 0)
+// menu.appendToGroup(fGroupName, fRefactorSubmenu);
+// }
}
private int fillRefactorMenu(IMenuManager refactorSubmenu) {
@@ -236,8 +226,9 @@
refactorMenuHidden(refactorSubmenu);
}
});
- ISelection selection = (ISelection) fEditor.getSelectionManager()
- .getSelection();
+// ISelection selection = (ISelection) fEditor.getSelectionManager()
+// .getSelection();
+ ISelection selection = fSelectionProvider.getSelection();
for (Iterator iter = fEditorActions.iterator(); iter.hasNext();) {
Action action = (Action) iter.next();
if (action instanceof SelectionDispatchAction) {
@@ -251,8 +242,9 @@
}
private void refactorMenuHidden(IMenuManager manager) {
- ISelection selection = (ISelection) fEditor.getSelectionManager()
- .getSelection();
+// ISelection selection = (ISelection) fEditor.getSelectionManager()
+// .getSelection();
+ ISelection selection = fSelectionProvider.getSelection();
for (Iterator iter = fEditorActions.iterator(); iter.hasNext();) {
Action action = (Action) iter.next();
if (action instanceof SelectionDispatchAction) {
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/actions/RenameAction.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/actions/RenameAction.java
index fcf363c..b01cb8a 100644
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/actions/RenameAction.java
+++ b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/actions/RenameAction.java
@@ -5,12 +5,12 @@
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.text.ITextSelection;
import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.ISelectionProvider;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchSite;
-import org.eclipse.wst.xsd.ui.internal.XSDEditor;
+import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
import org.eclipse.wst.xsd.ui.internal.refactor.RefactoringMessages;
+import org.eclipse.xsd.XSDSchema;
/**
@@ -28,27 +28,16 @@
private RenameComponentAction fRenameXSDElement;
private RenameResourceAction fRenameResource;
- private XSDEditor fEditor;
-
- /**
- * Creates a new <code>RenameAction</code>. The action requires
- * that the selection provided by the site's selection provider is of type <code>
- * org.eclipse.jface.viewers.IStructuredSelection</code>.
- *
- * @param site the site providing context information for this action
- */
- public RenameAction(IWorkbenchSite site) {
- super(site);
+
+
+ public RenameAction(ISelectionProvider selectionProvider, XSDSchema schema) {
+ super(selectionProvider);
setText(RefactoringMessages.getString("RenameAction.text")); //$NON-NLS-1$
- fRenameXSDElement= new RenameComponentAction(site);
+ fRenameXSDElement= new RenameComponentAction(selectionProvider, schema);
fRenameXSDElement.setText(getText());
- fRenameResource= new RenameResourceAction(site);
+ fRenameResource= new RenameResourceAction(selectionProvider);
fRenameResource.setText(getText());
- IEditorPart editorPart = site.getPage().getActiveEditor();
- if(editorPart instanceof XSDEditor){
- fEditor = (XSDEditor)editorPart;
- }
- //TODO set help context ids
+
}
/*
@@ -92,12 +81,11 @@
if (fRenameXSDElement.canRun())
fRenameXSDElement.run(selection);
else
- MessageDialog.openInformation(fEditor.getEditorSite().getShell(), RefactoringMessages.getString("RenameAction.rename"), RefactoringMessages.getString("RenameAction.unavailable")); //$NON-NLS-1$ //$NON-NLS-2$
+ MessageDialog.openInformation(XSDEditorPlugin.getShell(), RefactoringMessages.getString("RenameAction.rename"), RefactoringMessages.getString("RenameAction.unavailable")); //$NON-NLS-1$ //$NON-NLS-2$
}
public void run(ISelection selection) {
if(selection == null){
- ISelection editorSelection = fEditor.getSelectionManager().getSelection();
- super.dispatchRun(editorSelection);
+ super.run();
}
else{
super.run(selection);
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/actions/RenameComponentAction.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/actions/RenameComponentAction.java
index 4fe970a..0d7a46b 100644
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/actions/RenameComponentAction.java
+++ b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/actions/RenameComponentAction.java
@@ -10,19 +10,14 @@
*******************************************************************************/
package org.eclipse.wst.xsd.ui.internal.refactor.actions;
-import java.util.List;
-
import org.eclipse.core.resources.IncrementalProjectBuilder;
import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.jface.text.ITextSelection;
import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.ISelectionProvider;
import org.eclipse.ltk.core.refactoring.participants.RenameRefactoring;
import org.eclipse.ltk.ui.refactoring.RefactoringWizard;
import org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperation;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchSite;
import org.eclipse.ui.actions.GlobalBuildAction;
-import org.eclipse.wst.xsd.ui.internal.XSDEditor;
import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
import org.eclipse.wst.xsd.ui.internal.refactor.RefactoringMessages;
import org.eclipse.wst.xsd.ui.internal.refactor.rename.RenameComponentProcessor;
@@ -30,112 +25,97 @@
import org.eclipse.xsd.XSDConcreteComponent;
import org.eclipse.xsd.XSDElementDeclaration;
import org.eclipse.xsd.XSDNamedComponent;
+import org.eclipse.xsd.XSDSchema;
import org.w3c.dom.Node;
-
public class RenameComponentAction extends SelectionDispatchAction {
- private XSDEditor fEditor;
private XSDNamedComponent fSelectedComponent;
-
- public RenameComponentAction(IWorkbenchSite site) {
- super(site);
- IEditorPart editorPart = site.getPage().getActiveEditor();
- if(editorPart instanceof XSDEditor){
- fEditor = (XSDEditor)editorPart;
- setEnabled(canOperateOn(fEditor));
- }
- }
-
- public static boolean canOperateOn(XSDEditor editor) {
- if (editor == null)
- return false;
- return editor.getEditorInput() != null;
-
- }
- public void selectionChanged(ITextSelection selection) {
-
- List elements = fEditor.getSelectedNodes();
- if (elements.size() == 1) {
- Object object = elements.get(0);
- setEnabled(canEnable(object));
- }
-
+ public RenameComponentAction(ISelectionProvider selectionProvider,
+ XSDSchema schema) {
+ super(selectionProvider);
+ setSchema(schema);
}
protected boolean canEnable(XSDConcreteComponent selectedObject) {
-
+
fSelectedComponent = null;
if (selectedObject instanceof XSDNamedComponent) {
fSelectedComponent = (XSDNamedComponent) selectedObject;
-
+
// if it's element reference, then this action is not appropriate
if (fSelectedComponent instanceof XSDElementDeclaration) {
XSDElementDeclaration element = (XSDElementDeclaration) fSelectedComponent;
if (element.isElementDeclarationReference()) {
fSelectedComponent = null;
}
- }
- }
-
+ }
+ }
+
return canRun();
}
-
-
+
protected boolean canEnable(Object selectedObject) {
-
- if(fEditor == null) return false;
+
if (selectedObject instanceof XSDConcreteComponent) {
- return canEnable((XSDConcreteComponent)selectedObject);
- }
- else if (selectedObject instanceof Node) {
+ return canEnable((XSDConcreteComponent) selectedObject);
+ } else if (selectedObject instanceof Node) {
Node node = (Node) selectedObject;
- XSDConcreteComponent concreteComponent = fEditor.getXSDSchema()
- .getCorrespondingComponent(node);
- return canEnable(concreteComponent);
+ if (getSchema() != null) {
+ XSDConcreteComponent concreteComponent = getSchema()
+ .getCorrespondingComponent(node);
+ return canEnable(concreteComponent);
+ }
}
return false;
-
+
}
-
+
public boolean canRun() {
return fSelectedComponent != null;
}
public void run(ISelection selection) {
- if (fSelectedComponent.getName() == null){
+ if (fSelectedComponent.getName() == null) {
fSelectedComponent.setName(new String());
}
- if(fSelectedComponent.getSchema() == null){
- fEditor.getXSDSchema().updateElement(true);
+ if (fSelectedComponent.getSchema() == null) {
+ if (getSchema() != null) {
+ getSchema().updateElement(true);
+ }
+
}
- RenameComponentProcessor processor = new RenameComponentProcessor(fSelectedComponent, fSelectedComponent.getName());
+ RenameComponentProcessor processor = new RenameComponentProcessor(
+ fSelectedComponent, fSelectedComponent.getName());
RenameRefactoring refactoring = new RenameRefactoring(processor);
try {
RefactoringWizard wizard = new RenameRefactoringWizard(
refactoring,
- RefactoringMessages.getString("RenameComponentWizard.defaultPageTitle"), //$NON-NLS-1$ TODO: provide correct strings
- RefactoringMessages.getString("RenameComponentWizard.inputPage.description"), //$NON-NLS-1$
+ RefactoringMessages
+ .getString("RenameComponentWizard.defaultPageTitle"), //$NON-NLS-1$ TODO: provide correct strings
+ RefactoringMessages
+ .getString("RenameComponentWizard.inputPage.description"), //$NON-NLS-1$
null);
- RefactoringWizardOpenOperation op= new RefactoringWizardOpenOperation(wizard);
- int result= op.run(XSDEditorPlugin.getShell(), wizard.getDefaultPageTitle());
+ RefactoringWizardOpenOperation op = new RefactoringWizardOpenOperation(
+ wizard);
+ int result = op.run(XSDEditorPlugin.getShell(), wizard
+ .getDefaultPageTitle());
op.getInitialConditionCheckingStatus();
triggerBuild();
} catch (InterruptedException e) {
// do nothing. User action got cancelled
}
-
+
}
-
public static void triggerBuild() {
if (ResourcesPlugin.getWorkspace().getDescription().isAutoBuilding()) {
- new GlobalBuildAction(XSDEditorPlugin.getPlugin().getWorkbench().getActiveWorkbenchWindow(), IncrementalProjectBuilder.INCREMENTAL_BUILD).run();
+ new GlobalBuildAction(XSDEditorPlugin.getPlugin().getWorkbench()
+ .getActiveWorkbenchWindow(),
+ IncrementalProjectBuilder.INCREMENTAL_BUILD).run();
}
}
-
-
-
+
}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/actions/RenameResourceAction.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/actions/RenameResourceAction.java
index 52c1d22..b025199 100644
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/actions/RenameResourceAction.java
+++ b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/actions/RenameResourceAction.java
@@ -11,11 +11,12 @@
package org.eclipse.wst.xsd.ui.internal.refactor.actions;
import org.eclipse.core.resources.IResource;
+import org.eclipse.jface.viewers.ISelectionProvider;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.ltk.core.refactoring.participants.RenameRefactoring;
import org.eclipse.ltk.ui.refactoring.RefactoringWizard;
import org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperation;
-import org.eclipse.ui.IWorkbenchSite;
+import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
import org.eclipse.wst.xsd.ui.internal.refactor.RefactoringMessages;
import org.eclipse.wst.xsd.ui.internal.refactor.rename.RenameRefactoringWizard;
import org.eclipse.wst.xsd.ui.internal.refactor.rename.RenameResourceProcessor;
@@ -24,8 +25,9 @@
public class RenameResourceAction extends SelectionDispatchAction {
- public RenameResourceAction(IWorkbenchSite site) {
- super(site);
+
+ public RenameResourceAction(ISelectionProvider selectionProvider) {
+ super(selectionProvider);
}
public void selectionChanged(IStructuredSelection selection) {
@@ -53,7 +55,7 @@
RefactoringMessages.getString("RenameComponentWizard.inputPage.description"), //$NON-NLS-1$
null);
RefactoringWizardOpenOperation op= new RefactoringWizardOpenOperation(wizard);
- int result= op.run(getShell(), wizard.getDefaultPageTitle());
+ int result= op.run(XSDEditorPlugin.getShell(), wizard.getDefaultPageTitle());
op.getInitialConditionCheckingStatus();
} catch (InterruptedException e) {
// do nothing. User action got cancelled
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/actions/RenameResourceActionDelegate.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/actions/RenameResourceActionDelegate.java
index 916cbb1..523f710 100644
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/actions/RenameResourceActionDelegate.java
+++ b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/actions/RenameResourceActionDelegate.java
@@ -16,7 +16,6 @@
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.ui.IObjectActionDelegate;
import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchSite;
/**
* @author ebelisar@ca.ibm.com
@@ -24,14 +23,14 @@
public class RenameResourceActionDelegate implements IObjectActionDelegate {
private ISelection fCurrentSelection;
- private IWorkbenchSite fSite;
+
+ private IWorkbenchPart fPart;
/* (non-Javadoc)
* @see org.eclipse.ui.IObjectActionDelegate#setActivePart(org.eclipse.jface.action.IAction, org.eclipse.ui.IWorkbenchPart)
*/
public void setActivePart(IAction action, IWorkbenchPart targetPart) {
- fSite= targetPart.getSite();
-
+ fPart = targetPart;
}
/* (non-Javadoc)
* @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
@@ -41,7 +40,7 @@
IStructuredSelection structuredSelection= (IStructuredSelection) fCurrentSelection;
Object first= structuredSelection.getFirstElement();
if (first instanceof IFile) {
- RenameResourceAction renameAction = new RenameResourceAction(fSite);
+ RenameResourceAction renameAction = new RenameResourceAction(fPart.getSite().getSelectionProvider());
renameAction.run(structuredSelection);
}
}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/actions/SelectionDispatchAction.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/actions/SelectionDispatchAction.java
index e206afc..532b74d 100644
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/actions/SelectionDispatchAction.java
+++ b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/actions/SelectionDispatchAction.java
@@ -18,8 +18,7 @@
import org.eclipse.jface.viewers.ISelectionProvider;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IWorkbenchSite;
+import org.eclipse.xsd.XSDSchema;
@@ -47,28 +46,13 @@
*/
public abstract class SelectionDispatchAction extends Action implements ISelectionChangedListener {
- private IWorkbenchSite fSite;
+ private ISelectionProvider fSelectionProvider;
- /**
- * Creates a new action with no text and no image.
- * <p>
- * Configure the action later using the set methods.
- * </p>
- *
- * @param site the site this action is working on
- */
- protected SelectionDispatchAction(IWorkbenchSite site) {
- Assert.isNotNull(site);
- fSite= site;
- }
-
- /**
- * Returns the site owning this action.
- *
- * @return the site owning this action
- */
- public IWorkbenchSite getSite() {
- return fSite;
+ private XSDSchema fSchema;
+
+ protected SelectionDispatchAction(ISelectionProvider selectionProvider) {
+ Assert.isNotNull(selectionProvider);
+ fSelectionProvider = selectionProvider;
}
/**
@@ -84,21 +68,12 @@
}
/**
- * Returns the shell provided by the site owning this action.
- *
- * @return the site's shell
- */
- public Shell getShell() {
- return fSite.getShell();
- }
-
- /**
* Returns the selection provider managed by the site owning this action.
*
* @return the site's selection provider
*/
public ISelectionProvider getSelectionProvider() {
- return fSite.getSelectionProvider();
+ return fSelectionProvider;
}
/**
@@ -211,4 +186,14 @@
run(selection);
}
}
+
+ public XSDSchema getSchema() {
+ return fSchema;
+ }
+
+ public void setSchema(XSDSchema schema) {
+ fSchema = schema;
+ }
+
+
}