Eclipse Platform Release 3.7

## Package org.eclipse.jface.text

Provides a framework for creating and manipulating text documents.

See:
Description

Interface Summary
AbstractInformationControlManager.IInformationControlCloser: Interface of an information control closer.
DefaultInformationControl.IInformationPresenter: An information presenter determines the style presentation of information displayed in the default information control.
DefaultInformationControl.IInformationPresenterExtension: An information presenter determines the style presentation of information displayed in the default information control.
IAutoEditStrategy: An auto edit strategy can adapt changes that will be applied to a text viewer's document.
IAutoIndentStrategy: Deprecated. since 3.0, use `IAutoEditStrategy` directly
IBlockTextSelection: A rectangular selection in a text document.
IDelayedInputChangeProvider: A delayed input change provider notifies the registered `IInputChangedListener` about input changes that occur after the normal operation of the provider.
IDocument: An `IDocument` represents text providing support for text manipulation positions partitions line information document change listeners document partition change listeners A document allows to set its content and to manipulate it.
IDocumentAdapter: Adapts an `IDocument`to the `StyledTextContent` interface.
IDocumentAdapterExtension: Extension interface for `IDocumentAdapter`.
IDocumentExtension: Extension interface for `IDocument`.
IDocumentExtension.IReplace: Interface for a post notification replace operation.
IDocumentExtension2: Extension interface for `IDocument`.
IDocumentExtension3: Extension interface for `IDocument`.
IDocumentExtension4: Extension interface for `IDocument`.
IDocumentInformationMapping: A `IDocumentInformationMapping` represents a mapping between the coordinates of two `IDocument` objects: the original and the image.
IDocumentInformationMappingExtension: Extension to `IDocumentInformationMapping`.
IDocumentInformationMappingExtension2: Extension to `IDocumentInformationMapping`.
IDocumentListener: Interface for objects which are interested in getting informed about document changes.
IDocumentPartitioner: A document partitioner divides a document into a set of disjoint text partitions.
IDocumentPartitionerExtension: Extension interface for `IDocumentPartitioner`.
IDocumentPartitionerExtension2: Extension interface for `IDocumentPartitioner`.
IDocumentPartitionerExtension3: Extension interface for `IDocumentPartitioner`.
IDocumentPartitioningListener: Interface of objects which are interested in getting informed about changes of a document's partitioning.
IDocumentPartitioningListenerExtension: Extension interface for `IDocumentPartitioningListener`.
IDocumentPartitioningListenerExtension2: Extension interface to `IDocumentPartitioningListener`.
IDocumentRewriteSessionListener: Interface for objects which are interested in getting informed about document rewrite sessions.
IEditingSupport: Implemented by tools supporting the editing process.
IEditingSupportRegistry: A registry for `IEditingSupport`s.
IEventConsumer: Implementers can register with a text viewer and receive `VerifyEvent`s before the text viewer they are registered with.
IFindReplaceTarget: Defines the target for finding and replacing strings.
IFindReplaceTargetExtension: Extension interface for `IFindReplaceTarget`.
IFindReplaceTargetExtension3: Extension interface for `IFindReplaceTarget`.
IInformationControl: Interface of a control presenting information.
IInformationControlCreator: Interface of a factory for information controls ( `IInformationControl`).
IInformationControlCreatorExtension: Extension interface for `IInformationControlCreator` Introduces tests whether information controls can be reused and whether information control creators can replace each other.
IInformationControlExtension: Extension interface `IInformationControl`.
IInformationControlExtension2: Extension interface for `IInformationControl`.
IInformationControlExtension3: Extension interface for `IInformationControl`.
IInformationControlExtension4: Extension interface for `IInformationControl`.
IInformationControlExtension5: Extension interface for `IInformationControl`.
IInputChangedListener: A listener which is notified when the target's input changes.
ILineTracker: A line tracker maps character positions to line numbers and vice versa.
ILineTrackerExtension: Extension interface for `ILineTracker`.
IMarkRegionTarget: A mark region target to support marked regions as found in emacs.
IMarkSelection: A mark selection can be sent out by text viewers.
IPainter: A painter is responsible for creating, managing, updating, and removing visual decorations on an `ITextViewer`'s text widget.
IPaintPositionManager: Manages and updates positions used by `IPainter`s.
IPositionUpdater: A position updater is responsible for adapting document positions.
IRegion: A region describes a certain range in an indexed text store.
IRepairableDocument: Tagging interface to be implemented by `IDocument` implementers that offer a line repair method on the documents.
IRepairableDocumentExtension: Extension interface for `IRepairableDocument`.
IRewriteTarget: A target publishing the required functions to modify a document that is displayed in a text viewer.
ISelectionValidator: A selection validator allows clients to test whether the selection they received during selection changed notification is valid.
ISlaveDocumentManager: Slave documents are documents whose contents is defined in terms of a master document.
ISlaveDocumentManagerExtension: Extension interface for `ISlaveDocumentManager`.
ISynchronizable: Interface for text related objects which may be used in the multi-threaded context and thus must provide a way to prevent concurrent access and manipulation.
ITextDoubleClickStrategy: A text double click strategy defines the reaction of a text viewer to mouse double click events.
ITextHover: Computes the information to be shown in a hover popup which appears on top of the text viewer's text widget when a hover event occurs.
ITextHoverExtension: Extension interface for `ITextHover`.
ITextHoverExtension2: Extension interface for `ITextHover`.
ITextInputListener: Text input listeners registered with an `ITextViewer` are informed if the document serving as the text viewer's model is replaced.
ITextListener: Text listeners registered with a text viewer are informed about all modifications of an `ITextViewer` by means of text events.
ITextOperationTarget: Defines the target for text operations.
ITextOperationTargetExtension: Extension interface for `ITextOperationTarget`.
ITextPresentationListener: Text presentation listeners registered with an `ITextViewer` are informed when a `TextPresentation` is about to be applied to the text viewer.
ITextSelection: This interface represents a textual selection.
ITextStore: Interface for storing and managing text.
ITextViewer: A text viewer connects a text widget with an `IDocument`.
ITextViewerExtension: Extension interface for `ITextViewer`.
ITextViewerExtension2: Extension interface for `ITextViewer`.
ITextViewerExtension3: Deprecated. replaced by `ITextViewerExtension5`
ITextViewerExtension4: Extension interface for `ITextViewer`.
ITextViewerExtension5: Extension interface for `ITextViewer`.
ITextViewerExtension6: Extension interface for `ITextViewer`.
ITextViewerExtension7: Extension interface for `ITextViewer`.
ITextViewerExtension8: Extension interface for `ITextViewer`.
ITypedRegion: Describes a region of an indexed text store such as a document or a string.
IUndoManager: An undo manager is connected to at most one `ITextViewer`.
IUndoManagerExtension: Extension interface for `IUndoManager`.
IViewportListener: Registered with a text viewer, view port listeners are informed about changes of a text viewer's view port.
IWidgetTokenKeeper: A widget token keeper may require a widget token from an `IWidgetTokenOwner` and release the token to the owner after usage.
IWidgetTokenKeeperExtension: Extension interface for `IWidgetTokenKeeper`.
IWidgetTokenOwner: In order to display information in a temporary window, a widget token must be acquired.
IWidgetTokenOwnerExtension: Extension interface for `IWidgetTokenOwner`.

