public class SourceViewer extends TextViewer implements ISourceViewer, ISourceViewerExtension, ISourceViewerExtension2, ISourceViewerExtension3
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
interface.
Clients may subclass this class but should expect some breakage by future releases.
| Modifier and Type | Class and Description |
|---|---|
protected class |
SourceViewer.RulerLayout
Layout of a source viewer.
|
TextViewer.TextHoverKey, TextViewer.WidgetCommand| Modifier and Type | Field and Description |
|---|---|
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.
|
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_ERRORSWIDGET_DATA_KEYCONTENTASSIST_CONTEXT_INFORMATION, CONTENTASSIST_PROPOSALS, FORMAT, INFORMATION, QUICK_ASSISTDEFAULT_HOVER_STATE_MASKCOPY, CUT, DELETE, PASTE, PREFIX, PRINT, REDO, SELECT_ALL, SHIFT_LEFT, SHIFT_RIGHT, STRIP_PREFIX, UNDO| Constructor and Description |
|---|
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.
|
| Modifier and Type | Method and Description |
|---|---|
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.
|
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 |
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.
|
_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, 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, setTextColor, setTextColor, setTextDoubleClickStrategy, setTextHover, setTextHover, setTopIndex, setUndoManager, setVisibleDocument, setVisibleRegion, shift, shift, startSequentialRewriteMode, stopSequentialRewriteMode, unregister, updateSlaveDocument, updateTextListeners, updateViewportListeners, updateVisibleDocument, validateSelectionRange, widgetLine2ModelLine, widgetLineOfWidgetOffset, widgetlLine2ModelLine, widgetOffset2ModelOffset, widgetRange2ModelRange, widgetSelection2ModelSelectionaddHelpListener, addSelectionChangedListener, fireHelpRequested, fireSelectionChanged, getData, handleHelpRequest, removeHelpListener, removeSelectionChangedListener, scrollDown, scrollUp, setData, setSelectionclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitaddTextInputListener, 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, setVisibleRegionaddSelectionChangedListener, removeSelectionChangedListener, setSelectionprotected static final int GAP_SIZE
2).
Note: As of 3.2, the text editor framework is no longer using 2 as
gap but 1, see {GAP_SIZE_1.
protected static final int GAP_SIZE_1
1).protected static final String _SELECTION_POSITION_CATEGORY
protected static final Object MODEL_ANNOTATION_MODEL
protected IContentAssistant fContentAssistant
protected boolean fContentAssistantInstalled
protected IQuickAssistAssistant fQuickAssistAssistant
protected boolean fQuickAssistAssistantInstalled
protected IContentFormatter fContentFormatter
protected IReconciler fReconciler
protected IPresentationReconciler fPresentationReconciler
protected IAnnotationHover fAnnotationHover
protected final Stack fSelections
protected IPositionUpdater fSelectionUpdater
protected String fSelectionCategory
protected IAnnotationHover fOverviewRulerAnnotationHover
protected IInformationPresenter fInformationPresenter
public SourceViewer(Composite parent, IVerticalRuler ruler, int styles)
parent - the parent of the viewer's controlruler - the vertical ruler used by this source viewerstyles - the SWT style bitspublic SourceViewer(Composite parent, IVerticalRuler verticalRuler, IOverviewRuler overviewRuler, boolean showAnnotationsOverview, int styles)
showAnnotationsOverview.
The viewer has not yet been initialized with a source viewer configuration.parent - the parent of the viewer's controlverticalRuler - the vertical ruler used by this source vieweroverviewRuler - the overview rulershowAnnotationsOverview - true if the overview ruler should be visible, false otherwisestyles - the SWT style bitsprotected void createControl(Composite parent, int styles)
TextViewercreateControl in class TextViewerparent - the parent of the viewer's controlstyles - the SWT style bits for the viewer's controlprotected Layout createLayout()
public Control getControl()
ViewergetControl in interface ITextViewerExtensiongetControl in class TextViewerpublic void setAnnotationHover(IAnnotationHover annotationHover)
ISourceViewersetAnnotationHover in interface ISourceViewerannotationHover - the hover to be used, null is a valid argumentpublic void setOverviewRulerAnnotationHover(IAnnotationHover annotationHover)
annotationHover - the hover to be used, null is a valid argumentpublic void configure(SourceViewerConfiguration configuration)
ISourceViewerISourceViewerExtension2.unconfigure().configure in interface ISourceViewerconfiguration - the source viewer configuration to be usedprotected void ensureAnnotationHoverManagerInstalled()
protected void ensureOverviewHoverManagerInstalled()
public void activatePlugins()
ITextVieweractivatePlugins in interface ITextVieweractivatePlugins in class TextViewerpublic void setDocument(IDocument document)
ITextViewerTextEvent is
issued. This text event does not carry a related document event.setDocument in interface ITextViewersetDocument in class TextViewerdocument - the viewer's new input documentpublic void setDocument(IDocument document, int visibleRegionOffset, int visibleRegionLength)
ITextViewerTextEvent is issued. The text event does not carry a
related document event. This method is a convenience method for
setDocument(document);setVisibleRegion(offset, length).setDocument in interface ITextViewersetDocument in class TextViewerdocument - the new input documentvisibleRegionOffset - the offset of the model rangevisibleRegionLength - the length of the model rangepublic void setDocument(IDocument document, IAnnotationModel annotationModel)
ISourceViewerTextEvent is issued. This text event does not carry
a related document event.setDocument in interface ISourceViewerdocument - the viewer's new input documentannotationModel - the model for the viewer's visual annotationsITextViewer.setDocument(IDocument)protected IAnnotationModel createVisualAnnotationModel(IAnnotationModel annotationModel)
annotationModel - the wrapped annotation modelprotected void disposeVisualAnnotationModel()
public void setDocument(IDocument document, IAnnotationModel annotationModel, int modelRangeOffset, int modelRangeLength)
ISourceViewerTextEvent 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).setDocument in interface ISourceViewerdocument - the new input documentannotationModel - the model of the viewer's visual annotationsmodelRangeOffset - the offset of the model rangemodelRangeLength - the length of the model rangeITextViewer.setDocument(IDocument, int, int)public IAnnotationModel getAnnotationModel()
ISourceViewerISourceViewerExtension2.getVisualAnnotationModel()in order to
get access to the viewer's visual annotation model.getAnnotationModel in interface ISourceViewerpublic IQuickAssistAssistant getQuickAssistAssistant()
ISourceViewerExtension3getQuickAssistAssistant in interface ISourceViewerExtension3null if none is configuredpublic IQuickAssistInvocationContext getQuickAssistInvocationContext()
ISourceViewerExtension3getQuickAssistInvocationContext in interface ISourceViewerExtension3null if none is availablepublic IAnnotationModel getVisualAnnotationModel()
ISourceViewerExtension2getVisualAnnotationModel in interface ISourceViewerExtension2public void unconfigure()
ISourceViewerExtension2ISourceViewer.configure(SourceViewerConfiguration) this method
can be called more than once without interleaving calls to
ISourceViewer.configure(SourceViewerConfiguration).unconfigure in interface ISourceViewerExtension2protected void handleDispose()
TextViewerhandleDispose in class TextViewerpublic boolean canDoOperation(int operation)
ITextOperationTargetcanDoOperation in interface ITextOperationTargetcanDoOperation in class TextVieweroperation - the operation codetrue if the specified operation can be performedprotected IFormattingContext createFormattingContext()
After the use of the context, clients are required to call
its dispose method.
protected Point rememberSelection()
restoreSelection().ITextViewer.getSelectedRange()protected void restoreSelection()
If no selection was previously saved, nothing happens.
protected void clearRememberedSelection()
public void doOperation(int operation)
ITextOperationTargetdoOperation must only be called if canDoOperation
returns true.doOperation in interface ITextOperationTargetdoOperation in class TextVieweroperation - the operation codeprotected void updateSlaveDocuments(IDocument masterDocument)
updateSlaveDocument
for their current visible range. Subclasses may reimplement.masterDocument - the master documentpublic void enableOperation(int operation,
boolean enable)
ITextOperationTargetExtensionenableOperation in interface ITextOperationTargetExtensionenableOperation in class TextVieweroperation - the operation to enable/disableenable - true to enable the operation otherwise falsepublic void setRangeIndicator(Annotation rangeIndicator)
ISourceViewersetRangeIndicator in interface ISourceViewerrangeIndicator - the annotation to be used as this viewer's range indicatorpublic void setRangeIndication(int start,
int length,
boolean moveCursor)
ISourceViewersetRangeIndication in interface ISourceViewerstart - the offset of the rangelength - the length of the rangemoveCursor - indicates whether the cursor should be moved to the given offsetpublic IRegion getRangeIndication()
ISourceViewergetRangeIndication in interface ISourceViewerpublic void removeRangeIndication()
ISourceViewerremoveRangeIndication in interface ISourceViewerpublic void showAnnotations(boolean show)
ISourceViewerBy default, annotations and their presentation area are visible.
showAnnotations in interface ISourceViewershow - indicates the visibility of annotationsprotected final IVerticalRuler getVerticalRuler()
public void showAnnotationsOverview(boolean show)
ISourceViewerExtensionshowAnnotationsOverview in interface ISourceViewerExtensionshow - true if annotation overview should be visible, false otherwisepublic IAnnotationHover getCurrentAnnotationHover()
ISourceViewerExtension3null otherwise.getCurrentAnnotationHover in interface ISourceViewerExtension3nullGuidelines for using Eclipse APIs. Copyright (c) IBM Corp. and others 2000, 2006. All rights reserved.