Class AbstractDecoratedTextEditor
- java.lang.Object
-
- org.eclipse.core.commands.common.EventManager
-
- org.eclipse.ui.part.WorkbenchPart
-
- org.eclipse.ui.part.EditorPart
-
- org.eclipse.ui.texteditor.AbstractTextEditor
-
- org.eclipse.ui.texteditor.StatusTextEditor
-
- org.eclipse.ui.texteditor.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
public abstract class AbstractDecoratedTextEditor extends StatusTextEditor
An intermediate editor comprising functionality not present in the leanerAbstractTextEditor
, 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
Fields Modifier and Type Field Description static String
DEFAULT_OVERVIEW_RULER_CONTEXT_MENU_ID
Menu id for the overview ruler context menu.protected IAnnotationAccess
fAnnotationAccess
Helper for accessing annotation from the perspective of this editor.protected boolean
fIsUpdatingMarkerViews
Indicates whether this editor is updating views that show markers.protected LineNumberRulerColumn
fLineNumberRulerColumn
The line number column.protected IOverviewRuler
fOverviewRuler
The overview ruler of this editor.protected SourceViewerDecorationSupport
fSourceViewerDecorationSupport
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
Constructors Constructor Description AbstractDecoratedTextEditor()
Creates a new text editor.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description protected String[]
collectContextMenuPreferencePages()
Returns the preference page ids of the preference pages to be shown when executing the preferences action from the editor context menu.protected String[]
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.protected String[]
collectRulerMenuPreferencePages()
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
configureSourceViewerDecorationSupport(SourceViewerDecorationSupport support)
Configures the decoration support for this editor's source viewer.protected void
createActions()
Creates this editor's standard actions and connects them with the global workbench actions.protected IAnnotationAccess
createAnnotationAccess()
Creates the annotation access for this editor.protected IVerticalRulerColumn
createAnnotationRulerColumn(CompositeRuler ruler)
Creates the annotation ruler column.protected LineChangeHover
createChangeHover()
Creates and returns aLineChangeHover
to be used on this editor's change ruler column.protected IChangeRulerColumn
createChangeRulerColumn()
Deprecated.as of 3.3.protected IColumnSupport
createColumnSupport()
Creates the column support to be used by this editor to manage the contributed ruler columns.protected CompositeRuler
createCompositeRuler()
Creates a composite ruler to be used as the vertical ruler by this editor.protected IMenuListener
createContextMenuListener()
Creates the listener on this editor's context menus.protected IVerticalRulerColumn
createLineNumberRulerColumn()
Creates a new line number ruler column that is appropriately initialized.protected IOverviewRuler
createOverviewRuler(ISharedTextColors sharedColors)
protected void
createOverviewRulerContextMenu()
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[]
createShowInTargetList()
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
createVerticalRuler()
ReturnscreateCompositeRuler()
.void
dispose()
TheAbstractTextEditor
implementation of thisIWorkbenchPart
method may be extended by subclasses.protected void
disposeDocumentProvider()
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
editorContextMenuAboutToShow(IMenuManager menu)
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
getAnnotationAccess()
Returns the annotation access.protected AnnotationPreferenceLookup
getAnnotationPreferenceLookup()
Returns the annotation preference lookup.protected MarkerAnnotationPreferences
getAnnotationPreferences()
Returns the annotation preferences.IDocumentProvider
getDocumentProvider()
Returns this text editor's document provider.protected IOverviewRuler
getOverviewRuler()
Returns the overview ruler.protected String
getOverviewRulerContextMenuId()
Returns the ruler's overview context menu id.protected ISharedTextColors
getSharedColors()
protected SourceViewerDecorationSupport
getSourceViewerDecorationSupport(ISourceViewer viewer)
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.Annotation
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
handleEditorInputChanged()
Handles an external change of the editor's input element.protected void
handlePreferenceStoreChanged(PropertyChangeEvent event)
Handles a property change event describing a change of the editor's preference store and updates the preference related editor properties.protected void
hideOverviewRuler()
Hides the overview ruler.protected void
initializeEditor()
Initializes this editor.protected void
initializeKeyBindingScopes()
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
isChangeInformationShowing()
Returns the quick diff display state.boolean
isEditable()
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
isLineNumberRulerVisible()
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
isOverviewRulerVisible()
Tells whether the overview ruler is visible.protected boolean
isOverwriteModeEnabled()
Returns whether the overwrite mode is enabled according to the preference store settings.protected boolean
isPrefQuickDiffAlwaysOn()
Returns whether quick diff info should be visible upon opening an editor according to the preference store settings.protected boolean
isSpacesAsTabsDeletionEnabled()
Tells whether delete and backspace keys should remove multiple spaces as if they were a tab.protected boolean
isTabsToSpacesConversionEnabled()
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
overviewRulerContextMenuAboutToShow(IMenuManager menu)
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
rulerContextMenuAboutToShow(IMenuManager menu)
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
showOverviewRuler()
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
validateEditorInputState()
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 Detail
-
DEFAULT_OVERVIEW_RULER_CONTEXT_MENU_ID
public static final String DEFAULT_OVERVIEW_RULER_CONTEXT_MENU_ID
Menu id for the overview ruler context menu.- Since:
- 3.4
- See Also:
- Constant Field Values
-
fOverviewRuler
protected IOverviewRuler 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
protected IAnnotationAccess 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
protected SourceViewerDecorationSupport 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
protected LineNumberRulerColumn 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 fIsUpdatingMarkerViews
Indicates whether this editor is updating views that show markers.- Since:
- 3.2
- See Also:
updateMarkerViews(Annotation)
-
-
Constructor Detail
-
AbstractDecoratedTextEditor
public AbstractDecoratedTextEditor()
Creates a new text editor.- See Also:
initializeEditor()
,initializeKeyBindingScopes()
-
-
Method Detail
-
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
protected ISourceViewer createSourceViewer(Composite parent, IVerticalRuler ruler, int styles)
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
-
getSharedColors
protected ISharedTextColors getSharedColors()
-
createOverviewRuler
protected IOverviewRuler createOverviewRuler(ISharedTextColors sharedColors)
-
createAnnotationAccess
protected IAnnotationAccess createAnnotationAccess()
Creates the annotation access for this editor.- Returns:
- the created annotation access
-
configureSourceViewerDecorationSupport
protected void configureSourceViewerDecorationSupport(SourceViewerDecorationSupport support)
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
public void createPartControl(Composite parent)
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
protected IMenuListener 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
protected Control createStatusControl(Composite parent, IStatus status)
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
public void showRevisionInformation(RevisionInformation info, String quickDiffProviderId)
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
protected void initializeLineNumberRulerColumn(LineNumberRulerColumn rulerColumn)
Initializes the given line number ruler column from the preference store.- Parameters:
rulerColumn
- the ruler column to be initialized
-
createLineNumberRulerColumn
protected IVerticalRulerColumn createLineNumberRulerColumn()
Creates a new line number ruler column that is appropriately initialized.- Returns:
- the created line number column
-
createChangeHover
protected LineChangeHover 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 protected IChangeRulerColumn 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
protected IVerticalRuler 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:
AbstractTextEditor.createVerticalRuler()
-
createCompositeRuler
protected CompositeRuler 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
protected IVerticalRulerColumn createAnnotationRulerColumn(CompositeRuler ruler)
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
protected final IColumnSupport 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
protected void handlePreferenceStoreChanged(PropertyChangeEvent event)
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
protected IAnnotationAccess getAnnotationAccess()
Returns the annotation access.- Returns:
- the annotation access
-
getAnnotationPreferenceLookup
protected AnnotationPreferenceLookup getAnnotationPreferenceLookup()
Returns the annotation preference lookup.- Returns:
- the annotation preference lookup
-
getOverviewRuler
protected IOverviewRuler getOverviewRuler()
Returns the overview ruler.- Returns:
- the overview ruler
-
getSourceViewerDecorationSupport
protected SourceViewerDecorationSupport getSourceViewerDecorationSupport(ISourceViewer viewer)
Returns the source viewer decoration support.- Parameters:
viewer
- the viewer for which to return a decoration support- Returns:
- the source viewer decoration support
-
getAnnotationPreferences
protected MarkerAnnotationPreferences getAnnotationPreferences()
Returns the annotation preferences.- Returns:
- the annotation preferences
-
gotoMarker
@Deprecated public void gotoMarker(IMarker marker)
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
protected boolean isErrorStatus(IStatus status)
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
public <T> T getAdapter(Class<T> adapter)
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
protected void setDocumentProvider(IEditorInput input)
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
public IDocumentProvider 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
protected void doSetInput(IEditorInput input) throws CoreException
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
protected void performSaveAs(IProgressMonitor progressMonitor)
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
protected void openSaveErrorDialog(String title, String message, CoreException exception)
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
protected void setOverviewRulerContextMenuId(String contextMenuId)
Sets the ruler's overview context menu id.- Parameters:
contextMenuId
- the overview ruler context menu id- Since:
- 3.4
-
getOverviewRulerContextMenuId
protected final String 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
protected void overviewRulerContextMenuAboutToShow(IMenuManager menu)
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
protected void rulerContextMenuAboutToShow(IMenuManager menu)
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
protected void editorContextMenuAboutToShow(IMenuManager menu)
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
protected String[] 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
protected String[] 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
protected String[] 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
protected String[] 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
protected IOperationApprover getUndoRedoOperationApprover(IUndoContext undoContext)
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
-
isNavigationTarget
protected boolean isNavigationTarget(Annotation annotation)
Returns whether the given annotation is configured as a target for the "Go to Next/Previous Annotation" actions.The annotation is a target if their annotation type is configured to be in the Next/Previous tool bar drop down menu and if it is checked.
- Overrides:
isNavigationTarget
in classAbstractTextEditor
- Parameters:
annotation
- the annotation- Returns:
true
if this is a target,false
otherwise- Since:
- 3.2
-
gotoAnnotation
public Annotation gotoAnnotation(boolean forward)
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:
AbstractTextEditor.isNavigationTarget(Annotation)
,AbstractTextEditor.findAnnotation(int, int, boolean, Position)
-
updateMarkerViews
protected void updateMarkerViews(Annotation annotation)
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
-
-