Eclipse Platform
Release 3.0

org.eclipse.ui.texteditor
Class AbstractTextEditor

java.lang.Object
  extended byorg.eclipse.ui.part.WorkbenchPart
      extended byorg.eclipse.ui.part.EditorPart
          extended byorg.eclipse.ui.texteditor.AbstractTextEditor
All Implemented Interfaces:
IAdaptable, IEditorPart, IExecutableExtension, INavigationLocationProvider, IReusableEditor, ISaveablePart, ITextEditor, ITextEditorExtension, ITextEditorExtension2, ITextEditorExtension3, IWorkbenchPart, IWorkbenchPart2
Direct Known Subclasses:
StatusTextEditor

public abstract class AbstractTextEditor
extends EditorPart
implements ITextEditor, IReusableEditor, ITextEditorExtension, ITextEditorExtension2, ITextEditorExtension3, INavigationLocationProvider

Abstract base implementation of a text editor.

Subclasses are responsible for configuring the editor appropriately. The standard text editor, TextEditor, is one such example.

If a subclass calls setEditorContextMenuId the arguments is used as the id under which the editor's context menu is registered for extensions. If no id is set, the context menu is registered under [editor_id].EditorContext whereby [editor_id] is replaced with the editor's part id. If the editor is instructed to run in version 1.0 context menu registration compatibility mode, the latter form of the registration even happens if a context menu id has been set via setEditorContextMenuId. If no id is set while in compatibility mode, the menu is registered under DEFAULT_EDITOR_CONTEXT_MENU_ID.

If a subclass calls setRulerContextMenuId the argument is used as the id under which the ruler's context menu is registered for extensions. If no id is set, the context menu is registered under [editor_id].RulerContext whereby [editor_id] is replaced with the editor's part id. If the editor is instructed to run in version 1.0 context menu registration compatibility mode, the latter form of the registration even happens if a context menu id has been set via setRulerContextMenuId. If no id is set while in compatibility mode, the menu is registered under DEFAULT_RULER_CONTEXT_MENU_ID.

See Also:
TextEditor

Nested Class Summary
protected  class AbstractTextEditor.AbstractSelectionChangedListener
          Internal implementation class for a change listener.
protected  class AbstractTextEditor.LineStartAction
          This action implements smart home.
 
Nested classes inherited from class org.eclipse.ui.texteditor.ITextEditorExtension3
ITextEditorExtension3.InsertMode
 
Field Summary
protected static org.eclipse.ui.texteditor.AbstractTextEditor.IdMapEntry[] ACTION_MAP
          The complete mapping between action definition IDs used by eclipse and StyledText actions.
static String DEFAULT_EDITOR_CONTEXT_MENU_ID
          Menu id for the editor context menu.
static String DEFAULT_RULER_CONTEXT_MENU_ID
          Menu id for the ruler context menu.
protected  String fErrorLabel
          The error message shown in the status line in case of failed information look up.
static String PREFERENCE_COLOR_BACKGROUND
          Key used to look up background color preference.
static String PREFERENCE_COLOR_BACKGROUND_SYSTEM_DEFAULT
          Key used to look up background color system default preference.
static String PREFERENCE_COLOR_FIND_SCOPE
          Key used to look up find scope background color preference.
static String PREFERENCE_COLOR_FOREGROUND
          Key used to look up foreground color preference.
static String PREFERENCE_COLOR_FOREGROUND_SYSTEM_DEFAULT
          Key used to look up foreground color system default preference.
static String PREFERENCE_COLOR_SELECTION_BACKGROUND
          Key used to look up selection background color preference.
static String PREFERENCE_COLOR_SELECTION_BACKGROUND_SYSTEM_DEFAULT
          Key used to look up selection background color system default preference.
static String PREFERENCE_COLOR_SELECTION_FOREGROUND
          Key used to look up selection foreground color preference.
static String PREFERENCE_COLOR_SELECTION_FOREGROUND_SYSTEM_DEFAULT
          Key used to look up selection foreground color system default preference.
static String PREFERENCE_FONT
          Deprecated. As of 2.1, replaced by JFaceResources.TEXT_FONT
static String PREFERENCE_NAVIGATION_SMART_HOME_END
          Key used to look up smart home/end preference.
static String PREFERENCE_USE_CUSTOM_CARETS
          Key used to look up the custom caret preference.
static String PREFERENCE_WIDE_CARET
          Key used to look up the caret width preference.
protected static int VERTICAL_RULER_WIDTH
          The width of the vertical ruler.
 
Fields inherited from interface org.eclipse.ui.IEditorPart
PROP_DIRTY, PROP_INPUT
 
Fields inherited from interface org.eclipse.ui.IWorkbenchPart
PROP_TITLE
 
Fields inherited from interface org.eclipse.ui.texteditor.ITextEditorExtension3
INSERT, SMART_INSERT
 
Constructor Summary
protected AbstractTextEditor()
          Creates a new text editor.
 
Method Summary
protected  void addAction(IMenuManager menu, String actionId)
          Convenience method to add the action installed under the given action id to the given menu.
protected  void addAction(IMenuManager menu, String group, String actionId)
          Convenience method to add the action installed under the given action id to the specified group of the menu.
protected  void addGroup(IMenuManager menu, String existingGroup, String newGroup)
          Convenience method to add a new group after the specified group.
 void addRulerContextMenuListener(IMenuListener listener)
          Adds a ruler context menu listener to the editor.
protected  void adjustHighlightRange(int offset, int length)
          Adjusts the highlight range so that at least the specified range is highlighted.
protected  boolean affectsTextPresentation(PropertyChangeEvent event)
          Determines whether the given preference change affects the editor's presentation.
protected  boolean canHandleMove(IEditorInput originalElement, IEditorInput movedElement)
          Returns whether this editor can handle the move of the original element so that it ends up being the moved element.
 void close(boolean save)
          Closes this text editor after optionally saving changes.
protected  void configureInsertMode(ITextEditorExtension3.InsertMode mode, boolean legal)
          Configures the given insert mode as legal or illegal.
protected  void createActions()
          Creates this editor's standard actions and connects them with the global workbench actions.
 INavigationLocation createEmptyNavigationLocation()
          Creates an empty navigation location.
protected  void createNavigationActions()
          Creates action entries for all SWT StyledText actions as defined in org.eclipse.swt.custom.ST.
 INavigationLocation createNavigationLocation()
          Creates a navigation location describing the current state.
 void createPartControl(Composite parent)
          The AbstractTextEditor implementation of this IWorkbenchPart method creates the vertical ruler and source viewer.
protected  ISourceViewer createSourceViewer(Composite parent, IVerticalRuler ruler, int styles)
          Creates the source viewer to be used by this editor.
