|
Eclipse Platform Release 3.1 |
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.eclipse.jface.action.Action
org.eclipse.ui.actions.BaseSelectionListenerAction
org.eclipse.ui.actions.SelectionListenerAction
org.eclipse.ui.actions.WorkspaceAction
The abstract superclass for actions which invoke commands implemented in org.eclipse.core.* on a set of selected resources. It iterates over all selected resources; errors are collected and displayed to the user via a problems dialog at the end of the operation. User requests to cancel the operation are passed along to the core.
Subclasses must implement the following methods:
invokeOperation
- to perform the operation on one of the
selected resourcesgetOperationMessage
- to furnish a title for the progress
dialogSubclasses may override the following methods:
shouldPerformResourcePruning
- reimplement to turn offupdateSelection
- extend to refine enablement criteriagetProblemsTitle
- reimplement to furnish a title for the
problems dialoggetProblemsMessage
- reimplement to furnish a message for
the problems dialogrun
- extend to
Field Summary |
---|
Fields inherited from interface org.eclipse.jface.action.IAction |
---|
AS_CHECK_BOX, AS_DROP_DOWN_MENU, AS_PUSH_BUTTON, AS_RADIO_BUTTON, AS_UNSPECIFIED, CHECKED, DESCRIPTION, ENABLED, HANDLED, IMAGE, RESULT, TEXT, TOOL_TIP_TEXT |
Constructor Summary | |
---|---|
protected |
WorkspaceAction(Shell shell,
String text)
Creates a new action with the given text. |
Method Summary | |
---|---|
protected List |
getActionResources()
Returns the elements that the action is to be performed on. |
protected abstract String |
getOperationMessage()
Returns the string to display for this action's operation. |
protected String |
getProblemsMessage()
Returns the string to display for this action's problems dialog. |
protected String |
getProblemsTitle()
Returns the title for this action's problems dialog. |
protected abstract void |
invokeOperation(IResource resource,
IProgressMonitor monitor)
Performs this action's operation on each of the selected resources, reporting progress to, and fielding cancel requests from, the given progress monitor. |
void |
run()
The CoreWrapperAction implementation of this IAction
method uses a ProgressMonitorDialog to run the operation. |
void |
runInBackground(ISchedulingRule rule)
Run the action in the background rather than with the progress dialog. |
void |
runInBackground(ISchedulingRule rule,
Object jobFamily)
Run the action in the background rather than with the progress dialog. |
void |
runInBackground(ISchedulingRule rule,
Object[] jobFamilies)
Run the action in the background rather than with the progress dialog. |
protected boolean |
shouldPerformResourcePruning()
Returns whether this action should attempt to optimize the resources being operated on. |
protected boolean |
updateSelection(IStructuredSelection selection)
The WorkspaceAction implementation of this
SelectionListenerAction method ensures that this action is
disabled if any of the selected resources are inaccessible. |
Methods inherited from class org.eclipse.ui.actions.SelectionListenerAction |
---|
clearCache, getSelectedNonResources, getSelectedResources, resourceIsType, selectionIsOfType |
Methods inherited from class org.eclipse.ui.actions.BaseSelectionListenerAction |
---|
getStructuredSelection, runWithEvent, selectionChanged, selectionChanged |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
protected WorkspaceAction(Shell shell, String text)
shell
- the shell (for the modal progress dialog and error messages)text
- the string used as the text for the action,
or null
if there is no textMethod Detail |
protected abstract String getOperationMessage()
Note that this hook method is invoked in a non-UI thread.
Subclasses must implement this method.
protected String getProblemsMessage()
The WorkspaceAction
implementation of this method returns a
vague message (localized counterpart of something like "The following
problems occurred."). Subclasses may reimplement to provide something more
suited to the particular action.
protected String getProblemsTitle()
The WorkspaceAction
implementation of this method returns a
generic title (localized counterpart of "Problems"). Subclasses may
reimplement to provide something more suited to the particular action.
protected abstract void invokeOperation(IResource resource, IProgressMonitor monitor) throws CoreException
Note that this method is invoked in a non-UI thread.
Subclasses must implement this method.
resource
- one of the selected resourcesmonitor
- a progress monitor
CoreException
- if the operation failspublic void run()
CoreWrapperAction
implementation of this IAction
method uses a ProgressMonitorDialog
to run the operation. The
operation calls execute
(which, in turn, calls
invokeOperation
). Afterwards, any CoreException
s
encountered while running the operation are reported to the user via a
problems dialog.
Subclasses may extend this method.
run
in interface IAction
run
in class Action
protected boolean shouldPerformResourcePruning()
The WorkspaceAction
implementation of this method returns
true
. Subclasses should reimplement to return false
if pruning is not required.
true
if pruning should be performed,
and false
if pruning is not desiredprotected boolean updateSelection(IStructuredSelection selection)
WorkspaceAction
implementation of this
SelectionListenerAction
method ensures that this action is
disabled if any of the selected resources are inaccessible. Subclasses may
extend to react to selection changes; however, if the super method returns
false
, the overriding method should also return false
.
updateSelection
in class BaseSelectionListenerAction
selection
- the new selection
true
if the action should be enabled for this selection,
and false
otherwiseprotected List getActionResources()
Subclasses may override this method.
IResource
)public void runInBackground(ISchedulingRule rule)
rule
- The rule to apply to the background job or
null
if there isn't one.public void runInBackground(ISchedulingRule rule, Object jobFamily)
rule
- The rule to apply to the background job or
null
if there isn't one.jobFamily
- a single family that the job should
belong to or null
if none.public void runInBackground(ISchedulingRule rule, Object[] jobFamilies)
rule
- The rule to apply to the background job or
null
if there isn't one.jobFamilies
- the families the job should belong
to or null
if none.
|
Eclipse Platform Release 3.1 |
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Guidelines for using Eclipse APIs.
Copyright (c) IBM Corp. and others 2000, 2005. All rights reserved.