Package 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
Modifier and Type
Field
Description
`static final 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
Description
`DirectEditAction(IEditorPart editor)`
Same as `DirectEditAction(IWorkbenchPart)`.
`DirectEditAction(IWorkbenchPart part)`
Constructs a DirectEditAction using the specified part.

## Method Summary

Modifier and Type
Method
Description
`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, getSelectedEditParts, 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 Details

### ID

@Deprecated public static final String ID
Deprecated.

See Also:
  - Constant Field Values

## Constructor Details

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

### 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()`