protected  IVerticalRuler createVerticalRuler()
          Creates the vertical ruler to be used by this editor.
 void dispose()
          The AbstractTextEditor implementation of this IWorkbenchPart method may be extended by subclasses.
protected  void disposeDocumentProvider()
          Disposes of the connection with the document provider.
protected  ISelection doGetSelection()
          Returns the current selection.
 void doRevertToSaved()
          The AbstractTextEditor implementation of this ITextEditor method may be extended by subclasses.
 void doSave(IProgressMonitor progressMonitor)
          The AbstractTextEditor implementation of this IEditorPart method may be extended by subclasses.
 void doSaveAs()
          The AbstractTextEditor implementation of this IEditorPart method calls performSaveAs.
protected  void doSetInput(IEditorInput input)
          Called directly from setInput and from within a workspace runnable from init, this method does the actual setting of the editor input.
protected  void doSetSelection(ISelection selection)
          Sets the given selection.
protected  void editorContextMenuAboutToShow(IMenuManager menu)
          Sets up this editor's context menu before it is made visible.
protected  void editorSaved()
          Hook which gets called when the editor has been saved.
protected  void enableOverwriteMode(boolean enable)
          Sets the overwrite mode enablement.
protected  void enableSanityChecking(boolean enable)
          Enables/disables sanity checking.
protected  void enableStateValidation(boolean enable)
          Enables/disables state validation.
protected  void firePropertyChange(int property)
          Fires a property changed event.
 IAction getAction(String actionID)
          Returns the action installed under the given action id.
 Object getAdapter(Class required)
          Returns an object which is an instance of the given class associated with this object.
protected  IMenuListener getContextMenuListener()
          Creates and returns the listener on this editor's context menus.
protected static IRegion getCoverage(ISourceViewer viewer)
          Returns the minimal region of the given source viewer's document that completely comprises everything that is visible in the viewer's widget.
protected  org.eclipse.ui.texteditor.AbstractTextEditor.ICursorListener getCursorListener()
          Returns this editor's "cursor" listener to be installed on the editor's source viewer.
protected  String getCursorPosition()
          Returns a description of the cursor position.
 IDocumentProvider getDocumentProvider()
          Returns this text editor's document provider.
protected  String getEditorContextMenuId()
          Returns the editor's context menu id.
protected  String getFontPropertyPreferenceKey()
          Returns the property preference key for the editor font.
protected  String getHelpContextId()
          Returns the editor's help context id or null if none has been set.
 IRegion getHighlightRange()
          Returns the highlighted range of this text editor.
 ITextEditorExtension3.InsertMode getInsertMode()
          Returns the current input mode of this editor.
protected  List getLegalInsertModes()
          Returns the set of legal insert modes.
protected  IPreferenceStore getPreferenceStore()
          Returns this editor's preference store or null if none has been set.
protected  IProgressMonitor getProgressMonitor()
          Returns the progress monitor related to this editor.
protected  Annotation getRangeIndicator()
          Returns the editor's range indicator.
protected  String getRulerContextMenuId()
          Returns the ruler's context menu id.
protected  MouseListener getRulerMouseListener()
          Creates and returns the listener on this editor's vertical ruler.
protected  ISelectionChangedListener getSelectionChangedListener()
          Returns this editor's selection changed listener to be installed on the editor's source viewer.
 ISelectionProvider getSelectionProvider()
          Returns this text editor's selection provider. Repeated calls to this method return the same selection provider. Returns null after disposal.
protected  ISourceViewer getSourceViewer()
          Returns the editor's source viewer.
protected  SourceViewerConfiguration getSourceViewerConfiguration()
          Returns the editor's source viewer configuration.
protected  IStatusField getStatusField(String category)
          Returns the current status field for the given status category.
protected  IVerticalRuler getVerticalRuler()
          Returns the editor's vertical ruler.
protected  void handleCursorPositionChanged()
          Handles a potential change of the cursor position.
protected  void handleEditorInputChanged()
          Handles an external change of the editor's input element.
protected  void handleElementContentReplaced()
          Performs any additional action necessary to perform after the input document's content has been replaced.
protected  void handleExceptionOnSave(CoreException exception, IProgressMonitor progressMonitor)
          Handles the given exception.
protected  void handleInsertModeChanged()
          Handles a change of the editor's insert mode.
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.
 void init(IEditorSite site, IEditorInput input)
          Initializes this editor with the given editor site and input.
protected  void initializeDragAndDrop(ISourceViewer viewer)
          Initializes the drag and drop support for the given viewer based on provided editor adapter for drop target listeners.
protected  void initializeViewerColors(ISourceViewer viewer)
          Initializes the fore- and background colors of the given viewer for both normal and selected text.
protected  void internalInit(IWorkbenchWindow window, IEditorSite site, IEditorInput input)
          Implements the init method of IEditorPart.
 boolean isChangeInformationShowing()
          Returns the quick diff display state.
 boolean isDirty()
          Returns whether the contents of this part have changed since the last save operation.
 boolean isEditable()
          Returns whether the text in this text editor can be changed by the user.
 boolean isEditorInputModifiable()
          Returns whether the editor's input can be persistently be modified.
 boolean isEditorInputReadOnly()
          Returns whether the editor's input is read-only.
protected  boolean isInInsertMode()
          Returns whether this editor is in overwrite or insert mode.
 boolean isSaveAsAllowed()
          The AbstractTextEditor implementation of this IEditorPart method returns false.
 boolean isSaveOnCloseNeeded()
          Returns whether the contents of this part should be saved when the part is closed.
protected static boolean isVisible(ISourceViewer viewer, int offset, int length)
          Tells whether the given region is visible in the given source viewer.
 void markAsContentDependentAction(String actionId, boolean mark)
          Marks or unmarks the given action to be updated on content changes.
 void markAsPropertyDependentAction(String actionId, boolean mark)
          Marks or unmarks the given action to be updated on property changes.
 void markAsSelectionDependentAction(String actionId, boolean mark)
          Marks or unmarks the given action to be updated on text selection changes.
 void markAsStateDependentAction(String actionId, boolean mark)
          Marks or unmarks the given action to be updated on state changes.
protected  void markInNavigationHistory()
          Writes a check mark of the given situation into the navigation history.
protected static int modelOffset2WidgetOffset(ISourceViewer viewer, int modelOffset)
          Returns the offset of the given source viewer's text widget that corresponds to the given model offset or -1 if there is no such offset.
protected  void performRevert()
          Performs revert and handles errors appropriately.
protected  void performSave(boolean overwrite, IProgressMonitor progressMonitor)
          Performs the save and handles errors appropriately.
