Interface ITextEditor

All Superinterfaces:
IAdaptable, IEditorPart, ISaveablePart, IWorkbenchPart
All Known Implementing Classes:
AbstractDecoratedTextEditor, AbstractTextEditor, StatusTextEditor, TextEditor

public interface ITextEditor extends IEditorPart
Interface to a text editor. This interface defines functional extensions to IEditorPart as well as the configuration capabilities of a text editor.

Text editors are configured with an IDocumentProvider which delivers a textual presentation (IDocument) of the editor's input. The editor works on the document and forwards all input element related calls, such as save, to the document provider. The provider also delivers the input's annotation model which is used by the editor's vertical ruler.

Clients may implement this interface from scratch, but the recommended way is to subclass the abstract base class AbstractTextEditor.

In order to provided backward compatibility for clients of ITextEditor, extension interfaces are used to provide a means of evolution. The following extension interfaces exist:

See Also:
  • Method Details

    • getDocumentProvider

      IDocumentProvider getDocumentProvider()
      Returns this text editor's document provider.
      Returns:
      the document provider or null if none, e.g. after closing the editor
    • close

      void close(boolean save)
      Closes this text editor after optionally saving changes.
      Parameters:
      save - true if unsaved changed should be saved, and false if unsaved changed should be discarded
    • isEditable

      boolean isEditable()
      Returns whether the text in this text editor can be changed by the user.
      Returns:
      true if it can be edited, and false if it is read-only
    • doRevertToSaved

      void doRevertToSaved()
      Abandons all modifications applied to this text editor's input element's textual presentation since the last save operation.
    • setAction

      void setAction(String actionID, IAction action)
      Installs the given action under the given action id.
      Parameters:
      actionID - the action id
      action - the action, or null to clear it
      See Also:
    • getAction

      IAction getAction(String actionId)
      Returns the action installed under the given action id.
      Parameters:
      actionId - the action id
      Returns:
      the action, or null if none
      See Also:
    • setActionActivationCode

      void setActionActivationCode(String actionId, char activationCharacter, int activationKeyCode, int activationStateMask)
      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.
      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

      void removeActionActivationCode(String actionId)
      Removes any installed activation code for the specified action. If no activation code is installed, this method does not have any effect.
      Parameters:
      actionId - the action id
    • showsHighlightRangeOnly

      boolean showsHighlightRangeOnly()
      Returns whether this text editor is configured to show only the highlighted range of the text.
      Returns:
      true if only the highlighted range is shown, and false if this editor shows the entire text of the document
      See Also:
    • showHighlightRangeOnly

      void showHighlightRangeOnly(boolean showHighlightRangeOnly)
      Configures this text editor to show only the highlighted range of the text.
      Parameters:
      showHighlightRangeOnly - true if only the highlighted range is shown, and false if this editor shows the entire text of the document
      See Also:
    • setHighlightRange

      void setHighlightRange(int offset, int length, boolean moveCursor)
      Sets the highlighted range of this text editor to the specified region.
      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 - has no effect if the range to highlight is already the highlighted one
      See Also:
    • getHighlightRange

      IRegion getHighlightRange()
      Returns the highlighted range of this text editor.
      Returns:
      the highlighted range
      See Also:
    • resetHighlightRange

      void resetHighlightRange()
      Resets the highlighted range of this text editor.
    • getSelectionProvider

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

      void selectAndReveal(int offset, int length)
      Selects and reveals the specified range in this text editor.
      Parameters:
      offset - the offset of the selection
      length - the length of the selection