Class Summary
AbstractDocument: Abstract default implementation of `IDocument` and its extension interfaces `IDocumentExtension`, `IDocumentExtension2`, `IDocumentExtension3`, `IDocumentExtension4`, as well as `IRepairableDocument`.
AbstractHoverInformationControlManager: An information control manager that shows information in response to mouse hover events.
AbstractInformationControl: An abstract information control that can show content inside a shell.
AbstractInformationControlManager: Manages the life cycle, visibility, layout, and contents of an `IInformationControl`.
AbstractInformationControlManager.Anchor: Constitutes entities to enumerate anchors for the layout of the information control.
AbstractLineTracker: Abstract implementation of `ILineTracker`.
AbstractLineTracker.DelimiterInfo: Combines the information of the occurrence of a line delimiter.
AbstractLineTracker.Request: Representation of replace and set requests.
AbstractReusableInformationControlCreator: Abstract class for a reusable information control creators.
Assert: Deprecated. As of 3.3, replaced by `Assert`
BlockTextSelection: Standard implementation of `IBlockTextSelection`.
ConfigurableLineTracker: Standard implementation of a generic `ILineTracker`.
CopyOnWriteTextStore: Copy-on-write `ITextStore` wrapper.
CursorLinePainter: A painter the draws the background of the caret line in a configured color.
DefaultAutoIndentStrategy: Deprecated. since 3.1 use `DefaultIndentLineAutoEditStrategy` instead
DefaultIndentLineAutoEditStrategy: This strategy always copies the indentation of the previous line.
DefaultInformationControl: Default implementation of `IInformationControl`.
DefaultLineTracker: Standard implementation of `ILineTracker`.
DefaultPositionUpdater: Default implementation of `IPositionUpdater`.
DefaultTextDoubleClickStrategy: Standard implementation of `ITextDoubleClickStrategy`.
DefaultTextHover: Standard implementation of `ITextHover`.
DefaultUndoManager: Deprecated. As of 3.2, replaced by `TextViewerUndoManager`
Document: Default document implementation.
DocumentCommand: Represents a text modification as a document replace command.
DocumentEvent: Specification of changes applied to documents.
DocumentPartitioningChangedEvent: Event describing the change of document partitionings.
DocumentRewriteSession: A document rewrite session.
DocumentRewriteSessionEvent: Description of the state of document rewrite sessions.
DocumentRewriteSessionType: A document rewrite session type.
FindReplaceDocumentAdapter: Provides search and replace operations on `IDocument`.
FindReplaceDocumentAdapterContentProposalProvider: Content assist proposal provider for the `FindReplaceDocumentAdapter`.
GapTextStore: Implements a gap managing text store.
ITextViewerExtension8.EnrichMode: Type-safe enum of the available enrich modes.
JFaceTextUtil: A collection of JFace Text functions.
MarginPainter: Paints a vertical line (margin line) after a given column respecting the text viewer's font.
MarkSelection: Default implementation of `IMarkSelection`.
PaintManager: Manages the `IPainter` object registered with an `ITextViewer`.
Position: Positions describe text ranges of a document.
PropagatingFontFieldEditor: Deprecated. since 3.0 not longer in use, no longer supported
Region: The default implementation of the `IRegion` interface.
RewriteSessionEditProcessor: A text edit processor that brackets the application of edits into a document rewrite session.
SequentialRewriteTextStore: Deprecated. since 3.3 as `GapTextStore` performs better even for sequential rewrite scenarios
SlaveDocumentEvent: A slave document event represents a master document event as a slave-relative document event.
TabsToSpacesConverter: Auto edit strategy that converts tabs into spaces.
TextAttribute: Description of textual attributes such as color and style.
TextEvent: This event is sent to implementers of `ITextListener`.
TextPresentation: Describes the presentation styles for a section of an indexed text such as a document or string.
TextSelection: Standard implementation of `ITextSelection`.
TextUtilities: A collection of text functions.
TextViewer: SWT based implementation of `ITextViewer` and its extension interfaces.
TextViewerUndoManager: Implementation of `IUndoManager` using the shared document undo manager.
TypedPosition: Convenience class for positions that have a type, similar to `ITypedRegion`.
TypedRegion: Default implementation of `ITypedRegion`.
WhitespaceCharacterPainter: A painter for drawing visible characters for (invisible) whitespace characters.