protected  void performSaveAs(IProgressMonitor progressMonitor)
          Performs a save as and reports the result state back to the given progress monitor.
protected  void rememberSelection()
          Remembers the current selection of this editor.
 void removeActionActivationCode(String actionID)
          Removes any installed activation code for the specified action.
 void removeRulerContextMenuListener(IMenuListener listener)
          Removes a ruler context menu listener from the editor.
 void resetHighlightRange()
          Resets the highlighted range of this text editor.
protected  void restoreSelection()
          Restores a selection previously remembered by rememberSelection.
protected  void rulerContextMenuAboutToShow(IMenuManager menu)
          Sets up the ruler context menu before it is made visible.
protected  void safelySanityCheckState(IEditorInput input)
          Checks the state of the given editor input if sanity checking is enabled.
protected  void sanityCheckState(IEditorInput input)
          Checks the state of the given editor input.
 void selectAndReveal(int start, int length)
          Selects and reveals the specified range in this text editor.
protected  void selectAndReveal(int selectionStart, int selectionLength, int revealStart, int revealLength)
          Selects and reveals the specified ranges in this text editor.
 void setAction(String actionID, IAction action)
          Installs the given action under the given action id.
 void setActionActivationCode(String actionID, char activationCharacter, int activationKeyCode, int activationStateMask)
          Sets the given activation code for the specified action.
protected  void setCompatibilityMode(boolean compatible)
          Sets the context menu registration 1.0 compatibility mode.
protected  void setDocumentProvider(IDocumentProvider provider)
          Sets this editor's document provider.
protected  void setDocumentProvider(IEditorInput input)
          Hook method for setting the document provider for the given input.
protected  void setEditorContextMenuId(String contextMenuId)
          Sets this editor's context menu id.
 void setFocus()
          Asks this part to take focus within the workbench.
protected  void setHelpContextId(String helpContextId)
          Sets the editor's help context id.
 void setHighlightRange(int offset, int length, boolean moveCursor)
          Sets the highlighted range of this text editor to the specified region.
 void setInput(IEditorInput input)
          Sets the input to this editor.
 void setInsertMode(ITextEditorExtension3.InsertMode newMode)
          Sets the insert mode of this editor.
protected  void setKeyBindingScopes(String[] scopes)
          Sets the keybinding scopes for this editor.
protected  void setPreferenceStore(IPreferenceStore store)
          Sets this editor's preference store.
protected  void setRangeIndicator(Annotation rangeIndicator)
          Sets the annotation which this editor uses to represent the highlight range if the editor is configured to show the entire document.
protected  void setRulerContextMenuId(String contextMenuId)
          Sets the ruler's context menu id.
protected  void setSourceViewerConfiguration(SourceViewerConfiguration configuration)
          Sets this editor's source viewer configuration used to configure its internal source viewer.
 void setStatusField(IStatusField field, String category)
          Informs the editor which status field is to be used when posting status information in the given category.
 void showChangeInformation(boolean show)
          Sets the display of quick diff information.
 void showHighlightRangeOnly(boolean showHighlightRangeOnly)
          Configures this text editor to show only the highlighted range of the text.
 boolean showsHighlightRangeOnly()
          Returns whether this text editor is configured to show only the highlighted range of the text.
protected  void updateContentDependentActions()
          Updates all content dependent actions.
protected  void updatePropertyDependentActions()
          Updates all property dependent actions.
protected  void updateSelectionDependentActions()
          Updates all selection dependent actions.
protected  void updateState(IEditorInput input)
          Updates the state of the given editor input such as read-only flag.
protected  void updateStateDependentActions()
          Updates all state dependent actions.
protected  void updateStatusField(String category)
          Updates the status fields for the given category.
protected  void updateStatusFields()
          Updates all status fields.
 boolean validateEditorInputState()
          Validates the state of the given editor input.
protected  void validateState(IEditorInput input)
          Validates the state of the given editor input.
protected static int widgetOffset2ModelOffset(ISourceViewer viewer, int widgetOffset)
          Returns the offset of the given source viewer's document that corresponds to the given widget offset or -1 if there is no such offset.
 
Methods inherited from class org.eclipse.ui.part.EditorPart
getEditorInput, getEditorSite, getTitleToolTip, setContentDescription, setInitializationData, setPartName
 
Methods inherited from class org.eclipse.ui.part.WorkbenchPart
addPropertyListener, getConfigurationElement, getContentDescription, getDefaultImage, getPartName, getSite, getTitle, getTitleImage, removePropertyListener, setSite, setTitle, setTitleImage, setTitleToolTip, showBusy
 
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.IWorkbenchPart
addPropertyListener, getSite, getTitle, getTitleImage, getTitleToolTip, removePropertyListener
 

Field Detail

PREFERENCE_FONT

public static final String PREFERENCE_FONT
Deprecated. As of 2.1, replaced by JFaceResources.TEXT_FONT

Key used to look up font preference. Value: "org.eclipse.jface.textfont"

See Also:
Constant Field Values

PREFERENCE_COLOR_FOREGROUND

public static final String PREFERENCE_COLOR_FOREGROUND
Key used to look up foreground color preference. Value: AbstractTextEditor.Color.Foreground

Since:
2.0
See Also:
Constant Field Values

PREFERENCE_COLOR_BACKGROUND

public static final String PREFERENCE_COLOR_BACKGROUND
Key used to look up background color preference. Value: AbstractTextEditor.Color.Background

Since:
2.0
See Also:
Constant Field Values

PREFERENCE_COLOR_FOREGROUND_SYSTEM_DEFAULT

public static final String PREFERENCE_COLOR_FOREGROUND_SYSTEM_DEFAULT
Key used to look up foreground color system default preference. Value: AbstractTextEditor.Color.Foreground.SystemDefault

Since:
2.0
See Also:
Constant Field Values

PREFERENCE_COLOR_BACKGROUND_SYSTEM_DEFAULT

public static final String PREFERENCE_COLOR_BACKGROUND_SYSTEM_DEFAULT
Key used to look up background color system default preference. Value: AbstractTextEditor.Color.Background.SystemDefault

Since:
2.0
See Also:
Constant Field Values

PREFERENCE_COLOR_SELECTION_FOREGROUND

public static final String PREFERENCE_COLOR_SELECTION_FOREGROUND
Key used to look up selection foreground color preference. Value: AbstractTextEditor.Color.SelectionForeground

Since:
3.0
See Also:
Constant Field Values

PREFERENCE_COLOR_SELECTION_BACKGROUND

public static final String PREFERENCE_COLOR_SELECTION_BACKGROUND
Key used to look up selection background color preference. Value: AbstractTextEditor.Color.SelectionBackground

Since:
3.0
See Also:
Constant Field Values

