Eclipse Platform Release 3.7

## org.eclipse.jface.text.source
Class SourceViewer

    java.lang.Object
      org.eclipse.jface.viewers.Viewer
          org.eclipse.jface.text.TextViewer
              org.eclipse.jface.text.source.SourceViewer

All Implemented Interfaces:
  IEditingSupportRegistry, ITextOperationTarget, ITextOperationTargetExtension, ITextViewer, ITextViewerExtension, ITextViewerExtension2, ITextViewerExtension4, ITextViewerExtension6, ITextViewerExtension7, ITextViewerExtension8, IWidgetTokenOwner, IWidgetTokenOwnerExtension, ISourceViewer, ISourceViewerExtension, ISourceViewerExtension2, ISourceViewerExtension3, ISourceViewerExtension4, IInputProvider, IInputSelectionProvider, IPostSelectionProvider, ISelectionProvider

Direct Known Subclasses:
  ProjectionViewer, TextConsoleViewer

    public class SourceViewer

extends TextViewer
implements ISourceViewer, ISourceViewerExtension, ISourceViewerExtension2, ISourceViewerExtension3, ISourceViewerExtension4

SWT based implementation of `ISourceViewer` and its extension interfaces. The same rules apply as for `TextViewer`. A source viewer uses an `IVerticalRuler` as its annotation presentation area. The vertical ruler is a small strip shown left of the viewer's text widget. A source viewer uses an `IOverviewRuler` as its presentation area for the annotation overview. The overview ruler is a small strip shown right of the viewer's text widget.

Clients are supposed to instantiate a source viewer and subsequently to communicate with it exclusively using the `ISourceViewer` and its extension interfaces.

Clients may subclass this class but should expect some breakage by future releases.

Nested Class Summary
`protected class` `SourceViewer.RulerLayout` Layout of a source viewer.

Nested classes/interfaces inherited from class org.eclipse.jface.text.TextViewer
`TextViewer.TextHoverKey, TextViewer.WidgetCommand`

Nested classes/interfaces inherited from interface org.eclipse.jface.text.ITextViewerExtension8
`ITextViewerExtension8.EnrichMode`

Field Summary
`protected static String` `_SELECTION_POSITION_CATEGORY` Partial name of the position category to manage remembered selections.
`protected IAnnotationHover` `fAnnotationHover` The viewer's annotation hover
`protected IContentAssistant` `fContentAssistant` The viewer's content assistant
`protected boolean` `fContentAssistantInstalled` Flag indicating whether the viewer's content assistant is installed.
`protected IContentFormatter` `fContentFormatter` The viewer's content formatter
`protected IInformationPresenter` `fInformationPresenter` The viewer's information presenter
`protected IAnnotationHover` `fOverviewRulerAnnotationHover` The viewer's overview ruler annotation hover
`protected IPresentationReconciler` `fPresentationReconciler` The viewer's presentation reconciler
`protected IQuickAssistAssistant` `fQuickAssistAssistant` This viewer's quick assist assistant.
`protected boolean` `fQuickAssistAssistantInstalled` Flag indicating whether this viewer's quick assist assistant is installed.
`protected IReconciler` `fReconciler` The viewer's model reconciler
`protected String` `fSelectionCategory` Position category used by the selection updater
`protected Stack` `fSelections` Stack of saved selections in the underlying document
`protected IPositionUpdater` `fSelectionUpdater` Position updater for saved selections
`protected static int` `GAP_SIZE` The size of the gap between the vertical ruler and the text widget (value `2`).
`protected static int` `GAP_SIZE_1` The size of the gap between the vertical ruler and the text widget (value `1`).
`protected static Object` `MODEL_ANNOTATION_MODEL` Key of the model annotation model inside the visual annotation model.

Fields inherited from class org.eclipse.jface.text.TextViewer

