Class TextEditorAction
- java.lang.Object
-
- org.eclipse.core.commands.common.EventManager
-
- org.eclipse.jface.action.AbstractAction
-
- org.eclipse.jface.action.Action
-
- org.eclipse.ui.texteditor.ResourceAction
-
- org.eclipse.ui.texteditor.TextEditorAction
-
- Direct Known Subclasses:
AddMarkerAction,CaseAction,ChangeEncodingAction,ContentAssistAction,ConvertLineDelimitersAction,DeleteLineAction,GotoAnnotationAction,GotoLineAction,InsertLineAction,JoinLinesAction,MarkAction,MoveLinesAction,RecenterAction,RevertToSavedAction,SaveAction,SelectAnnotationRulerAction,ShiftAction,ShowWhitespaceCharactersAction,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 usingsetEditor. Subclasses must implement therunmethod and if required override theupdatemethod.Subclasses that may modify the editor content should use
canModifyEditor()in theirupdatecode 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) andvalidateEditorInputState()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, HANDLED, IMAGE, RESULT, TEXT, TOOL_TIP_TEXT
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedTextEditorAction(ResourceBundle bundle, String prefix, ITextEditor editor)Creates and initializes the action for the given text editor.protectedTextEditorAction(ResourceBundle bundle, String prefix, ITextEditor editor, int style)Creates and initializes the action for the given text editor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected booleancanModifyEditor()Checks the editor's modifiable state.protected ITextEditorgetTextEditor()Returns the action's text editor.voidsetEditor(ITextEditor editor)Retargets this action to the given editor.voidupdate()Always enables this action if it is connected to a text editor.protected booleanvalidateEditorInputState()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
convertAccelerator, convertAccelerator, findKeyCode, findKeyString, findModifier, findModifierString, getAccelerator, getActionDefinitionId, getDescription, getDisabledImageDescriptor, getHelpListener, getHoverImageDescriptor, getId, getImageDescriptor, getMenuCreator, getStyle, getText, getToolTipText, isChecked, isEnabled, isHandled, notifyResult, removeAcceleratorText, removeMnemonics, run, 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
-
-
-
-
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 bundleprefix- a prefix to be prepended to the various resource keys (described inResourceActionconstructor), ornullif noneeditor- the text editor- See Also:
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 bundleprefix- a prefix to be prepended to the various resource keys (described inResourceActionconstructor), ornullif noneeditor- the text editorstyle- the style of this action- Since:
- 3.0
- See Also:
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, ornullif none
-
update
public void update()
Always enables this action if it is connected to a text editor. If the associated editor isnull, the action is disabled. Subclasses may override.
-
canModifyEditor
protected boolean canModifyEditor()
Checks the editor's modifiable state. Returnstrueif the editor can be modified, taking in account the possible editor extensions.If the editor implements
ITextEditorExtension2, this method returnsITextEditorExtension2.isEditorInputModifiable();
else if the editor implementsITextEditorExtension, it returnsITextEditorExtension.isEditorInputReadOnly();
else,ITextEditor.isEditable()is returned, orfalseif the editor isnull.There is only a difference to
validateEditorInputState()if the editor implementsITextEditorExtension2.- Returns:
trueif a modifying action should be enabled,falseotherwise- Since:
- 3.0
-
validateEditorInputState
protected boolean validateEditorInputState()
Checks and validates the editor's modifiable state. Returnstrueif an action can proceed modifying the editor's input,falseif it should not.If the editor implements
ITextEditorExtension2, this method returnsITextEditorExtension2.validateEditorInputState();
else if the editor implementsITextEditorExtension, it returnsITextEditorExtension.isEditorInputReadOnly();
else,ITextEditor.isEditable()is returned, orfalseif the editor isnull.There is only a difference to
canModifyEditor()if the editor implementsITextEditorExtension2.- Returns:
trueif a modifying action can proceed to modify the underlying document,falseotherwise- Since:
- 3.0
-
-