PREFERENCE_COLOR_SELECTION_FOREGROUND_SYSTEM_DEFAULT

public static final String PREFERENCE_COLOR_SELECTION_FOREGROUND_SYSTEM_DEFAULT
Key used to look up selection foreground color system default preference. Value: AbstractTextEditor.Color.SelectionForeground.SystemDefault

Since:
3.0
See Also:
Constant Field Values

PREFERENCE_COLOR_SELECTION_BACKGROUND_SYSTEM_DEFAULT

public static final String PREFERENCE_COLOR_SELECTION_BACKGROUND_SYSTEM_DEFAULT
Key used to look up selection background color system default preference. Value: AbstractTextEditor.Color.SelectionBackground.SystemDefault

Since:
3.0
See Also:
Constant Field Values

PREFERENCE_COLOR_FIND_SCOPE

public static final String PREFERENCE_COLOR_FIND_SCOPE
Key used to look up find scope background color preference. Value: AbstractTextEditor.Color.FindScope

Since:
2.0
See Also:
Constant Field Values

PREFERENCE_NAVIGATION_SMART_HOME_END

public static final String PREFERENCE_NAVIGATION_SMART_HOME_END
Key used to look up smart home/end preference. Value: AbstractTextEditor.Navigation.SmartHomeEnd

Since:
2.1
See Also:
Constant Field Values

PREFERENCE_USE_CUSTOM_CARETS

public static final String PREFERENCE_USE_CUSTOM_CARETS
Key used to look up the custom caret preference. Value: "AbstractTextEditor.Accessibility.UseCustomCarets"

Since:
3.0
See Also:
Constant Field Values

PREFERENCE_WIDE_CARET

public static final String PREFERENCE_WIDE_CARET
Key used to look up the caret width preference. Value: "AbstractTextEditor.Accessibility.WideCaret"

Since:
3.0
See Also:
Constant Field Values

DEFAULT_EDITOR_CONTEXT_MENU_ID

public static final String DEFAULT_EDITOR_CONTEXT_MENU_ID
Menu id for the editor context menu.

See Also:
Constant Field Values

DEFAULT_RULER_CONTEXT_MENU_ID

public static final String DEFAULT_RULER_CONTEXT_MENU_ID
Menu id for the ruler context menu.

See Also:
Constant Field Values

VERTICAL_RULER_WIDTH

protected static final int VERTICAL_RULER_WIDTH
The width of the vertical ruler.

See Also:
Constant Field Values

ACTION_MAP

protected static final org.eclipse.ui.texteditor.AbstractTextEditor.IdMapEntry[] ACTION_MAP
The complete mapping between action definition IDs used by eclipse and StyledText actions.

Since:
2.0

fErrorLabel

protected final String fErrorLabel
The error message shown in the status line in case of failed information look up.

Constructor Detail

AbstractTextEditor

protected AbstractTextEditor()
Creates a new text editor. If not explicitly set, this editor uses a SourceViewerConfiguration to configure its source viewer. This viewer does not have a range indicator installed, nor any menu id set. By default, the created editor runs in 1.0 context menu registration compatibility mode.

Method Detail

getDocumentProvider

public IDocumentProvider getDocumentProvider()
Description copied from interface: ITextEditor
Returns this text editor's document provider.

Specified by:
getDocumentProvider in interface ITextEditor
Returns:
the document provider

getRangeIndicator

protected final Annotation getRangeIndicator()
Returns the editor's range indicator. May return null if no range indicator is installed.

Returns:
the editor's range indicator which may be null

getSourceViewerConfiguration

protected final SourceViewerConfiguration getSourceViewerConfiguration()
Returns the editor's source viewer configuration. May return null before the editor's part has been created and after disposal.

Returns:
the editor's source viewer configuration which may be null

getSourceViewer

protected final ISourceViewer getSourceViewer()
Returns the editor's source viewer. May return null before the editor's part has been created and after disposal.

Returns:
the editor's source viewer which may be null

getVerticalRuler

protected final IVerticalRuler getVerticalRuler()
Returns the editor's vertical ruler. May return null before the editor's part has been created and after disposal.

Returns:
the editor's vertical ruler which may be null

getEditorContextMenuId

protected final String getEditorContextMenuId()
Returns the editor's context menu id. May return null before the editor's part has been created.

Returns:
the editor's context menu id which may be null

getRulerContextMenuId

protected final String getRulerContextMenuId()
Returns the ruler's context menu id. May return null before the editor's part has been created.

Returns:
the ruler's context menu id which may be null

getHelpContextId

protected final String getHelpContextId()
Returns the editor's help context id or null if none has been set.

Returns:
the editor's help context id which may be null

getPreferenceStore

protected final IPreferenceStore getPreferenceStore()
Returns this editor's preference store or null if none has been set.

Returns:
this editor's preference store which may be null

setDocumentProvider

protected void setDocumentProvider(IDocumentProvider provider)
Sets this editor's document provider. This method must be called before the editor's control is created.

Parameters:
provider - the document provider

setSourceViewerConfiguration

protected void setSourceViewerConfiguration(SourceViewerConfiguration configuration)
Sets this editor's source viewer configuration used to configure its internal source viewer. This method must be called before the editor's control is created. If not, this editor uses a SourceViewerConfiguration.

Parameters:
configuration - the source viewer configuration object

setRangeIndicator

protected void setRangeIndicator(Annotation rangeIndicator)
Sets the annotation which this editor uses to represent the highlight range if the editor is configured to show the entire document. If the range indicator is not set, this editor will not show a range indication.

Parameters:
rangeIndicator - the annotation

setEditorContextMenuId

protected void setEditorContextMenuId(String contextMenuId)
Sets this editor's context menu id.

Parameters:
contextMenuId - the context menu id

setRulerContextMenuId

protected void setRulerContextMenuId(String contextMenuId)
Sets the ruler's context menu id.

Parameters:
contextMenuId - the context menu id

setCompatibilityMode

protected final void setCompatibilityMode(boolean compatible)
Sets the context menu registration 1.0 compatibility mode. (See class description for more details.)

Parameters:
compatible - true if compatibility mode is enabled
Since:
2.0

setHelpContextId

protected void setHelpContextId(String helpContextId)
Sets the editor's help context id.

Parameters:
helpContextId - the help context id

setKeyBindingScopes

protected void setKeyBindingScopes(String[] scopes)
Sets the keybinding scopes for this editor.

Parameters:
scopes - a non-empty array of keybinding scope identifiers
Since:
2.1

setPreferenceStore

protected void setPreferenceStore(IPreferenceStore store)
Sets this editor's preference store. This method must be called before the editor's control is created.