`fAutoIndentStrategies, fDefaultPrefixChars, fDoubleClickStrategies, fEventConsumer, fFindReplaceDocumentAdapter, fHoverControlCreator, fHyperlinkDetectors, fHyperlinkManager, fHyperlinkPresenter, fHyperlinkStateMask, fIgnoreAutoIndent, fIndentChars, fInformationMapping, fLastTopPixel, fMarkPosition, fPaintManager, fPartitioning, fReplaceTextPresentation, fTextHovers, fTextInputListeners, fTextListeners, fTextPresentationListeners, fUndoManager, fViewportListeners, INTERNAL, KEY, MOUSE, MOUSE_END, RESIZE, SCROLLER, SHIFTING, TRACE_ERRORS`

Fields inherited from class org.eclipse.jface.viewers.Viewer
`WIDGET_DATA_KEY`

Fields inherited from interface org.eclipse.jface.text.source.ISourceViewer
`CONTENTASSIST_CONTEXT_INFORMATION, CONTENTASSIST_PROPOSALS, FORMAT, INFORMATION, QUICK_ASSIST`

Fields inherited from interface org.eclipse.jface.text.ITextViewerExtension2
`DEFAULT_HOVER_STATE_MASK`

Fields inherited from interface org.eclipse.jface.text.ITextOperationTarget
`COPY, CUT, DELETE, PASTE, PREFIX, PRINT, REDO, SELECT_ALL, SHIFT_LEFT, SHIFT_RIGHT, STRIP_PREFIX, UNDO`

Constructor Summary
`SourceViewer(Composite parent, IVerticalRuler ruler, int styles)` Constructs a new source viewer.
`SourceViewer(Composite parent, IVerticalRuler verticalRuler, IOverviewRuler overviewRuler, boolean showAnnotationsOverview, int styles)` Constructs a new source viewer.

Method Summary
`void` `activatePlugins()` Activates the installed plug-ins.
`boolean` `canDoOperation(int operation)` Returns whether the operation specified by the given operation code can be performed.
`protected void` `clearRememberedSelection()`
`void` `configure(SourceViewerConfiguration configuration)` Configures the source viewer using the given configuration.
`protected void` `createControl(Composite parent, int styles)` Creates the viewer's SWT control.
`protected IFormattingContext` `createFormattingContext()` Creates a new formatting context for a format operation.
`protected Layout` `createLayout()` Creates the layout used for this viewer.
`protected IAnnotationModel` `createVisualAnnotationModel(IAnnotationModel annotationModel)` Creates the visual annotation model on top of the given annotation model.
`protected void` `disposeVisualAnnotationModel()` Disposes the visual annotation model.
`void` `doOperation(int operation)` Performs the operation specified by the operation code on the target.
`void` `enableOperation(int operation, boolean enable)` Enables/disabled the given text operation.
`protected void` `ensureAnnotationHoverManagerInstalled()` After this method has been executed the caller knows that any installed annotation hover has been installed.
`protected void` `ensureOverviewHoverManagerInstalled()` After this method has been executed the caller knows that any installed overview hover has been installed.
`IAnnotationModel` `getAnnotationModel()` Returns this viewer's annotation model.
`ContentAssistantFacade` `getContentAssistantFacade()` Returns a facade for this viewer's content assistant.
`Control` `getControl()` Returns the primary control associated with this viewer.
`IAnnotationHover` `getCurrentAnnotationHover()` Returns the currently displayed annotation hover if any, `null` otherwise.
`IQuickAssistAssistant` `getQuickAssistAssistant()` Returns this viewers quick assist assistant.
`IQuickAssistInvocationContext` `getQuickAssistInvocationContext()` Returns this viewer's quick assist invocation context.
`IRegion` `getRangeIndication()` Returns the viewer's range indication.
`protected IVerticalRuler` `getVerticalRuler()` Returns the vertical ruler of this viewer.
`IAnnotationModel` `getVisualAnnotationModel()` Returns the visual annotation model of this viewer.
`protected void` `handleDispose()` Frees all resources allocated by this viewer.
`protected Point` `rememberSelection()` Remembers and returns the current selection.
`void` `removeRangeIndication()` Removes the viewer's range indication.
`protected void` `restoreSelection()` Restores a previously saved selection in the document.
`void` `setAnnotationHover(IAnnotationHover annotationHover)` Sets the annotation hover of this source viewer.
`void` `setDocument(IDocument document)` Sets the given document as the text viewer's model and updates the presentation accordingly.
`void` `setDocument(IDocument document, IAnnotationModel annotationModel)` Sets the given document as this viewer's text model and the given annotation model as the model for this viewer's visual annotations.
`void` `setDocument(IDocument document, IAnnotationModel annotationModel, int modelRangeOffset, int modelRangeLength)` Sets the given document as this viewer's text model and the given annotation model as the model for this viewer's visual annotations.
`void` `setDocument(IDocument document, int visibleRegionOffset, int visibleRegionLength)` Sets the given document as this viewer's model and exposes the specified region.
`void` `setHoverEnrichMode(ITextViewerExtension8.EnrichMode mode)` Sets the hover enrich mode.
`void` `setOverviewRulerAnnotationHover(IAnnotationHover annotationHover)` Sets the overview ruler's annotation hover of this source viewer.
`void` `setRangeIndication(int start, int length, boolean moveCursor)` Sets the viewers's range indication to the specified range.
`void` `setRangeIndicator(Annotation rangeIndicator)` Sets the annotation used by this viewer as range indicator.
`void` `showAnnotations(boolean show)` Controls the visibility of annotations and in the case of separate presentation areas of text and annotations, the visibility of the annotation's presentation area.
`void` `showAnnotationsOverview(boolean show)` Shows/hides an overview representation of the annotations of the whole document of this viewer.
`void` `unconfigure()` Rolls back the configuration process of this source viewer.
`protected void` `updateSlaveDocuments(IDocument masterDocument)` Updates all slave documents of the given document.

