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:
- IInputProvider, IInputSelectionProvider, IPostSelectionProvider, ISelectionProvider, ISourceViewer, ISourceViewerExtension, ISourceViewerExtension2, ITextOperationTarget, ITextOperationTargetExtension, ITextViewer, ITextViewerExtension, ITextViewerExtension2, ITextViewerExtension4, IWidgetTokenOwner, IWidgetTokenOwnerExtension
- Direct Known Subclasses:
- ProjectionViewer
- public class SourceViewer
- extends TextViewer
- implements ISourceViewer, ISourceViewerExtension, ISourceViewerExtension2
SWT based implementation of
ISourceViewerand 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 should not subclass this class as it is rather likely that subclasses
will be broken by future releases.
Fields inherited from class org.eclipse.jface.text.TextViewer
|
fAutoIndentStrategies, fDefaultPrefixChars, fDoubleClickStrategies, fEventConsumer, fFindReplaceDocumentAdapter, fHoverControlCreator, 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 interface org.eclipse.jface.text.ITextOperationTarget
|
COPY, CUT, DELETE, PASTE, PREFIX, PRINT, REDO, SELECT_ALL, SHIFT_LEFT, SHIFT_RIGHT, STRIP_PREFIX, UNDO
|
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.
|
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 control of this viewer.
|
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.
|
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, getRewriteTarget, getSelectedRange, getSelection, getSelectionProvider, getSlaveDocumentManager, getTextHover, getTextHover, getTextHoveringController, getTextOperationTarget, getTextWidget, getTopIndex, getTopIndexStartOffset, getTopInset, getVisibleDocument, getVisibleLinesInViewport, getVisibleRegion, getWidthInPixels, getWidthInPixels, handleVerifyEvent, handleVisibleDocumentAboutToBeChanged, handleVisibleDocumentChanged, ignoreAutoEditStrategies, initializeDocumentInformationMapping, inputChanged, internalRevealRange, invalidateTextPresentation, invalidateTextPresentation, isBlockSelected, isEditable, isIgnoringAutoEditStrategies, isPrintable, markChanged, modelLine2WidgetLine, modelOffset2WidgetOffset, modelRange2WidgetRange, modelRange2WidgetRange, modelSelection2WidgetSelection, modelStyleRange2WidgetStyleRange, moveFocusToWidgetToken, overlapsWithVisibleRegion, prependAutoEditStrategy, prependVerifyKeyListener, print, redraws, refresh, releaseWidgetToken, removeAutoEditStrategy, removePainter, removePostSelectionChangedListener, removeTextHovers, removeTextInputListener, removeTextListener, removeTextPresentationListener, removeVerifyKeyListener, removeViewportListener, requestWidgetToken, requestWidgetToken, resetPlugins, resetVisibleRegion, revealRange, selectContentTypePlugin, selectionChanged, setAutoIndentStrategy, setDefaultPrefixes, setDocumentPartitioning, setEditable, setEventConsumer, setHoverControlCreator, setIndentPrefixes, setInput, setMark, setRedraw, setRedraw, setSelectedRange, setSelection, setTextColor, setTextColor, setTextDoubleClickStrategy, setTextHover, setTextHover, setTopIndex, setUndoManager, setVisibleDocument, setVisibleRegion, shift, shift, startSequentialRewriteMode, stopSequentialRewriteMode, 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
|
GAP_SIZE
protected static final int GAP_SIZE
- The size of the gap between the vertical ruler and the text widget
- 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
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
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
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
- Since:
- 2.1
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 interface: ITextViewerExtension
- Returns the control of this viewer.
- Specified by:
- getControl in interface ITextViewerExtension
- Overrides:
- getControl in class TextViewer
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.
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
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
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
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
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
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
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
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. Its 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
Guidelines for using Eclipse APIs.
Copyright (c) IBM Corp. and others 2000, 2004. All rights reserved.