Parameters:
store - the preference store or null to unset the preference store

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 interface ITextEditor
Returns:
true if it can be edited, and false if it is read-only

getSelectionProvider

public ISelectionProvider getSelectionProvider()
Returns this text editor's selection provider. Repeated calls to this method return the same selection provider.

Returns null after disposal.

Specified by:
getSelectionProvider in interface ITextEditor
Returns:
the selection provider or null if the editor has been disposed

rememberSelection

protected void rememberSelection()
Remembers the current selection of this editor. This method is called when, e.g., the content of the editor is about to be reverted to the saved state. This method remembers the selection in a semantic format, i.e., in a format which allows to restore the selection even if the originally selected text is no longer part of the editor's content.

Subclasses should implement this method including all necessary state. This default implementation remembers the textual range only and is thus purely syntactic.

Since:
2.0
See Also:
restoreSelection()

doGetSelection

protected ISelection doGetSelection()
Returns the current selection.

Returns:
ISelection
Since:
2.1

restoreSelection

protected void restoreSelection()
Restores a selection previously remembered by rememberSelection. Subclasses may reimplement this method and thereby semantically adapt the remembered selection. This default implementation just selects the remembered textual range.

Since:
2.0
See Also:
rememberSelection()

doSetSelection

protected void doSetSelection(ISelection selection)
Sets the given selection.

Parameters:
selection -
Since:
2.1

getContextMenuListener

protected final IMenuListener getContextMenuListener()
Creates and returns the listener on this editor's context menus.

Returns:
the menu listener

getRulerMouseListener

protected final MouseListener getRulerMouseListener()
Creates and returns the listener on this editor's vertical ruler.

Returns:
the mouse listener

getSelectionChangedListener

protected final ISelectionChangedListener getSelectionChangedListener()
Returns this editor's selection changed listener to be installed on the editor's source viewer.

Returns:
the listener

getCursorListener

protected final org.eclipse.ui.texteditor.AbstractTextEditor.ICursorListener getCursorListener()
Returns this editor's "cursor" listener to be installed on the editor's source viewer. This listener is listening to key and mouse button events. It triggers the updating of the status line by calling handleCursorPositionChanged().

Returns:
the listener
Since:
2.0

internalInit

protected final void internalInit(IWorkbenchWindow window,
                                  IEditorSite site,
                                  IEditorInput input)
                           throws PartInitException
Implements the init method of IEditorPart. Subclasses replacing init may choose to call this method in their implementation.

Parameters:
window - the site's workbench window
site - the editor's site
input - the editor input for the editor being created
Throws:
PartInitException - if doSetInput(IEditorInput) fails or gets canceled
Since:
2.1
See Also:
IEditorPart.init(org.eclipse.ui.IEditorSite, org.eclipse.ui.IEditorInput)

init

public void init(IEditorSite site,
                 IEditorInput input)
          throws PartInitException
Description copied from interface: IEditorPart
Initializes this editor with the given editor site and input.

This method is automatically called shortly after the part is instantiated. It marks the start of the part's lifecycle. The IWorkbenchPart.dispose method will be called automically at the end of the lifecycle. Clients must not call this method.

Implementors of this method must examine the editor input object type to determine if it is understood. If not, the implementor must throw a PartInitException

Specified by:
init in interface IEditorPart
Specified by:
init in class EditorPart
Throws:
PartInitException

createVerticalRuler

protected IVerticalRuler createVerticalRuler()
Creates the vertical ruler to be used by this editor. Subclasses may re-implement this method.

Returns:
the vertical ruler

createSourceViewer

protected ISourceViewer createSourceViewer(Composite parent,
                                           IVerticalRuler ruler,
                                           int styles)
Creates the source viewer to be used by this editor. Subclasses may re-implement this method.

Parameters:
parent - the parent control
ruler - the vertical ruler
styles - style bits, SWT.WRAP is currently not supported
Returns:
the source viewer

initializeDragAndDrop

protected void initializeDragAndDrop(ISourceViewer viewer)
Initializes the drag and drop support for the given viewer based on provided editor adapter for drop target listeners.

Parameters:
viewer - the viewer
Since:
3.0

createPartControl

public void createPartControl(Composite parent)
The AbstractTextEditor implementation of this IWorkbenchPart 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 before createPartControl is invoked:


Subclasses may replace the following methods called from within createPartControl:
Subclasses may extend the following methods called from within createPartControl:

Specified by:
createPartControl in interface IWorkbenchPart
Specified by:
createPartControl in class WorkbenchPart
Parameters:
parent - the parent composite

initializeViewerColors

protected void initializeViewerColors(ISourceViewer viewer)
Initializes the fore- and background colors of the given viewer for both normal and selected text.

Parameters:
viewer - the viewer to be initialized
Since:
2.0

setDocumentProvider

protected void setDocumentProvider(IEditorInput input)
Hook method for setting the document provider for the given input. This default implementation does nothing. Clients may reimplement.

Parameters:
input - the input of this editor.
Since:
3.0

doSetInput

protected void doSetInput(IEditorInput input)
                   throws CoreException
Called directly from setInput and from within a workspace runnable from init, this method does the actual setting of the editor input. Closes the editor if input is null. Disconnects from any previous editor input and its document provider and connects to the new one.

Subclasses may extend.

Parameters:
input - the input to be set
Throws:
CoreException - if input cannot be connected to the document provider

setInput

public final void setInput(IEditorInput input)
Description copied from interface: IReusableEditor
Sets the input to this editor.

Specified by:
setInput in interface IReusableEditor
Overrides:
setInput in class EditorPart
Parameters:
input - the editor input

close

public void close(boolean save)
Description copied from interface: ITextEditor
Closes this text editor after optionally saving changes.

Specified by:
close in interface ITextEditor
Parameters:
save - true if unsaved changed should be saved, and false if unsaved changed should be discarded

dispose

public void dispose()
The AbstractTextEditor implementation of this IWorkbenchPart method may be extended by subclasses. Subclasses must call super.dispose().

Note that many methods may return null after the editor is disposed.

Specified by:
dispose in interface IWorkbenchPart
Overrides:
dispose in class WorkbenchPart

disposeDocumentProvider

protected void disposeDocumentProvider()
Disposes of the connection with the document provider. Subclasses may extend.

Since:
3.0

affectsTextPresentation

protected boolean affectsTextPresentation(PropertyChangeEvent event)
Determines whether the given preference change affects the editor's presentation. This implementation always returns false. May be reimplemented by subclasses.

Parameters:
event - the event which should be investigated
Returns:
true if the event describes a preference change affecting the editor's presentation
Since:
2.0

getFontPropertyPreferenceKey

protected final String getFontPropertyPreferenceKey()
Returns the property preference key for the editor font. Subclasses may replace this method.

