Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Eclipse Platform Release 3.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.eclipse.ui.actions
Class WorkspaceAction

    java.lang.Object
      org.eclipse.jface.action.Action
          org.eclipse.ui.actions.BaseSelectionListenerAction
              org.eclipse.ui.actions.SelectionListenerAction
                  org.eclipse.ui.actions.WorkspaceAction

All Implemented Interfaces:
  IAction, ISelectionChangedListener

Direct Known Subclasses:
  BuildAction, CloseResourceAction, OpenResourceAction, RefreshAction, RenameResourceAction, ScrubLocalAction

public abstract class WorkspaceAction
extends SelectionListenerAction

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 resources
- `getOperationMessage` - to furnish a title for the progress dialog

Subclasses may override the following methods:

- `shouldPerformResourcePruning` - reimplement to turn off
- `updateSelection` - extend to refine enablement criteria
- `getProblemsTitle` - reimplement to furnish a title for the problems dialog
- `getProblemsMessage` - reimplement to furnish a message for the problems dialog
- `run` - 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, 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.
`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.
`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 org.eclipse.jface.action.Action
`addPropertyChangeListener, convertAccelerator, convertAccelerator, findKeyCode, findKeyString, findModifier, findModifierString, firePropertyChange, firePropertyChange, getAccelerator, getActionDefinitionId, getDescription, getDisabledImageDescriptor, getHelpListener, getHoverImageDescriptor, getId, getImageDescriptor, getMenuCreator, getStyle, getText, getToolTipText, isChecked, isEnabled, notifyResult, removeAcceleratorText, removeMnemonics, removePropertyChangeListener, setAccelerator, setActionDefinitionId, setChecked, setDescription, setDisabledImageDescriptor, setEnabled, setHelpListener, setHoverImageDescriptor, setId, setImageDescriptor, setMenuCreator, setText, setToolTipText`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### WorkspaceAction

    protected WorkspaceAction(Shell shell,
                              String text)

  Creates a new action with the given text.

Parameters:
  `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 text

Method Detail

### run

    public void run()

  The `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.

  Specified by:
    `run` in interface `IAction`
  Overrides:
    `run` in class `Action`

### updateSelection

    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. Subclasses may extend to react to selection changes; however, if the super method returns `false`, the overriding method should also return `false`.

  Overrides:
    `updateSelection` in class `BaseSelectionListenerAction`
  Parameters:
    `selection` - the new selection
  Returns:
    `true` if the action should be enabled for this selection, and `false` otherwise

### getActionResources

    protected List getActionResources()

  Returns the elements that the action is to be performed on. By default return the selected resources.

  Returns:
    list of resource elements (element type: `IResource`)

### runInBackground

    public void runInBackground(ISchedulingRule rule)

  Run the action in the background rather than with the progress dialog.

  Parameters:
    `rule` - The rule to apply to the background job or `null` if there isn't one.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Eclipse Platform Release 3.0
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, 2004. All rights reserved.