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.texteditor
Class TextEditorAction

    java.lang.Object
      org.eclipse.jface.action.Action
          org.eclipse.ui.texteditor.ResourceAction
              org.eclipse.ui.texteditor.TextEditorAction

All Implemented Interfaces:
  IAction, IUpdate

Direct Known Subclasses:
  AddMarkerAction, CaseAction, ContentAssistAction, ConvertLineDelimitersAction, DeleteLineAction, GotoLineAction, InsertLineAction, MarkAction, MoveLinesAction, RevertToSavedAction, SaveAction, SelectAnnotationRulerAction, ShiftAction, TextOperationAction

public abstract class TextEditorAction
extends ResourceAction
implements IUpdate

Skeleton of a standard text editor action. The action is initially associated with a text editor via the constructor, but can subsequently be changed using `setEditor`. Subclasses must implement the `run` method and if required override the `update` method.

Subclasses that may modify the editor content should use `canModifyEditor()` in their `update` code to check whether updating the editor is most likely possible (even if it is read-only - this may change for editor contents that are under version control) and `validateEditorInputState()` before actually modifying the editor contents.

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` | `TextEditorAction(ResourceBundle bundle, String prefix, ITextEditor editor)` Creates and initializes the action for the given text editor.
`protected` | `TextEditorAction(ResourceBundle bundle, String prefix, ITextEditor editor, int style)` Creates and initializes the action for the given text editor.

Method Summary
`protected boolean` | `canModifyEditor()` Checks the editor's modifiable state.
`protected ITextEditor` | `getTextEditor()` Returns the action's text editor.
`void` | `setEditor(ITextEditor editor)` Retargets this action to the given editor.
`void` | `update()` Always enables this action if it is connected to a text editor.
`protected boolean` | `validateEditorInputState()` Checks and validates the editor's modifiable state.

Methods inherited from class org.eclipse.ui.texteditor.ResourceAction
`getString, initialize, setHelpContextId`

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, run, runWithEvent, 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

### TextEditorAction

    protected TextEditorAction(ResourceBundle bundle,
                               String prefix,
                               ITextEditor editor)

  Creates and initializes the action for the given text editor. The action configures its visual representation from the given resource bundle.

Parameters:
  `bundle` - the resource bundle
  `prefix` - a prefix to be prepended to the various resource keys (described in `ResourceAction` constructor), or `null` if none
  `editor` - the text editor
See Also:
  `ResourceAction.ResourceAction(ResourceBundle, String)`

### TextEditorAction

    protected TextEditorAction(ResourceBundle bundle,
                               String prefix,
                               ITextEditor editor,
                               int style)

  Creates and initializes the action for the given text editor. The action configures its visual representation from the given resource bundle.

Parameters:
  `bundle` - the resource bundle
  `prefix` - a prefix to be prepended to the various resource keys (described in `ResourceAction` constructor), or `null` if none
  `editor` - the text editor
  `style` - the style of this action
Since:
  3.0
See Also:
  `ResourceAction.ResourceAction(ResourceBundle, String, int)`

Method Detail

### getTextEditor

    protected ITextEditor getTextEditor()

  Returns the action's text editor.

  Returns:
    the action's text editor

### setEditor

    public void setEditor(ITextEditor editor)

  Retargets this action to the given editor.

  Parameters:
    `editor` - the new editor, or `null` if none

### update

    public void update()

  Always enables this action if it is connected to a text editor. If the associated editor is `null`, the action is disabled. Subclasses may override.

  Specified by:
    `update` in interface `IUpdate`

### canModifyEditor

    protected boolean canModifyEditor()

  Checks the editor's modifiable state. Returns `true` if the editor can be modified, taking in account the possible editor extensions.

  If the editor implements `ITextEditorExtension2`, this method returns `ITextEditorExtension2.isEditorInputModifiable()`;
  else if the editor implements `ITextEditorExtension2`, it returns `ITextEditorExtension.isEditorInputReadOnly()`;
  else, `ITextEditor.isEditable()` is returned, or `false` if the editor is `null`.

  There is only a difference to `validateEditorInputState()` if the editor implements `ITextEditorExtension2`.

  Returns:
    `true` if a modifying action should be enabled, `false` otherwise
  Since:
    3.0

### validateEditorInputState

    protected boolean validateEditorInputState()

  Checks and validates the editor's modifiable state. Returns `true` if an action can proceed modifying the editor's input, `false` if it should not.

  If the editor implements `ITextEditorExtension2`, this method returns `ITextEditorExtension2.validateEditorInputState()`;
  else if the editor implements `ITextEditorExtension`, it returns `ITextEditorExtension.isEditorInputReadOnly()`;
  else, `ITextEditor.isEditable()` is returned, or `false` if the editor is `null`.

  There is only a difference to `canModifyEditor()` if the editor implements `ITextEditorExtension2`.

  Returns:
    `true` if a modifying action can proceed to modify the underlying document, `false` otherwise
  Since:
    3.0

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.