Returns:
a String with the key
Since:
2.1

handlePreferenceStoreChanged

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.

Subclasses may extend.

Parameters:
event - the property change event

getProgressMonitor

protected IProgressMonitor getProgressMonitor()
Returns the progress monitor related to this editor. It should not be necessary to extend this method.

Returns:
the progress monitor related to this editor
Since:
2.1

handleEditorInputChanged

protected void handleEditorInputChanged()
Handles an external change of the editor's input element. Subclasses may extend.


doSaveAs

public void doSaveAs()
The AbstractTextEditor implementation of this IEditorPart method calls performSaveAs. Subclasses may reimplement.

Specified by:
doSaveAs in interface ISaveablePart
Specified by:
doSaveAs in class EditorPart

performSaveAs

protected void performSaveAs(IProgressMonitor progressMonitor)
Performs a save as and reports the result state back to the given progress monitor. This default implementation does nothing. Subclasses may reimplement.

Parameters:
progressMonitor - the progress monitor for communicating result state or null

doSave

public void doSave(IProgressMonitor progressMonitor)
The AbstractTextEditor implementation of this IEditorPart method may be extended by subclasses.

Specified by:
doSave in interface ISaveablePart
Specified by:
doSave in class EditorPart
Parameters:
progressMonitor - the progress monitor for communicating result state or null

enableSanityChecking

protected void enableSanityChecking(boolean enable)
Enables/disables sanity checking.

Parameters:
enable - true if sanity checking should be enabled, false otherwise
Since:
2.0

safelySanityCheckState

protected void safelySanityCheckState(IEditorInput input)
Checks the state of the given editor input if sanity checking is enabled.

Parameters:
input - the editor input whose state is to be checked
Since:
2.0

sanityCheckState

protected void sanityCheckState(IEditorInput input)
Checks the state of the given editor input.

Parameters:
input - the editor input whose state is to be checked
Since:
2.0

enableStateValidation

protected void enableStateValidation(boolean enable)
Enables/disables state validation.

Parameters:
enable - true if state validation should be enabled, false otherwise
Since:
2.1

validateState

protected void validateState(IEditorInput input)
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.

Parameters:
input - the input to be validated
Since:
2.0

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 interface ITextEditorExtension2
Returns:
true if the input was validated, false otherwise

updateState

protected void updateState(IEditorInput input)
Updates the state of the given editor input such as read-only flag.

Parameters:
input - the input to be validated
Since:
2.0

performSave

protected void performSave(boolean overwrite,
                           IProgressMonitor progressMonitor)
Performs the save and handles errors appropriately.

Parameters:
overwrite - indicates whether or not overwriting is allowed
progressMonitor - the monitor in which to run the operation
Since:
3.0

handleExceptionOnSave

protected void handleExceptionOnSave(CoreException exception,
                                     IProgressMonitor progressMonitor)
Handles the given exception. If the exception reports an out-of-sync situation, this is reported to the user. Otherwise, the exception is generically reported.

Parameters:
exception - the exception to handle
progressMonitor - the progress monitor

isSaveAsAllowed

public boolean isSaveAsAllowed()
The AbstractTextEditor implementation of this IEditorPart method returns false. Subclasses may override.

Specified by:
isSaveAsAllowed in interface ISaveablePart
Specified by:
isSaveAsAllowed in class EditorPart
Returns:
false

isSaveOnCloseNeeded

public boolean isSaveOnCloseNeeded()
Description copied from interface: ISaveablePart
Returns whether the contents of this part should be saved when the part is closed.

Specified by:
isSaveOnCloseNeeded in interface ISaveablePart
Overrides:
isSaveOnCloseNeeded in class EditorPart

isDirty

public boolean isDirty()
Description copied from interface: ISaveablePart
Returns whether the contents of this part have changed since the last save operation. If this value changes the part must fire a property listener event with PROP_DIRTY.

Specified by:
isDirty in interface ISaveablePart
Specified by:
isDirty in class EditorPart

doRevertToSaved

public void doRevertToSaved()
The AbstractTextEditor implementation of this ITextEditor method may be extended by subclasses.

Specified by:
doRevertToSaved in interface ITextEditor

performRevert

protected void performRevert()
Performs revert and handles errors appropriately.

Subclasses may extend.

Since:
3.0

handleElementContentReplaced

protected void handleElementContentReplaced()
Performs any additional action necessary to perform after the input document's content has been replaced.

Clients may extended this method.

Since:
3.0

setAction

public void setAction(String actionID,
                      IAction action)
Description copied from interface: ITextEditor
Installs the given action under the given action id.

Specified by:
setAction in interface ITextEditor
Parameters:
actionID - the action id
action - the action, or null to clear it
See Also:
ITextEditor.getAction(String)

setActionActivationCode

public void setActionActivationCode(String actionID,
                                    char activationCharacter,
                                    int activationKeyCode,
                                    int activationStateMask)
Description copied from interface: ITextEditor
Sets the given activation code for the specified action. If there is an activation code already registered, it is replaced. The activation code consists of the same information as a KeyEvent. If the activation code is triggered and the associated action is enabled, the action is performed and the triggering KeyEvent is considered consumed. If the action is disabled, the KeyEvent is passed on unmodified. Thus, action activation codes and action accelerators differ in their model of event consumption. The key code parameter can be -1 to indicate a wild card. The state mask parameter can be SWT.DEFAULT to indicate a wild card.

Specified by:
setActionActivationCode in interface ITextEditor
Parameters:
actionID - the action id
activationCharacter - the activation code character
activationKeyCode - the activation code key code or -1 for wild card
activationStateMask - the activation code state mask or SWT.DEFAULT for wild card

removeActionActivationCode

public void removeActionActivationCode(String actionID)
Description copied from interface: ITextEditor
Removes any installed activation code for the specified action. If no activation code is installed, this method does not have any effect.

Specified by:
removeActionActivationCode in interface ITextEditor
Parameters:
actionID - the action id

getAction

public IAction getAction(String actionID)
Description copied from interface: ITextEditor
Returns the action installed under the given action id.

Specified by:
getAction in interface ITextEditor
Parameters:
actionID - the action id
Returns:
the action, or null if none
See Also:
ITextEditor.setAction(String, IAction)

markAsSelectionDependentAction

public void markAsSelectionDependentAction(String actionId,
                                           boolean mark)
Marks or unmarks the given action to be updated on text selection changes.

Parameters:
actionId - the action id
mark - true if the action is selection dependent

markAsContentDependentAction

public void markAsContentDependentAction(String actionId,
                                         boolean mark)
Marks or unmarks the given action to be updated on content changes.

Parameters:
actionId - the action id
mark - true if the action is content dependent