Methods inherited from class org.eclipse.jface.text.TextViewer

`_getVisibleRegionOffset, _internalGetVisibleRegion, addPainter, addPostSelectionChangedListener, addTextInputListener, addTextListener, addTextPresentationListener, addViewportListener, appendVerifyKeyListener, areMultipleLinesSelected, canPerformFind, changeTextPresentation, copyMarkedRegion, createDocumentAdapter, createSlaveDocument, createSlaveDocumentManager, createTextWidget, customizeDocumentCommand, deleteText, disableRedrawing, enabledRedrawing, enabledRedrawing, event2ModelRange, findAndSelect, findAndSelect, findAndSelectInRange, fireInputDocumentAboutToBeChanged, fireInputDocumentChanged, firePostSelectionChanged, fireSelectionChanged, freeSlaveDocument, getAverageCharWidth, getBottomIndex, getBottomIndexEndOffset, getClosestWidgetLineForModelLine, getCurrentTextHover, getDocument, getDocumentPartitioning, getEmptySelectionChangedEventDelay, getExtent, getFindReplaceDocumentAdapter, getFindReplaceTarget, getHoverEventLocation, getInput, getMark, getModelCoverage, getPaintManager, getRegisteredSupports, getRewriteTarget, getSelectedRange, getSelection, getSelectionProvider, getSlaveDocumentManager, getTextHover, getTextHover, getTextHoveringController, getTextOperationTarget, getTextWidget, getTopIndex, getTopIndexStartOffset, getTopInset, getUndoManager, getVisibleDocument, getVisibleLinesInViewport, getVisibleRegion, getWidthInPixels, getWidthInPixels, handleVerifyEvent, handleVisibleDocumentAboutToBeChanged, handleVisibleDocumentChanged, ignoreAutoEditStrategies, initializeDocumentInformationMapping, inputChanged, internalRevealRange, invalidateTextPresentation, invalidateTextPresentation, isBlockSelected, isEditable, isIgnoringAutoEditStrategies, isPrintable, markChanged, modelLine2WidgetLine, modelOffset2WidgetOffset, modelRange2ClosestWidgetRange, modelRange2WidgetRange, modelRange2WidgetRange, modelSelection2WidgetSelection, modelStyleRange2WidgetStyleRange, moveFocusToWidgetToken, overlapsWithVisibleRegion, prependAutoEditStrategy, prependVerifyKeyListener, print, print, redraws, refresh, register, releaseWidgetToken, removeAutoEditStrategy, removePainter, removePostSelectionChangedListener, removeTextHovers, removeTextInputListener, removeTextListener, removeTextPresentationListener, removeVerifyKeyListener, removeViewportListener, requestWidgetToken, requestWidgetToken, resetPlugins, resetVisibleRegion, revealRange, selectContentTypePlugin, selectionChanged, setAutoEditStrategies, setAutoIndentStrategy, setDefaultPrefixes, setDocumentPartitioning, setEditable, setEventConsumer, setHoverControlCreator, setHyperlinkDetectors, setHyperlinkPresenter, setIndentPrefixes, setInput, setMark, setRedraw, setRedraw, setSelectedRange, setSelection, setTabsToSpacesConverter, setTextColor, setTextColor, setTextDoubleClickStrategy, setTextHover, setTextHover, setTopIndex, setUndoManager, setVisibleDocument, setVisibleRegion, shift, shift, startSequentialRewriteMode, stopSequentialRewriteMode, unregister, updateSlaveDocument, updateTextListeners, updateViewportListeners, updateVisibleDocument, validateSelectionRange, widgetLine2ModelLine, widgetLineOfWidgetOffset, widgetlLine2ModelLine, widgetOffset2ModelOffset, widgetRange2ModelRange, widgetSelection2ModelSelection`

