org.eclipse.gef.ui.actions

## Class DirectEditAction

- java.lang.Object
- - org.eclipse.core.commands.common.EventManager
  - - org.eclipse.jface.action.AbstractAction
    - - org.eclipse.jface.action.Action
      - - org.eclipse.gef.ui.actions.WorkbenchPartAction
        - - org.eclipse.gef.ui.actions.SelectionAction
          - - org.eclipse.gef.ui.actions.DirectEditAction

All Implemented Interfaces:
  Disposable, UpdateAction, IAction

    public class DirectEditAction
    extends SelectionAction

An action to perform direct editing on a selected part. The DirectEditAction provides the function of sending a `Request` of the type `RequestConstants.REQ_DIRECT_EDIT` to a single EditPart. The request will be sent to the editpart using `EditPart.performRequest(Request)`.

This action will be enabled whenever the current selection is one EditPart, and that editpart returns `true` for `EditPart.understandsRequest(Request)`, using the `getDirectEditRequest()`.

Clients can control the request that is sent by calling `setDirectEditRequest(Request)`. The `DirectEditRequest` class allows the client to specify the feature that should be edited when invoked.

### Field Summary

Fields
`static java.lang.String` `ID` Deprecated.

### 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

Constructors
Constructor and Description
`DirectEditAction(IEditorPart editor)` Same as `DirectEditAction(IWorkbenchPart)`.
`DirectEditAction(IWorkbenchPart part)` Constructs a DirectEditAction using the specified part.

### Method Summary

Methods
`protected boolean` `calculateEnabled()` returns `true` if there is exactly 1 EditPart selected that understand a request of type: `RequestConstants.REQ_DIRECT_EDIT`.
`protected Request` `getDirectEditRequest()` Returns the `Request` being used.
`protected void` `init()` Initializes this action.
`void` `run()`
`void` `setDirectEditRequest(Request req)` Clients may override the request that is used to perform the direct edit.

### Methods inherited from class org.eclipse.gef.ui.actions.SelectionAction

`dispose, getSelectedObjects, getSelection, handleSelectionChanged, setSelection, setSelectionProvider, update`

### Methods inherited from class org.eclipse.gef.ui.actions.WorkbenchPartAction

`execute, getCommandStack, getWorkbenchPart, isEnabled, refresh, setLazyEnablementCalculation, setWorkbenchPart`

### Methods inherited from class org.eclipse.jface.action.Action

`convertAccelerator, convertAccelerator, findKeyCode, findKeyString, findModifier, findModifierString, getAccelerator, getActionDefinitionId, getDescription, getDisabledImageDescriptor, getHelpListener, getHoverImageDescriptor, getId, getImageDescriptor, getMenuCreator, getStyle, getText, getToolTipText, isChecked, isHandled, notifyResult, removeAcceleratorText, removeMnemonics, runWithEvent, setAccelerator, setActionDefinitionId, setChecked, setDescription, setDisabledImageDescriptor, setEnabled, setHelpListener, setHoverImageDescriptor, setId, setImageDescriptor, setMenuCreator, setText, setToolTipText`

### Methods inherited from class org.eclipse.jface.action.AbstractAction

`addPropertyChangeListener, firePropertyChange, firePropertyChange, removePropertyChangeListener`

### Methods inherited from class org.eclipse.core.commands.common.EventManager

`addListenerObject, clearListeners, getListeners, isListenerAttached, removeListenerObject`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### ID

    public static final java.lang.String ID

Deprecated.

See Also:
  Constant Field Values

### Constructor Detail

#### DirectEditAction

    public DirectEditAction(IEditorPart editor)

Same as `DirectEditAction(IWorkbenchPart)`.

Parameters:
  `editor` - the editor

#### DirectEditAction

    public DirectEditAction(IWorkbenchPart part)

Constructs a DirectEditAction using the specified part.

Parameters:
  `part` - the workbench part

### Method Detail

#### calculateEnabled

    protected boolean calculateEnabled()

returns `true` if there is exactly 1 EditPart selected that understand a request of type: `RequestConstants.REQ_DIRECT_EDIT`.

Specified by:
  `calculateEnabled` in class `WorkbenchPartAction`
Returns:
  `true` if enabled

#### getDirectEditRequest

    protected Request getDirectEditRequest()

Returns the `Request` being used.

Returns:
  the request

#### run

    public void run()

Specified by:
  `run` in interface `IAction`
Overrides:
  `run` in class `Action`
See Also:
  `IAction.run()`

#### setDirectEditRequest

    public void setDirectEditRequest(Request req)

Clients may override the request that is used to perform the direct edit.

Parameters:
  `req` - the new request to be used

#### init

    protected void init()

Description copied from class: `WorkbenchPartAction`
Initializes this action.

Overrides:
  `init` in class `WorkbenchPartAction`
See Also:
  `WorkbenchPartAction.init()`