markAsPropertyDependentAction

public void markAsPropertyDependentAction(String actionId,
                                          boolean mark)
Marks or unmarks the given action to be updated on property changes.

Parameters:
actionId - the action id
mark - true if the action is property dependent
Since:
2.0

markAsStateDependentAction

public void markAsStateDependentAction(String actionId,
                                       boolean mark)
Marks or unmarks the given action to be updated on state changes.

Parameters:
actionId - the action id
mark - true if the action is state dependent
Since:
2.0

updateSelectionDependentActions

protected void updateSelectionDependentActions()
Updates all selection dependent actions.


updateContentDependentActions

protected void updateContentDependentActions()
Updates all content dependent actions.


updatePropertyDependentActions

protected void updatePropertyDependentActions()
Updates all property dependent actions.

Since:
2.0

updateStateDependentActions

protected void updateStateDependentActions()
Updates all state dependent actions.

Since:
2.0

createNavigationActions

protected void createNavigationActions()
Creates action entries for all SWT StyledText actions as defined in org.eclipse.swt.custom.ST. Overwrites and extends the list of these actions afterwards.

Subclasses may extend.

Since:
2.0

createActions

protected void createActions()
Creates this editor's standard actions and connects them with the global workbench actions.

Subclasses may extend.


addAction

protected final void addAction(IMenuManager menu,
                               String actionId)
Convenience method to add the action installed under the given action id to the given menu.

Parameters:
menu - the menu to add the action to
actionId - the id of the action to be added

addAction

protected final void addAction(IMenuManager menu,
                               String group,
                               String actionId)
Convenience method to add the action installed under the given action id to the specified group of the menu.

Parameters:
menu - the menu to add the action to
group - the group in the menu
actionId - the id of the action to add

addGroup

protected final void addGroup(IMenuManager menu,
                              String existingGroup,
                              String newGroup)
Convenience method to add a new group after the specified group.

Parameters:
menu - the menu to add the new group to
existingGroup - the group after which to insert the new group
newGroup - the new group

rulerContextMenuAboutToShow

protected void rulerContextMenuAboutToShow(IMenuManager menu)
Sets up the ruler context menu before it is made visible.

Subclasses may extend to add other actions.

Parameters:
menu - the menu

editorContextMenuAboutToShow

protected void editorContextMenuAboutToShow(IMenuManager menu)
Sets up this editor's context menu before it is made visible.

Subclasses may extend to add other actions.

Parameters:
menu - the menu

getAdapter

public Object getAdapter(Class required)
Description copied from interface: IAdaptable
Returns an object which is an instance of the given class associated with this object. Returns null if no such object can be found.

Specified by:
getAdapter in interface IAdaptable
Overrides:
getAdapter in class WorkbenchPart

setFocus

public void setFocus()
Description copied from interface: IWorkbenchPart
Asks this part to take focus within the workbench.

Clients should not call this method (the workbench calls this method at appropriate times). To have the workbench activate a part, use IWorkbenchPage.activate(IWorkbenchPart) instead.

Specified by:
setFocus in interface IWorkbenchPart
Specified by:
setFocus in class WorkbenchPart

showsHighlightRangeOnly

public boolean showsHighlightRangeOnly()
Description copied from interface: ITextEditor
Returns whether this text editor is configured to show only the highlighted range of the text.

Specified by:
showsHighlightRangeOnly in interface ITextEditor
Returns:
true if only the highlighted range is shown, and false if this editor shows the entire text of the document
See Also:
ITextEditor.showHighlightRangeOnly(boolean)

showHighlightRangeOnly

public void showHighlightRangeOnly(boolean showHighlightRangeOnly)
Description copied from interface: ITextEditor
Configures this text editor to show only the highlighted range of the text.

Specified by:
showHighlightRangeOnly in interface ITextEditor
Parameters:
showHighlightRangeOnly - true if only the highlighted range is shown, and false if this editor shows the entire text of the document
See Also:
ITextEditor.showsHighlightRangeOnly()

setHighlightRange

public void setHighlightRange(int offset,
                              int length,
                              boolean moveCursor)
Description copied from interface: ITextEditor
Sets the highlighted range of this text editor to the specified region.

Specified by:
setHighlightRange in interface ITextEditor
Parameters:
offset - the offset of the highlighted range
length - the length of the highlighted range
moveCursor - true if the cursor should be moved to the start of the highlighted range, and false to leave the cursor unaffected
See Also:
ITextEditor.getHighlightRange()

getHighlightRange

public IRegion getHighlightRange()
Description copied from interface: ITextEditor
Returns the highlighted range of this text editor.

Specified by:
getHighlightRange in interface ITextEditor
Returns:
the highlighted range
See Also:
ITextEditor.setHighlightRange(int, int, boolean)

resetHighlightRange

public void resetHighlightRange()
Description copied from interface: ITextEditor
Resets the highlighted range of this text editor.

Specified by:
resetHighlightRange in interface ITextEditor

adjustHighlightRange

protected void adjustHighlightRange(int offset,
                                    int length)
Adjusts the highlight range so that at least the specified range is highlighted.

Subclasses may re-implement this method.

Parameters:
offset - the offset of the range which at least should be highlighted
length - the length of the range which at least should be highlighted

selectAndReveal

public void selectAndReveal(int start,
                            int length)
Description copied from interface: ITextEditor
Selects and reveals the specified range in this text editor.

Specified by:
selectAndReveal in interface ITextEditor
Parameters:
start - the offset of the selection
length - the length of the selection

selectAndReveal

protected void selectAndReveal(int selectionStart,
                               int selectionLength,
                               int revealStart,
                               int revealLength)
Selects and reveals the specified ranges in this text editor.

Parameters:
selectionStart - the offset of the selection
selectionLength - the length of the selection
revealStart - the offset of the revealed range
revealLength - the length of the revealed range
Since:
3.0

createEmptyNavigationLocation

public INavigationLocation createEmptyNavigationLocation()
Description copied from interface: INavigationLocationProvider
Creates an empty navigation location. The message restoreState will be sent to the location to restore its state.

Specified by:
createEmptyNavigationLocation in interface INavigationLocationProvider
Returns:
INavigationLocation

createNavigationLocation

public INavigationLocation createNavigationLocation()
Description copied from interface: INavigationLocationProvider
Creates a navigation location describing the current state.

Specified by:
createNavigationLocation in interface INavigationLocationProvider
Returns:
INavigationLocation

markInNavigationHistory

protected void markInNavigationHistory()
Writes a check mark of the given situation into the navigation history.

Since:
2.1

editorSaved

protected void editorSaved()
Hook which gets called when the editor has been saved. Subclasses may extend.

