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 therun
method and if required override theupdate
method.Subclasses that may modify the editor content should use
canModifyEditor()
in theirupdate
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) 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 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
All Methods Instance Methods Concrete Methods Modifier and Type Method Description 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
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 inResourceAction
constructor), ornull
if 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 inResourceAction
constructor), ornull
if 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, ornull
if 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. Returnstrue
if 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, orfalse
if the editor isnull
.There is only a difference to
validateEditorInputState()
if the editor implementsITextEditorExtension2
.- 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. Returnstrue
if an action can proceed modifying the editor's input,false
if 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, orfalse
if the editor isnull
.There is only a difference to
canModifyEditor()
if the editor implementsITextEditorExtension2
.- Returns:
true
if a modifying action can proceed to modify the underlying document,false
otherwise- Since:
- 3.0
-
-