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:
- {@link org.eclipse.ui.texteditor.ITextEditorExtension} since version 2.0introducing status fields, read-only state and ruler context menu listeners.
- {@link org.eclipse.ui.texteditor.ITextEditorExtension2} since version 2.1introducing modifiable state for the editor input and validate state handling.
- {@link org.eclipse.ui.texteditor.ITextEditorExtension3} since version 3.0adding input state and change information control.
- {@link org.eclipse.ui.texteditor.ITextEditorExtension4} since version 3.2adding annotation navigation and revision information display.
@see org.eclipse.ui.texteditor.IDocumentProvider
@see org.eclipse.jface.text.source.IAnnotationModel
@see org.eclipse.ui.texteditor.ITextEditorExtension
@see org.eclipse.ui.texteditor.ITextEditorExtension2
@see org.eclipse.ui.texteditor.ITextEditorExtension3