Since:
2.1

firePropertyChange

protected void firePropertyChange(int property)
Description copied from class: WorkbenchPart
Fires a property changed event.

Overrides:
firePropertyChange in class WorkbenchPart
Parameters:
property - the id of the property that changed

setStatusField

public void setStatusField(IStatusField field,
                           String category)
Description copied from interface: ITextEditorExtension
Informs the editor which status field is to be used when posting status information in the given category.

Specified by:
setStatusField in interface ITextEditorExtension
Parameters:
field - the status field to be used
category - the status information category
See Also:
ITextEditorActionConstants

getStatusField

protected IStatusField getStatusField(String category)
Returns the current status field for the given status category.

Parameters:
category - the status category
Returns:
the current status field for the given status category
Since:
2.0

isInInsertMode

protected boolean isInInsertMode()
Returns whether this editor is in overwrite or insert mode.

Returns:
true if in insert mode, false for overwrite mode
Since:
2.0

getInsertMode

public ITextEditorExtension3.InsertMode getInsertMode()
Description copied from interface: ITextEditorExtension3
Returns the current input mode of this editor.

Specified by:
getInsertMode in interface ITextEditorExtension3
Returns:
the current input mode of this editor

setInsertMode

public void setInsertMode(ITextEditorExtension3.InsertMode newMode)
Description copied from interface: ITextEditorExtension3
Sets the insert mode of this editor.

Specified by:
setInsertMode in interface ITextEditorExtension3
Parameters:
newMode - the new insert mode

getLegalInsertModes

protected List getLegalInsertModes()
Returns the set of legal insert modes. If insert modes are configured all defined insert modes are legal.

Returns:
the set of legal insert modes
Since:
3.0

configureInsertMode

protected void configureInsertMode(ITextEditorExtension3.InsertMode mode,
                                   boolean legal)
Configures the given insert mode as legal or illegal. This call is ignored if the set of legal input modes would be empty after the call.

Parameters:
mode - the insert mode to be configured
legal - true if the given mode is legal, false otherwise
Since:
3.0

enableOverwriteMode

protected void enableOverwriteMode(boolean enable)
Sets the overwrite mode enablement.

Parameters:
enable - true to enable new overwrite mode, false to disable
Since:
3.0

handleInsertModeChanged

protected void handleInsertModeChanged()
Handles a change of the editor's insert mode. Subclasses may extend.

Since:
2.0

handleCursorPositionChanged

protected void handleCursorPositionChanged()
Handles a potential change of the cursor position. Subclasses may extend.

Since:
2.0

updateStatusField

protected void updateStatusField(String category)
Updates the status fields for the given category.

Parameters:
category -
Since:
2.0

updateStatusFields

protected void updateStatusFields()
Updates all status fields.

Since:
2.0

getCursorPosition

protected String getCursorPosition()
Returns a description of the cursor position.

Returns:
a description of the cursor position
Since:
2.0

isEditorInputReadOnly

public boolean isEditorInputReadOnly()
Description copied from interface: ITextEditorExtension
Returns whether the editor's input is read-only. The semantics of this method is orthogonal to isEditable as it talks about the editor input, i.e. the domain element, and not about the editor document.

Specified by:
isEditorInputReadOnly in interface ITextEditorExtension
Returns:
true if the editor input is read-only

isEditorInputModifiable

public boolean isEditorInputModifiable()
Description copied from interface: ITextEditorExtension2
Returns whether the editor's input can be persistently be modified. This is orthogonal to ITextEditorExtension.isEditorInputReadOnly as read-only elements may be modifiable and writable elements may not be modifiable. If the given element is not connected to this document provider, the result is undefined. Document providers are allowed to use a cache to answer this question, i.e. there can be a difference between the "real" state of the element and the return value.

Specified by:
isEditorInputModifiable in interface ITextEditorExtension2
Returns:
true if the editor input is modifiable

addRulerContextMenuListener

public void addRulerContextMenuListener(IMenuListener listener)
Description copied from interface: ITextEditorExtension
Adds a ruler context menu listener to the editor.

Specified by:
addRulerContextMenuListener in interface ITextEditorExtension
Parameters:
listener - the listener

removeRulerContextMenuListener

public void removeRulerContextMenuListener(IMenuListener listener)
Description copied from interface: ITextEditorExtension
Removes a ruler context menu listener from the editor.

Specified by:
removeRulerContextMenuListener in interface ITextEditorExtension
Parameters:
listener - the listener

canHandleMove

protected boolean canHandleMove(IEditorInput originalElement,
                                IEditorInput movedElement)
Returns whether this editor can handle the move of the original element so that it ends up being the moved element. By default this method returns true. Subclasses may reimplement.

Parameters:
originalElement - the original element
movedElement - the moved element
Returns:
whether this editor can handle the move of the original element so that it ends up being the moved element
Since:
2.0

widgetOffset2ModelOffset

protected static final int widgetOffset2ModelOffset(ISourceViewer viewer,
                                                    int widgetOffset)
Returns the offset of the given source viewer's document that corresponds to the given widget offset or -1 if there is no such offset.

Parameters:
viewer - the source viewer
widgetOffset - the widget offset
Returns:
the corresponding offset in the source viewer's document or -1
Since:
2.1

modelOffset2WidgetOffset

protected static final int modelOffset2WidgetOffset(ISourceViewer viewer,
                                                    int modelOffset)
Returns the offset of the given source viewer's text widget that corresponds to the given model offset or -1 if there is no such offset.

Parameters:
viewer - the source viewer
modelOffset - the model offset
Returns:
the corresponding offset in the source viewer's text widget or -1
Since:
3.0

getCoverage

protected static final IRegion getCoverage(ISourceViewer viewer)
Returns the minimal region of the given source viewer's document that completely comprises everything that is visible in the viewer's widget.

Parameters:
viewer - the viewer go return the coverage for
Returns:
the minimal region of the source viewer's document comprising the contents of the viewer's widget
Since:
2.1

isVisible

protected static final boolean isVisible(ISourceViewer viewer,
                                         int offset,
                                         int length)
Tells whether the given region is visible in the given source viewer.

Parameters:
viewer - the source viewer
offset - the offset of the region
length - the length of the region
Returns:
true if visible
Since:
2.1

showChangeInformation

public void showChangeInformation(boolean show)
Description copied from interface: ITextEditorExtension3
Sets the display of quick diff information.

Specified by:
showChangeInformation in interface ITextEditorExtension3
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 interface ITextEditorExtension3
Returns:
true if quick diff info is displayed, false otherwise

Eclipse Platform
Release 3.0

Guidelines for using Eclipse APIs.

Copyright (c) IBM Corp. and others 2000, 2004. All rights reserved.