Methods inherited from class org.eclipse.jface.viewers.Viewer
`addHelpListener, addSelectionChangedListener, fireHelpRequested, fireSelectionChanged, getData, handleHelpRequest, removeHelpListener, removeSelectionChangedListener, scrollDown, scrollUp, setData, setSelection`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Methods inherited from interface org.eclipse.jface.text.ITextViewer

`addTextInputListener, addTextListener, addViewportListener, changeTextPresentation, getBottomIndex, getBottomIndexEndOffset, getDocument, getFindReplaceTarget, getSelectedRange, getSelectionProvider, getTextOperationTarget, getTextWidget, getTopIndex, getTopIndexStartOffset, getTopInset, getVisibleRegion, invalidateTextPresentation, isEditable, overlapsWithVisibleRegion, removeTextInputListener, removeTextListener, removeViewportListener, resetPlugins, resetVisibleRegion, revealRange, setAutoIndentStrategy, setDefaultPrefixes, setEditable, setEventConsumer, setIndentPrefixes, setSelectedRange, setTextColor, setTextColor, setTextDoubleClickStrategy, setTextHover, setTopIndex, setUndoManager, setVisibleRegion`

Methods inherited from interface org.eclipse.jface.viewers.ISelectionProvider
`addSelectionChangedListener, removeSelectionChangedListener, setSelection`

Field Detail