Exception Summary
BadLocationException: Indicates the attempt to access a non-existing position.
BadPartitioningException: Represents the attempt to refer to a non-existing document partitioning.
BadPositionCategoryException: Indicates the attempt to access a non-existing position category in a document.

## Package org.eclipse.jface.text Description

Provides a framework for creating and manipulating text documents.

## Package Specification

`IDocument` is the major text model abstraction. It provides content management, position management using position categories, document partition management, and change notification. In order to be notified about document changes, an object must implements `IDocumentListener` and must be registered with the document. `Position` updating in responds to a document change is performed by implementers of `IDocumentPositionUpdater`. Partition updating in responds to a document change is performed by implements of `IDocumentPartitioner`. In order to be notified about document partition changes, objects must implement `IDocumentParititoningListener` and must be registered with the document.

The package contains default implementations for document position updaters and for documents. `AbstractDocument` uses `ITextStorage` for storing and managing its content and `ILineTracker` to maintain a line structure of its content. As defaults a gap text implementation of `ITextStore` is provided, together with a line tracker understanding the three standard line delimiters ("\r", "\n", "\r\n") and a line tracker which can be freely configured to consider any given set of strings as valid line delimiters.

`ITextViewer` defines the concept of a document based, editiable viewer. `ITextViewer` offers the following functionality:

- present a document
- event consumption (`IEventConsumer`)
- viewport tracking and notification (`IIViewportListener`)
- change notification (`ITextListener`, `ITextInputListener`)
- listeners (combined view/model notification, input document)
- standard text editing functions plus text hover support
- visual region support

An `ITextViewer` supports the following plug-ins

- `IUndoManager` for the undo/redo mechanism
- `IDoubleClickStrategy` for partition type specific behavior on mouse double click
- `IAutoIndentStrategy` for content type specific behavior on inserting a line break
- `ITextHover` for content type specific behavior when overing over text

The package provides default implementations for all these interfaces.

Eclipse Platform Release 3.7

Guidelines for using Eclipse APIs.

Copyright (c) Eclipse contributors and others 2000, 2011. All rights reserved.