public abstract class TextEditorAction extends ResourceAction implements IUpdate
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.
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
Modifier | Constructor and 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.
|
Modifier and Type | Method and 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.
|
getString, initialize, setHelpContextId
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
addPropertyChangeListener, firePropertyChange, firePropertyChange, removePropertyChangeListener
addListenerObject, clearListeners, getListeners, isListenerAttached, removeListenerObject
protected TextEditorAction(ResourceBundle bundle, String prefix, ITextEditor editor)
bundle
- the resource bundleprefix
- a prefix to be prepended to the various resource keys
(described in ResourceAction
constructor), or
null
if noneeditor
- the text editorResourceAction.ResourceAction(ResourceBundle, String)
protected TextEditorAction(ResourceBundle bundle, String prefix, ITextEditor editor, int style)
bundle
- the resource bundleprefix
- a prefix to be prepended to the various resource keys
(described in ResourceAction
constructor), or
null
if noneeditor
- the text editorstyle
- the style of this actionResourceAction.ResourceAction(ResourceBundle, String, int)
protected ITextEditor getTextEditor()
public void setEditor(ITextEditor editor)
editor
- the new editor, or null
if nonepublic void update()
null
, the action is disabled.
Subclasses may override.protected boolean canModifyEditor()
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 ITextEditorExtension
, 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
.
true
if a modifying action should be enabled, false
otherwiseprotected boolean validateEditorInputState()
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
.
true
if a modifying action can proceed to modify the underlying document, false
otherwise
Copyright (c) 2000, 2015 Eclipse Contributors and others. All rights reserved.Guidelines for using Eclipse APIs.