### GAP_SIZE

    protected static final int GAP_SIZE

  The size of the gap between the vertical ruler and the text widget (value `2`).

  Note: As of 3.2, the text editor framework is no longer using 2 as gap but 1, see {`GAP_SIZE_1`.

  See Also:
    Constant Field Values

### GAP_SIZE_1

    protected static final int GAP_SIZE_1

  The size of the gap between the vertical ruler and the text widget (value `1`).

  Since:
    3.2
  See Also:
    Constant Field Values

### _SELECTION_POSITION_CATEGORY

    protected static final String _SELECTION_POSITION_CATEGORY

  Partial name of the position category to manage remembered selections.

  Since:
    3.0
  See Also:
    Constant Field Values

### MODEL_ANNOTATION_MODEL

    protected static final Object MODEL_ANNOTATION_MODEL

  Key of the model annotation model inside the visual annotation model.

  Since:
    3.0

### fContentAssistant

    protected IContentAssistant fContentAssistant

  The viewer's content assistant

### fContentAssistantInstalled

    protected boolean fContentAssistantInstalled

  Flag indicating whether the viewer's content assistant is installed.

  Since:
    2.0

### fQuickAssistAssistant

    protected IQuickAssistAssistant fQuickAssistAssistant

  This viewer's quick assist assistant.

  Since:
    3.2

### fQuickAssistAssistantInstalled

    protected boolean fQuickAssistAssistantInstalled

  Flag indicating whether this viewer's quick assist assistant is installed.

  Since:
    3.2

### fContentFormatter

    protected IContentFormatter fContentFormatter

  The viewer's content formatter

### fReconciler

    protected IReconciler fReconciler

  The viewer's model reconciler

### fPresentationReconciler

    protected IPresentationReconciler fPresentationReconciler

  The viewer's presentation reconciler

### fAnnotationHover

    protected IAnnotationHover fAnnotationHover

  The viewer's annotation hover

### fSelections

    protected final Stack fSelections

  Stack of saved selections in the underlying document

  Since:
    3.0

### fSelectionUpdater

    protected IPositionUpdater fSelectionUpdater

  Position updater for saved selections

  Since:
    3.0

### fSelectionCategory

    protected String fSelectionCategory

  Position category used by the selection updater

  Since:
    3.0

### fOverviewRulerAnnotationHover

    protected IAnnotationHover fOverviewRulerAnnotationHover

  The viewer's overview ruler annotation hover

  Since:
    3.0

### fInformationPresenter

    protected IInformationPresenter fInformationPresenter

  The viewer's information presenter

  Since:
    2.0

Constructor Detail

### SourceViewer

    public SourceViewer(Composite parent,
                        IVerticalRuler ruler,
                        int styles)

  Constructs a new source viewer. The vertical ruler is initially visible. The viewer has not yet been initialized with a source viewer configuration.

  Parameters:
    `parent` - the parent of the viewer's control
    `ruler` - the vertical ruler used by this source viewer
    `styles` - the SWT style bits for the viewer's control, if `SWT.WRAP` is set then a custom document adapter needs to be provided, see `TextViewer.createDocumentAdapter()`

### SourceViewer

    public SourceViewer(Composite parent,
                        IVerticalRuler verticalRuler,
                        IOverviewRuler overviewRuler,
                        boolean showAnnotationsOverview,
                        int styles)

  Constructs a new source viewer. The vertical ruler is initially visible. The overview ruler visibility is controlled by the value of `showAnnotationsOverview`. The viewer has not yet been initialized with a source viewer configuration.

  Parameters:
    `parent` - the parent of the viewer's control
    `verticalRuler` - the vertical ruler used by this source viewer
    `overviewRuler` - the overview ruler
    `showAnnotationsOverview` - `true` if the overview ruler should be visible, `false` otherwise
    `styles` - the SWT style bits for the viewer's control, if `SWT.WRAP` is set then a custom document adapter needs to be provided, see `TextViewer.createDocumentAdapter()`
  Since:
    2.1

Method Detail

### createControl

    protected void createControl(Composite parent,
                                 int styles)

  Description copied from class: `TextViewer`
  Creates the viewer's SWT control. The viewer's text widget either is the control or is a child of the control.

  Overrides:
    `createControl` in class `TextViewer`
  Parameters:
    `parent` - the parent of the viewer's control
    `styles` - the SWT style bits for the viewer's control

### createLayout

    protected Layout createLayout()

  Creates the layout used for this viewer. Subclasses may override this method.

  Returns:
    the layout used for this viewer
  Since:
    3.0

### getControl

    public Control getControl()

  Description copied from class: `Viewer`
  Returns the primary control associated with this viewer.

  Specified by:
    `getControl` in interface `ITextViewerExtension`
  Overrides:
    `getControl` in class `TextViewer`
  Returns:
    the SWT control which displays this viewer's content

### setAnnotationHover

    public void setAnnotationHover(IAnnotationHover annotationHover)

  Description copied from interface: `ISourceViewer`
  Sets the annotation hover of this source viewer. The annotation hover provides the information to be displayed in a hover popup window if requested over the annotation presentation area. The annotation hover is assumed to be line oriented.

  Specified by:
    `setAnnotationHover` in interface `ISourceViewer`
  Parameters:
    `annotationHover` - the hover to be used, `null` is a valid argument

### setOverviewRulerAnnotationHover

    public void setOverviewRulerAnnotationHover(IAnnotationHover annotationHover)

  Sets the overview ruler's annotation hover of this source viewer. The annotation hover provides the information to be displayed in a hover popup window if requested over the overview rulers area. The annotation hover is assumed to be line oriented.

  Parameters:
    `annotationHover` - the hover to be used, `null` is a valid argument
  Since:
    3.0

### configure

    public void configure(SourceViewerConfiguration configuration)

  Description copied from interface: `ISourceViewer`
  Configures the source viewer using the given configuration. Prior to 3.0 this method can only be called once. Since 3.0 this method can be called again after a call to `ISourceViewerExtension2.unconfigure()`.

  Specified by:
    `configure` in interface `ISourceViewer`
  Parameters:
    `configuration` - the source viewer configuration to be used

### ensureAnnotationHoverManagerInstalled

    protected void ensureAnnotationHoverManagerInstalled()

  After this method has been executed the caller knows that any installed annotation hover has been installed.

### ensureOverviewHoverManagerInstalled

    protected void ensureOverviewHoverManagerInstalled()

  After this method has been executed the caller knows that any installed overview hover has been installed.

### setHoverEnrichMode

    public void setHoverEnrichMode(ITextViewerExtension8.EnrichMode mode)

  Description copied from class: `TextViewer`
  Sets the hover enrich mode. A non-`null` `mode` defines when hovers should be enriched once the mouse is moved into them. If `mode` is `null`, hovers are automatically closed when the mouse is moved out of the `hover region`.

  Note that a hover can only be enriched if its `IInformationControlExtension5.getInformationPresenterControlCreator()` is not `null`.

  Specified by:
    `setHoverEnrichMode` in interface `ITextViewerExtension8`
  Overrides:
    `setHoverEnrichMode` in class `TextViewer`
  Parameters:
    `mode` - the enrich mode, or `null`

### activatePlugins

    public void activatePlugins()

  Description copied from interface: `ITextViewer`
  Activates the installed plug-ins. If the plug-ins are already activated this call has no effect.

  Specified by:
    `activatePlugins` in interface `ITextViewer`
  Overrides:
    `activatePlugins` in class `TextViewer`

### setDocument

    public void setDocument(IDocument document)

  Description copied from interface: `ITextViewer`
  Sets the given document as the text viewer's model and updates the presentation accordingly. An appropriate `TextEvent` is issued. This text event does not carry a related document event.

  Specified by:
    `setDocument` in interface `ITextViewer`
  Overrides:
    `setDocument` in class `TextViewer`
  Parameters:
    `document` - the viewer's new input document `null` if none

### setDocument

    public void setDocument(IDocument document,
                            int visibleRegionOffset,
                            int visibleRegionLength)

  Description copied from interface: `ITextViewer`
  Sets the given document as this viewer's model and exposes the specified region. An appropriate `TextEvent` is issued. The text event does not carry a related document event. This method is a convenience method for `setDocument(document);setVisibleRegion(offset, length)`.

  Specified by:
    `setDocument` in interface `ITextViewer`
  Overrides:
    `setDocument` in class `TextViewer`
  Parameters:
    `document` - the new input document or `null` if none
    `visibleRegionOffset` - the offset of the model range
    `visibleRegionLength` - the length of the model range

### setDocument

    public void setDocument(IDocument document,
                            IAnnotationModel annotationModel)

  Description copied from interface: `ISourceViewer`
  Sets the given document as this viewer's text model and the given annotation model as the model for this viewer's visual annotations. The presentation is accordingly updated. An appropriate `TextEvent` is issued. This text event does not carry a related document event.

  Specified by:
    `setDocument` in interface `ISourceViewer`
  Parameters:
    `document` - the viewer's new input document
    `annotationModel` - the model for the viewer's visual annotations
  See Also:
    `ITextViewer.setDocument(IDocument)`

### createVisualAnnotationModel

    protected IAnnotationModel createVisualAnnotationModel(IAnnotationModel annotationModel)

  Creates the visual annotation model on top of the given annotation model.

  Parameters:
    `annotationModel` - the wrapped annotation model
  Returns:
    the visual annotation model on top of the given annotation model
  Since:
    3.0

### disposeVisualAnnotationModel

    protected void disposeVisualAnnotationModel()

  Disposes the visual annotation model.

  Since:
    3.1

### setDocument

    public void setDocument(IDocument document,
                            IAnnotationModel annotationModel,
                            int modelRangeOffset,
                            int modelRangeLength)

  Description copied from interface: `ISourceViewer`
  Sets the given document as this viewer's text model and the given annotation model as the model for this viewer's visual annotations. The presentation is accordingly updated whereby only the specified region is exposed. An appropriate `TextEvent` is issued. The text event does not carry a related document event. This method is a convenience method for `setDocument(document, annotationModel);setVisibleRegion(offset, length)`.

  Specified by:
    `setDocument` in interface `ISourceViewer`
  Parameters:
    `document` - the new input document
    `annotationModel` - the model of the viewer's visual annotations
    `modelRangeOffset` - the offset of the model range
    `modelRangeLength` - the length of the model range
  See Also:
    `ITextViewer.setDocument(IDocument, int, int)`

### getAnnotationModel

    public IAnnotationModel getAnnotationModel()

  Description copied from interface: `ISourceViewer`
  Returns this viewer's annotation model. Use `ISourceViewerExtension2.getVisualAnnotationModel()`in order to get access to the viewer's visual annotation model.

  Specified by:
    `getAnnotationModel` in interface `ISourceViewer`
  Returns:
    this viewer's annotation model

### getQuickAssistAssistant

    public IQuickAssistAssistant getQuickAssistAssistant()

  Description copied from interface: `ISourceViewerExtension3`
  Returns this viewers quick assist assistant.

  Specified by:
    `getQuickAssistAssistant` in interface `ISourceViewerExtension3`
  Returns:
    the quick assist assistant or `null` if none is configured

### getContentAssistantFacade

    public final ContentAssistantFacade getContentAssistantFacade()

  Returns a facade for this viewer's content assistant.

  Specified by:
    `getContentAssistantFacade` in interface `ISourceViewerExtension4`
  Returns:
    a content assistant facade or `null` if none is configured
  Since:
    3.4

### getQuickAssistInvocationContext

    public IQuickAssistInvocationContext getQuickAssistInvocationContext()

  Description copied from interface: `ISourceViewerExtension3`
  Returns this viewer's quick assist invocation context.

  Specified by:
    `getQuickAssistInvocationContext` in interface `ISourceViewerExtension3`
  Returns:
    the quick assist invocation context or `null` if none is available

### getVisualAnnotationModel

    public IAnnotationModel getVisualAnnotationModel()

  Description copied from interface: `ISourceViewerExtension2`
  Returns the visual annotation model of this viewer.

  Specified by:
    `getVisualAnnotationModel` in interface `ISourceViewerExtension2`
  Returns:
    the visual annotation model of this viewer

### unconfigure

    public void unconfigure()

  Description copied from interface: `ISourceViewerExtension2`
  Rolls back the configuration process of this source viewer. The source viewer can be configured again after a call to this method. Unlike `ISourceViewer.configure(SourceViewerConfiguration)` this method can be called more than once without interleaving calls to `ISourceViewer.configure(SourceViewerConfiguration)`.

  Specified by:
    `unconfigure` in interface `ISourceViewerExtension2`

### handleDispose

    protected void handleDispose()

  Description copied from class: `TextViewer`
  Frees all resources allocated by this viewer. Internally called when the viewer's control has been disposed.

  Overrides:
    `handleDispose` in class `TextViewer`

### canDoOperation

    public boolean canDoOperation(int operation)

  Description copied from interface: `ITextOperationTarget`
  Returns whether the operation specified by the given operation code can be performed.

  Specified by:
    `canDoOperation` in interface `ITextOperationTarget`
  Overrides:
    `canDoOperation` in class `TextViewer`
  Parameters:
    `operation` - the operation code
  Returns:
    `true` if the specified operation can be performed

### createFormattingContext

    protected IFormattingContext createFormattingContext()

  Creates a new formatting context for a format operation.

  After the use of the context, clients are required to call its `dispose` method.

  Returns:
    The new formatting context
  Since:
    3.0

### rememberSelection

    protected Point rememberSelection()

  Remembers and returns the current selection. The saved selection can be restored by calling `restoreSelection()`.

  Returns:
    the current selection
  Since:
    3.0
  See Also:
    `ITextViewer.getSelectedRange()`

### restoreSelection

    protected void restoreSelection()

  Restores a previously saved selection in the document.

  If no selection was previously saved, nothing happens.

  Since:
    3.0

### clearRememberedSelection

    protected void clearRememberedSelection()

### doOperation

    public void doOperation(int operation)

  Description copied from interface: `ITextOperationTarget`
  Performs the operation specified by the operation code on the target. `doOperation` must only be called if `canDoOperation` returns `true`.

  Specified by:
    `doOperation` in interface `ITextOperationTarget`
  Overrides:
    `doOperation` in class `TextViewer`
  Parameters:
    `operation` - the operation code

### updateSlaveDocuments

    protected void updateSlaveDocuments(IDocument masterDocument)

  Updates all slave documents of the given document. This default implementation calls `updateSlaveDocument` for their current visible range. Subclasses may reimplement.

  Parameters:
    `masterDocument` - the master document
  Since:
    3.0

### enableOperation

    public void enableOperation(int operation,
                                boolean enable)

  Description copied from interface: `ITextOperationTargetExtension`
  Enables/disabled the given text operation.

  Specified by:
    `enableOperation` in interface `ITextOperationTargetExtension`
  Overrides:
    `enableOperation` in class `TextViewer`
  Parameters:
    `operation` - the operation to enable/disable
    `enable` - `true` to enable the operation otherwise `false`

### setRangeIndicator

    public void setRangeIndicator(Annotation rangeIndicator)

  Description copied from interface: `ISourceViewer`
  Sets the annotation used by this viewer as range indicator. The range covered by this annotation is referred to as range indication.

  Specified by:
    `setRangeIndicator` in interface `ISourceViewer`
  Parameters:
    `rangeIndicator` - the annotation to be used as this viewer's range indicator

### setRangeIndication

    public void setRangeIndication(int start,
                                   int length,
                                   boolean moveCursor)

  Description copied from interface: `ISourceViewer`
  Sets the viewers's range indication to the specified range. It is indicated whether the cursor should also be moved to the beginning of the specified range.

  Specified by:
    `setRangeIndication` in interface `ISourceViewer`
  Parameters:
    `start` - the offset of the range
    `length` - the length of the range
    `moveCursor` - indicates whether the cursor should be moved to the given offset

### getRangeIndication

    public IRegion getRangeIndication()

  Description copied from interface: `ISourceViewer`
  Returns the viewer's range indication.

  Specified by:
    `getRangeIndication` in interface `ISourceViewer`
  Returns:
    the viewer's range indication.

### removeRangeIndication

    public void removeRangeIndication()

  Description copied from interface: `ISourceViewer`
  Removes the viewer's range indication. There is no visible range indication after this method completed.

  Specified by:
    `removeRangeIndication` in interface `ISourceViewer`

### showAnnotations

    public void showAnnotations(boolean show)

  Description copied from interface: `ISourceViewer`
  Controls the visibility of annotations and in the case of separate presentation areas of text and annotations, the visibility of the annotation's presentation area.

  By default, annotations and their presentation area are visible.

  Specified by:
    `showAnnotations` in interface `ISourceViewer`
  Parameters:
    `show` - indicates the visibility of annotations

### getVerticalRuler

    protected final IVerticalRuler getVerticalRuler()

  Returns the vertical ruler of this viewer.

  Returns:
    the vertical ruler of this viewer
  Since:
    3.0

### showAnnotationsOverview

    public void showAnnotationsOverview(boolean show)

  Description copied from interface: `ISourceViewerExtension`
  Shows/hides an overview representation of the annotations of the whole document of this viewer.

  Specified by:
    `showAnnotationsOverview` in interface `ISourceViewerExtension`
  Parameters:
    `show` - `true` if annotation overview should be visible, `false` otherwise

### getCurrentAnnotationHover

    public IAnnotationHover getCurrentAnnotationHover()

  Description copied from interface: `ISourceViewerExtension3`
  Returns the currently displayed annotation hover if any, `null` otherwise.

  Specified by:
    `getCurrentAnnotationHover` in interface `ISourceViewerExtension3`
  Returns:
    the currently displayed annotation hover or `null`

Eclipse Platform Release 3.7

Guidelines for using Eclipse APIs.

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