Class AbstractDecoratedTextEditor
- All Implemented Interfaces:
IAdaptable
,IExecutableExtension
,IEditorPart
,INavigationLocationProvider
,IPersistable
,IPersistableEditor
,IReusableEditor
,ISaveablePart
,ISaveablesSource
,IWorkbenchPart
,IWorkbenchPart2
,IWorkbenchPart3
,IWorkbenchPartOrientation
,ITextEditor
,ITextEditorExtension
,ITextEditorExtension2
,ITextEditorExtension3
,ITextEditorExtension4
,ITextEditorExtension5
,ITextEditorExtension6
- Direct Known Subclasses:
TextEditor
AbstractTextEditor
,
but used in many heavy weight (and especially source editing) editors, such as line numbers,
change ruler, overview ruler, print margins, current line highlighting, etc.- Since:
- 3.0
-
Nested Class Summary
Nested classes/interfaces inherited from class org.eclipse.ui.texteditor.AbstractTextEditor
AbstractTextEditor.AbstractSelectionChangedListener, AbstractTextEditor.ColumnSupport, AbstractTextEditor.IdMapEntry, AbstractTextEditor.LineEndAction, AbstractTextEditor.LineStartAction, AbstractTextEditor.SelectionProvider, AbstractTextEditor.TextEditorSavable
Nested classes/interfaces inherited from interface org.eclipse.ui.texteditor.ITextEditorExtension3
ITextEditorExtension3.InsertMode
-
Field Summary
Modifier and TypeFieldDescriptionstatic final String
Menu id for the overview ruler context menu.protected IAnnotationAccess
Helper for accessing annotation from the perspective of this editor.protected boolean
Indicates whether this editor is updating views that show markers.protected LineNumberRulerColumn
The line number column.protected IOverviewRuler
The overview ruler of this editor.protected SourceViewerDecorationSupport
Helper for managing the decoration support of this editor's viewer.Fields inherited from class org.eclipse.ui.texteditor.AbstractTextEditor
ACTION_MAP, COMMON_EDITOR_CONTEXT_MENU_ID, COMMON_RULER_CONTEXT_MENU_ID, DEFAULT_EDITOR_CONTEXT_MENU_ID, DEFAULT_RULER_CONTEXT_MENU_ID, fErrorLabel, PREFERENCE_COLOR_BACKGROUND, PREFERENCE_COLOR_BACKGROUND_SYSTEM_DEFAULT, PREFERENCE_COLOR_FIND_SCOPE, PREFERENCE_COLOR_FOREGROUND, PREFERENCE_COLOR_FOREGROUND_SYSTEM_DEFAULT, PREFERENCE_COLOR_SELECTION_BACKGROUND, PREFERENCE_COLOR_SELECTION_BACKGROUND_SYSTEM_DEFAULT, PREFERENCE_COLOR_SELECTION_FOREGROUND, PREFERENCE_COLOR_SELECTION_FOREGROUND_SYSTEM_DEFAULT, PREFERENCE_FONT, PREFERENCE_HOVER_ENRICH_MODE, PREFERENCE_HYPERLINK_KEY_MODIFIER, PREFERENCE_HYPERLINK_KEY_MODIFIER_MASK, PREFERENCE_HYPERLINKS_ENABLED, PREFERENCE_NAVIGATION_SMART_HOME_END, PREFERENCE_RULER_CONTRIBUTIONS, PREFERENCE_SHOW_CARET_OFFSET, PREFERENCE_SHOW_CARRIAGE_RETURN, PREFERENCE_SHOW_ENCLOSED_IDEOGRAPHIC_SPACES, PREFERENCE_SHOW_ENCLOSED_SPACES, PREFERENCE_SHOW_ENCLOSED_TABS, PREFERENCE_SHOW_LEADING_IDEOGRAPHIC_SPACES, PREFERENCE_SHOW_LEADING_SPACES, PREFERENCE_SHOW_LEADING_TABS, PREFERENCE_SHOW_LINE_FEED, PREFERENCE_SHOW_SELECTION_SIZE, PREFERENCE_SHOW_TRAILING_IDEOGRAPHIC_SPACES, PREFERENCE_SHOW_TRAILING_SPACES, PREFERENCE_SHOW_TRAILING_TABS, PREFERENCE_SHOW_WHITESPACE_CHARACTERS, PREFERENCE_TEXT_DRAG_AND_DROP_ENABLED, PREFERENCE_USE_CUSTOM_CARETS, PREFERENCE_WHITESPACE_CHARACTER_ALPHA_VALUE, PREFERENCE_WIDE_CARET, PREFERENCE_WORD_WRAP_ENABLED, TAG_SELECTION_HORIZONTAL_PIXEL, TAG_SELECTION_LENGTH, TAG_SELECTION_OFFSET, TAG_SELECTION_TOP_PIXEL, VERTICAL_RULER_WIDTH
Fields inherited from interface org.eclipse.ui.IEditorPart
PROP_DIRTY, PROP_INPUT
Fields inherited from interface org.eclipse.ui.texteditor.ITextEditorExtension3
INSERT, SMART_INSERT
Fields inherited from interface org.eclipse.ui.IWorkbenchPart
PROP_TITLE
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected String[]
Returns the preference page ids of the preference pages to be shown when executing the preferences action from the editor context menu.protected String[]
Returns the preference page ids of the preference pages to be shown when executing the preferences action from the editor overview ruler context menu.protected String[]
Returns the preference page ids of the preference pages to be shown when executing the preferences action from the editor ruler context menu.protected void
Configures the decoration support for this editor's source viewer.protected void
Creates this editor's standard actions and connects them with the global workbench actions.protected IAnnotationAccess
Creates the annotation access for this editor.protected IVerticalRulerColumn
Creates the annotation ruler column.protected LineChangeHover
Creates and returns aLineChangeHover
to be used on this editor's change ruler column.protected IChangeRulerColumn
Deprecated.as of 3.3.protected final IColumnSupport
Creates the column support to be used by this editor to manage the contributed ruler columns.protected CompositeRuler
Creates a composite ruler to be used as the vertical ruler by this editor.protected IMenuListener
Creates the listener on this editor's context menus.protected IVerticalRulerColumn
Creates a new line number ruler column that is appropriately initialized.protected IOverviewRuler
createOverviewRuler
(ISharedTextColors sharedColors) protected void
Creates the context menu for the overview ruler.void
createPartControl
(Composite parent) TheAbstractTextEditor
implementation of thisIWorkbenchPart
method creates the vertical ruler and source viewer.protected String[]
Creates and returns the list of target part IDs for the Show In menuprotected ISourceViewer
createSourceViewer
(Composite parent, IVerticalRuler ruler, int styles) Creates the source viewer to be used by this editor.protected Control
createStatusControl
(Composite parent, IStatus status) Creates the status control for the given status.protected IVerticalRuler
ReturnscreateCompositeRuler()
.void
dispose()
TheAbstractTextEditor
implementation of thisIWorkbenchPart
method may be extended by subclasses.protected void
Disposes of the connection with the document provider.protected void
doSetInput
(IEditorInput input) Called directly fromsetInput
and from within a workspace runnable frominit
, this method does the actual setting of the editor input.protected void
Sets up this editor's context menu before it is made visible.<T> T
getAdapter
(Class<T> adapter) Returns an object which is an instance of the given class associated with this object.protected IAnnotationAccess
Returns the annotation access.protected AnnotationPreferenceLookup
Returns the annotation preference lookup.protected MarkerAnnotationPreferences
Returns the annotation preferences.Returns this text editor's document provider.protected IOverviewRuler
Returns the overview ruler.protected final String
Returns the ruler's overview context menu id.protected ISharedTextColors
protected SourceViewerDecorationSupport
Returns the source viewer decoration support.protected IOperationApprover
getUndoRedoOperationApprover
(IUndoContext undoContext) Return anIOperationApprover
appropriate for approving the undo and redo of operations that have the specified undo context.gotoAnnotation
(boolean forward) Jumps to the next annotation according to the given direction.void
gotoMarker
(IMarker marker) Deprecated.visibility will be reduced, usegetAdapter(IGotoMarker.class) for accessing this method
protected void
Handles an external change of the editor's input element.protected void
Handles a property change event describing a change of the editor's preference store and updates the preference related editor properties.protected void
Hides the overview ruler.protected void
Initializes this editor.protected void
Initializes the key binding scopes of this editor.protected void
initializeLineNumberRulerColumn
(LineNumberRulerColumn rulerColumn) Initializes the given line number ruler column from the preference store.boolean
Returns the quick diff display state.boolean
Returns whether the text in this text editor can be changed by the user.protected boolean
isErrorStatus
(IStatus status) Returns whether the given status indicates an error.protected boolean
Returns whether the line number ruler column should be visible according to the preference store settings.protected boolean
isNavigationTarget
(Annotation annotation) Returns whether the given annotation is configured as a target for the "Go to Next/Previous Annotation" actions.protected boolean
Tells whether the overview ruler is visible.protected boolean
Returns whether the overwrite mode is enabled according to the preference store settings.protected boolean
Returns whether quick diff info should be visible upon opening an editor according to the preference store settings.protected boolean
Tells whether delete and backspace keys should remove multiple spaces as if they were a tab.protected boolean
Tells whether tabs should be converted to spaces while editing inside this editor.protected void
openSaveErrorDialog
(String title, String message, CoreException exception) Presents an error dialog to the user when a problem happens during save.protected void
Sets up the overview ruler context menu before it is made visible.protected void
performSaveAs
(IProgressMonitor progressMonitor) This implementation asks the user for the workspace path of a file resource and saves the document there.protected void
Sets up the ruler context menu before it is made visible.protected void
setDocumentProvider
(IEditorInput input) Hook method for setting the document provider for the given input.protected void
setOverviewRulerContextMenuId
(String contextMenuId) Sets the ruler's overview context menu id.void
showChangeInformation
(boolean show) Sets the display of quick diff information.protected void
Shows the overview ruler.void
showRevisionInformation
(RevisionInformation info, String quickDiffProviderId) Shows revision information in this editor.protected void
updateMarkerViews
(Annotation annotation) Updates visible views that show markers.boolean
Validates the state of the given editor input.Methods inherited from class org.eclipse.ui.texteditor.StatusTextEditor
doRevertToSaved, getStatusBanner, getStatusHeader, getStatusMessage, handleElementContentReplaced, sanityCheckState, setFocus, updatePartControl, updateStatusField
Methods inherited from class org.eclipse.ui.texteditor.AbstractTextEditor
addAction, addAction, addGroup, addRulerContextMenuListener, adjustHighlightRange, affectsTextPresentation, canHandleMove, close, configureInsertMode, containsSavedState, createEmptyNavigationLocation, createNavigationActions, createNavigationLocation, createUndoRedoActions, doGetSelection, doRestoreState, doSave, doSaveAs, doSetSelection, editorSaved, enableOverwriteMode, enableSanityChecking, enableStateValidation, findAnnotation, firePropertyChange, getAction, getActiveSaveables, getContextMenuListener, getCoverage, getCursorListener, getCursorPosition, getEditorContextMenuId, getFontPropertyPreferenceKey, getHelpContextId, getHighlightRange, getInitialWordWrapStatus, getInsertMode, getLegalInsertModes, getPreferenceStore, getProgressMonitor, getRangeIndicator, getRulerContextMenuId, getRulerMouseListener, getSaveables, getSelectionChangedListener, getSelectionProvider, getSourceViewer, getSourceViewerConfiguration, getStatusField, getStatusLineManager, getVerticalRuler, handleCursorPositionChanged, handleExceptionOnSave, handleInsertModeChanged, init, initializeDragAndDrop, initializeViewerColors, installCodeMiningProviders, installTabsToSpacesConverter, installTextDragAndDrop, internalInit, isBlockSelectionModeEnabled, isBlockSelectionModeSupported, isDirty, isEditorInputIncludedInContextMenu, isEditorInputModifiable, isEditorInputReadOnly, isInInsertMode, isSaveAsAllowed, isVisible, isWordWrapEnabled, isWordWrapSupported, markAsContentDependentAction, markAsPropertyDependentAction, markAsSelectionDependentAction, markAsStateDependentAction, markInNavigationHistory, modelOffset2WidgetOffset, performRevert, performSave, rememberSelection, removeActionActivationCode, removeRulerContextMenuListener, resetHighlightRange, restoreSelection, restoreState, safelySanityCheckState, saveState, selectAndReveal, selectAndReveal, setAction, setActionActivationCode, setBlockSelectionMode, setCompatibilityMode, setDocumentProvider, setEditorContextMenuId, setHelpContextId, setHighlightRange, setInput, setInputWithNotify, setInsertMode, setKeyBindingScopes, setPreferenceStore, setRangeIndicator, setRulerContextMenuId, setSourceViewerConfiguration, setStatusField, setStatusLineErrorMessage, setStatusLineMessage, setWordWrap, showHighlightRangeOnly, showsHighlightRangeOnly, uninstallTabsToSpacesConverter, uninstallTextDragAndDrop, updateContentDependentActions, updateContributedRulerColumns, updateIndentPrefixes, updatePropertyDependentActions, updateSelectionDependentActions, updateState, updateStateDependentActions, updateStatusFields, validateState, widgetOffset2ModelOffset
Methods inherited from class org.eclipse.ui.part.EditorPart
checkSite, getEditorInput, getEditorSite, getTitleToolTip, isSaveOnCloseNeeded, setContentDescription, setInitializationData, setPartName
Methods inherited from class org.eclipse.ui.part.WorkbenchPart
addPartPropertyListener, addPropertyListener, firePartPropertyChanged, getConfigurationElement, getContentDescription, getDefaultImage, getOrientation, getPartName, getPartProperties, getPartProperty, getSite, getTitle, getTitleImage, removePartPropertyListener, removePropertyListener, setPartProperty, setSite, setTitle, setTitleImage, setTitleToolTip, showBusy
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
Methods inherited from interface org.eclipse.ui.IEditorPart
getEditorInput, getEditorSite
Methods inherited from interface org.eclipse.ui.ISaveablePart
isSaveOnCloseNeeded
Methods inherited from interface org.eclipse.ui.IWorkbenchPart
addPropertyListener, getSite, getTitle, getTitleImage, getTitleToolTip, removePropertyListener
-
Field Details
-
DEFAULT_OVERVIEW_RULER_CONTEXT_MENU_ID
Menu id for the overview ruler context menu.- Since:
- 3.4
- See Also:
-
fOverviewRuler
The overview ruler of this editor.This field should not be referenced by subclasses. It is
protected
for API compatibility reasons and will be madeprivate
soon. UsegetOverviewRuler()
instead. -
fAnnotationAccess
Helper for accessing annotation from the perspective of this editor.This field should not be referenced by subclasses. It is
protected
for API compatibility reasons and will be madeprivate
soon. UsegetAnnotationAccess()
instead. -
fSourceViewerDecorationSupport
Helper for managing the decoration support of this editor's viewer.This field should not be referenced by subclasses. It is
protected
for API compatibility reasons and will be madeprivate
soon. UsegetSourceViewerDecorationSupport(ISourceViewer)
instead. -
fLineNumberRulerColumn
The line number column.This field should not be referenced by subclasses. It is
protected
for API compatibility reasons and will be madeprivate
soon. UseAbstractTextEditor.getVerticalRuler()
to access the vertical bar instead. -
fIsUpdatingMarkerViews
protected boolean fIsUpdatingMarkerViewsIndicates whether this editor is updating views that show markers.- Since:
- 3.2
- See Also:
-
-
Constructor Details
-
AbstractDecoratedTextEditor
public AbstractDecoratedTextEditor()Creates a new text editor.
-
-
Method Details
-
initializeEditor
protected void initializeEditor()Initializes this editor. Subclasses may re-implement. If sub-classes do not change the contract, this method should not be extended, i.e. do not callsuper.initializeEditor()
in order to avoid the temporary creation of objects that are immediately overwritten by subclasses. -
initializeKeyBindingScopes
protected void initializeKeyBindingScopes()Initializes the key binding scopes of this editor. -
dispose
public void dispose()Description copied from class:AbstractTextEditor
TheAbstractTextEditor
implementation of thisIWorkbenchPart
method may be extended by subclasses. Subclasses must callsuper.dispose()
.Note that many methods may return
null
after the editor is disposed.- Specified by:
dispose
in interfaceIWorkbenchPart
- Overrides:
dispose
in classAbstractTextEditor
-
createSourceViewer
Description copied from class:AbstractTextEditor
Creates the source viewer to be used by this editor. Subclasses may re-implement this method.- Overrides:
createSourceViewer
in classAbstractTextEditor
- Parameters:
parent
- the parent controlruler
- the vertical rulerstyles
- style bits,SWT.WRAP
is currently not supported- Returns:
- the source viewer
-
createAnnotationAccess
Creates the annotation access for this editor.- Returns:
- the created annotation access
-
configureSourceViewerDecorationSupport
Configures the decoration support for this editor's source viewer. Subclasses may override this method, but should call their superclass' implementation at some point.- Parameters:
support
- the decoration support to configure
-
createPartControl
Description copied from class:AbstractTextEditor
TheAbstractTextEditor
implementation of thisIWorkbenchPart
method creates the vertical ruler and source viewer.Subclasses may extend this method. Besides extending this method, the behavior of
createPartControl
may be customized by calling, extending or replacing the following methods:
Subclasses may supply customized implementations for some members using the following methods beforecreatePartControl
is invoked:- setSourceViewerConfiguration to supply a custom source viewer configuration,
- setRangeIndicator to provide a range indicator,
- setHelpContextId to provide a help context id,
- setEditorContextMenuId to set a custom context menu id,
- setRulerContextMenuId to set a custom ruler context menu id.
Subclasses may replace the following methods called from withincreatePartControl
:- createVerticalRuler to supply a custom vertical ruler,
- createSourceViewer to supply a custom source viewer,
- getSelectionProvider to supply a custom selection provider.
Subclasses may extend the following methods called from withincreatePartControl
:- initializeViewerColors to customize the viewer color scheme (may also be replaced),
- initializeDragAndDrop to customize drag and drop (may also be replaced),
- createNavigationActions to add navigation actions,
- createActions to add text editor actions.
- Specified by:
createPartControl
in interfaceIWorkbenchPart
- Overrides:
createPartControl
in classStatusTextEditor
- Parameters:
parent
- the parent composite
-
createOverviewRulerContextMenu
protected void createOverviewRulerContextMenu()Creates the context menu for the overview ruler.Subclasses may extend or replace this method.
- Since:
- 3.4
-
createContextMenuListener
Description copied from class:AbstractTextEditor
Creates the listener on this editor's context menus.- Overrides:
createContextMenuListener
in classAbstractTextEditor
- Returns:
- the created menu listener
-
createStatusControl
Description copied from class:StatusTextEditor
Creates the status control for the given status. May be overridden by subclasses.- Overrides:
createStatusControl
in classStatusTextEditor
- Parameters:
parent
- the parent controlstatus
- the status- Returns:
- the new status control
-
isOverviewRulerVisible
protected boolean isOverviewRulerVisible()Tells whether the overview ruler is visible.- Returns:
- whether the overview ruler is visible
-
showChangeInformation
public void showChangeInformation(boolean show) Description copied from interface:ITextEditorExtension3
Sets the display of quick diff information.- Specified by:
showChangeInformation
in interfaceITextEditorExtension3
- Overrides:
showChangeInformation
in classAbstractTextEditor
- Parameters:
show
-true
if quick diff information should be shown,false
otherwise
-
isChangeInformationShowing
public boolean isChangeInformationShowing()Description copied from interface:ITextEditorExtension3
Returns the quick diff display state.- Specified by:
isChangeInformationShowing
in interfaceITextEditorExtension3
- Overrides:
isChangeInformationShowing
in classAbstractTextEditor
- Returns:
true
if quick diff info is displayed,false
otherwise
-
showRevisionInformation
Description copied from interface:ITextEditorExtension4
Shows revision information in this editor.- Specified by:
showRevisionInformation
in interfaceITextEditorExtension4
- Overrides:
showRevisionInformation
in classAbstractTextEditor
- Parameters:
info
- the revision information to displayquickDiffProviderId
- the quick diff provider that matches the source of the revision information
-
isLineNumberRulerVisible
protected boolean isLineNumberRulerVisible()Returns whether the line number ruler column should be visible according to the preference store settings. Subclasses may override this method to provide a custom preference setting.- Returns:
true
if the line numbers should be visible
-
isOverwriteModeEnabled
protected boolean isOverwriteModeEnabled()Returns whether the overwrite mode is enabled according to the preference store settings. Subclasses may override this method to provide a custom preference setting.- Returns:
true
if overwrite mode is enabled- Since:
- 3.1
-
isPrefQuickDiffAlwaysOn
protected boolean isPrefQuickDiffAlwaysOn()Returns whether quick diff info should be visible upon opening an editor according to the preference store settings.- Returns:
true
if the line numbers should be visible
-
initializeLineNumberRulerColumn
Initializes the given line number ruler column from the preference store.- Parameters:
rulerColumn
- the ruler column to be initialized
-
createLineNumberRulerColumn
Creates a new line number ruler column that is appropriately initialized.- Returns:
- the created line number column
-
createChangeHover
Creates and returns aLineChangeHover
to be used on this editor's change ruler column. This default implementation returns a plainLineChangeHover
. Subclasses may override.- Returns:
- the change hover to be used by this editors quick diff display
-
createChangeRulerColumn
Deprecated.as of 3.3. Not called any longer, replaced bycreateLineNumberRulerColumn()
Creates a new change ruler column for quick diff display independent of the line number ruler column- Returns:
- a new change ruler column
-
createVerticalRuler
ReturnscreateCompositeRuler()
. Subclasses should not override this method, but rathercreateCompositeRuler
if they want to contribute their own vertical ruler implementation. If not an instance ofCompositeRuler
is returned, the built-in ruler columns (line numbers, annotations) will not work.May become
final
in the future.- Overrides:
createVerticalRuler
in classAbstractTextEditor
- Returns:
- the vertical ruler
- See Also:
-
createCompositeRuler
Creates a composite ruler to be used as the vertical ruler by this editor. Subclasses may re-implement this method.- Returns:
- the vertical ruler
-
createAnnotationRulerColumn
Creates the annotation ruler column. Subclasses may re-implement or extend.- Parameters:
ruler
- the composite ruler that the column will be added- Returns:
- an annotation ruler column
- Since:
- 3.2
-
createColumnSupport
Description copied from class:AbstractTextEditor
Creates the column support to be used by this editor to manage the contributed ruler columns. Subclasses may re-implement this method using theAbstractTextEditor.ColumnSupport
, e.g. by returningnew ColumnSupport(this, RulerColumnRegistry.getDefault());
.Note: If you override this method to provide column support you will also need to override
AbstractTextEditor.createVerticalRuler()
to return aCompositeRuler
.Out of the box this class does not install this support and hence this implementation always returns
null
.- Overrides:
createColumnSupport
in classAbstractTextEditor
- Returns:
- the column support or
null
if none
-
handlePreferenceStoreChanged
Description copied from class:AbstractTextEditor
Handles a property change event describing a change of the editor's preference store and updates the preference related editor properties.Subclasses may extend.
- Overrides:
handlePreferenceStoreChanged
in classAbstractTextEditor
- Parameters:
event
- the property change event
-
showOverviewRuler
protected void showOverviewRuler()Shows the overview ruler. -
hideOverviewRuler
protected void hideOverviewRuler()Hides the overview ruler. -
getAnnotationAccess
Returns the annotation access.- Returns:
- the annotation access
-
getAnnotationPreferenceLookup
Returns the annotation preference lookup.- Returns:
- the annotation preference lookup
-
getOverviewRuler
Returns the overview ruler.- Returns:
- the overview ruler
-
getSourceViewerDecorationSupport
Returns the source viewer decoration support.- Parameters:
viewer
- the viewer for which to return a decoration support- Returns:
- the source viewer decoration support
-
getAnnotationPreferences
Returns the annotation preferences.- Returns:
- the annotation preferences
-
gotoMarker
Deprecated.visibility will be reduced, usegetAdapter(IGotoMarker.class) for accessing this method
If the editor can be saved all marker ranges have been changed according to the text manipulations. However, those changes are not yet propagated to the marker manager. Thus, when opening a marker, the marker's position in the editor must be determined as it might differ from the position stated in the marker.- Parameters:
marker
- the marker to go to
-
isEditable
public boolean isEditable()Description copied from interface:ITextEditor
Returns whether the text in this text editor can be changed by the user.- Specified by:
isEditable
in interfaceITextEditor
- Overrides:
isEditable
in classAbstractTextEditor
- Returns:
true
if it can be edited, andfalse
if it is read-only
-
validateEditorInputState
public boolean validateEditorInputState()Description copied from interface:ITextEditorExtension2
Validates the state of the given editor input. The predominate intent of this method is to take any action probably necessary to ensure that the input can persistently be changed.- Specified by:
validateEditorInputState
in interfaceITextEditorExtension2
- Overrides:
validateEditorInputState
in classStatusTextEditor
- Returns:
true
if the input was validated,false
otherwise
-
isErrorStatus
Description copied from class:StatusTextEditor
Returns whether the given status indicates an error. Subclasses may override.- Overrides:
isErrorStatus
in classStatusTextEditor
- Parameters:
status
- the status to be checked- Returns:
true
if the status indicates an error,false
otherwise\
-
createActions
protected void createActions()Description copied from class:AbstractTextEditor
Creates this editor's standard actions and connects them with the global workbench actions.Subclasses may extend.
- Overrides:
createActions
in classAbstractTextEditor
-
getAdapter
Description copied from class:WorkbenchPart
Returns an object which is an instance of the given class associated with this object. Returnsnull
if no such object can be found.Clients may implement this method but should generally call
Adapters.adapt(Object, Class, boolean)
rather than invoking it directly. Subclasses may override this method (however, if they do so, they should invoke the method on their superclass to ensure that the Platform's adapter manager is consulted).- Specified by:
getAdapter
in interfaceIAdaptable
- Overrides:
getAdapter
in classAbstractTextEditor
- Type Parameters:
T
- the class type- Parameters:
adapter
- the adapter class to look up- Returns:
- a object of the given class, or
null
if this object does not have an adapter for the given class
-
setDocumentProvider
Description copied from class:AbstractTextEditor
Hook method for setting the document provider for the given input. This default implementation does nothing. Clients may reimplement.- Overrides:
setDocumentProvider
in classAbstractTextEditor
- Parameters:
input
- the input of this editor.
-
getDocumentProvider
Description copied from interface:ITextEditor
Returns this text editor's document provider.- Specified by:
getDocumentProvider
in interfaceITextEditor
- Overrides:
getDocumentProvider
in classAbstractTextEditor
- Returns:
- the document provider or
null
if none, e.g. after closing the editor
-
disposeDocumentProvider
protected void disposeDocumentProvider()Description copied from class:AbstractTextEditor
Disposes of the connection with the document provider. Subclasses may extend.- Overrides:
disposeDocumentProvider
in classAbstractTextEditor
-
doSetInput
Description copied from class:AbstractTextEditor
Called directly fromsetInput
and from within a workspace runnable frominit
, this method does the actual setting of the editor input. Closes the editor ifinput
isnull
. Disconnects from any previous editor input and its document provider and connects to the new one.Subclasses may extend.
- Overrides:
doSetInput
in classStatusTextEditor
- Parameters:
input
- the input to be set- Throws:
CoreException
- if input cannot be connected to the document provider
-
handleEditorInputChanged
protected void handleEditorInputChanged()Description copied from class:AbstractTextEditor
Handles an external change of the editor's input element. Subclasses may extend.- Overrides:
handleEditorInputChanged
in classStatusTextEditor
-
performSaveAs
This implementation asks the user for the workspace path of a file resource and saves the document there.- Overrides:
performSaveAs
in classAbstractTextEditor
- Parameters:
progressMonitor
- the progress monitor to be used- Since:
- 3.2
-
openSaveErrorDialog
Presents an error dialog to the user when a problem happens during save.Overrides the default behavior by showing a more advanced error dialog in case of encoding problems.
- Overrides:
openSaveErrorDialog
in classAbstractTextEditor
- Parameters:
title
- the dialog titlemessage
- the message to displayexception
- the exception to handle- Since:
- 3.6
-
setOverviewRulerContextMenuId
Sets the ruler's overview context menu id.- Parameters:
contextMenuId
- the overview ruler context menu id- Since:
- 3.4
-
getOverviewRulerContextMenuId
Returns the ruler's overview context menu id. May returnnull
before the editor's part has been created.- Returns:
- the ruler's context menu id which may be
null
- Since:
- 3.4
-
overviewRulerContextMenuAboutToShow
Sets up the overview ruler context menu before it is made visible.Subclasses may extend to add other actions.
- Parameters:
menu
- the menu- Since:
- 3.4
-
rulerContextMenuAboutToShow
Description copied from class:AbstractTextEditor
Sets up the ruler context menu before it is made visible.Subclasses may extend to add other actions.
- Overrides:
rulerContextMenuAboutToShow
in classAbstractTextEditor
- Parameters:
menu
- the menu
-
editorContextMenuAboutToShow
Description copied from class:AbstractTextEditor
Sets up this editor's context menu before it is made visible.Subclasses may extend to add other actions.
- Overrides:
editorContextMenuAboutToShow
in classAbstractTextEditor
- Parameters:
menu
- the menu
-
createShowInTargetList
Creates and returns the list of target part IDs for the Show In menu- Returns:
- the 'Show In' target part IDs
- Since:
- 3.13
-
collectContextMenuPreferencePages
Returns the preference page ids of the preference pages to be shown when executing the preferences action from the editor context menu. The first page will be selected.Subclasses may extend or replace.
- Returns:
- the preference page ids to show, may be empty
- Since:
- 3.1
-
collectRulerMenuPreferencePages
Returns the preference page ids of the preference pages to be shown when executing the preferences action from the editor ruler context menu. The first page will be selected.The default is to return the same list as
collectContextMenuPreferencePages
.Subclasses may extend or replace.
- Returns:
- the preference page ids to show, may be empty
- Since:
- 3.1
-
collectOverviewRulerMenuPreferencePages
Returns the preference page ids of the preference pages to be shown when executing the preferences action from the editor overview ruler context menu. The first page will be selected.The default is to select the 'Annotations' preference page.
Subclasses may extend or replace.
- Returns:
- the preference page ids to show, may be empty
- Since:
- 3.4
-
getUndoRedoOperationApprover
Description copied from class:AbstractTextEditor
Return anIOperationApprover
appropriate for approving the undo and redo of operations that have the specified undo context.Subclasses may override.
- Overrides:
getUndoRedoOperationApprover
in classAbstractTextEditor
- Parameters:
undoContext
- the IUndoContext of operations that should be examined by the operation approver- Returns:
- the
IOperationApprover
appropriate for approving undo and redo operations inside this editor, ornull
if no approval is needed
-
gotoAnnotation
Jumps to the next annotation according to the given direction.This extended implementation updates views that also show the select marker annotation.
- Specified by:
gotoAnnotation
in interfaceITextEditorExtension4
- Overrides:
gotoAnnotation
in classAbstractTextEditor
- Parameters:
forward
-true
if search direction is forward,false
if backward- Returns:
- the selected annotation or
null
if none - Since:
- 3.2
- See Also:
-
updateMarkerViews
Updates visible views that show markers.If the given annotation can be associated with a marker then this method tries select the this marker in views that show markers.
- Parameters:
annotation
- the annotation- Since:
- 3.2
-
isTabsToSpacesConversionEnabled
protected boolean isTabsToSpacesConversionEnabled()Description copied from class:AbstractTextEditor
Tells whether tabs should be converted to spaces while editing inside this editor.Subclasses may override this method.
- Overrides:
isTabsToSpacesConversionEnabled
in classAbstractTextEditor
- Returns:
true
if tabs should be converted to spaces
-
isSpacesAsTabsDeletionEnabled
protected boolean isSpacesAsTabsDeletionEnabled()Description copied from class:AbstractTextEditor
Tells whether delete and backspace keys should remove multiple spaces as if they were a tab. Only relevant whenAbstractTextEditor.isTabsToSpacesConversionEnabled()
returns true.Subclasses may override this method.
- Overrides:
isSpacesAsTabsDeletionEnabled
in classAbstractTextEditor
- Returns:
true
if spaces should be removed as tabs- Since:
- 3.13
-