|
Eclipse Platform Release 3.7 |
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.eclipse.jface.viewers.Viewer
org.eclipse.jface.text.TextViewer
org.eclipse.jface.text.source.SourceViewer
public class SourceViewer
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.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.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.viewers.ISelectionProvider |
|---|
addSelectionChangedListener, removeSelectionChangedListener, setSelection |
| Field Detail |
|---|
protected 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
| Constructor Detail |
|---|
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 bits for the viewer's control,
if SWT.WRAP is set then a custom document adapter needs to be provided, see TextViewer.createDocumentAdapter()
public 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 bits for the viewer's control,
if SWT.WRAP is set then a custom document adapter needs to be provided, see TextViewer.createDocumentAdapter()| Method Detail |
|---|
protected void createControl(Composite parent,
int styles)
TextViewer
createControl in class TextViewerparent - the parent of the viewer's controlstyles - the SWT style bits for the viewer's controlprotected Layout createLayout()
public Control getControl()
Viewer
getControl in interface ITextViewerExtensiongetControl in class TextViewerpublic void setAnnotationHover(IAnnotationHover annotationHover)
ISourceViewer
setAnnotationHover 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 setHoverEnrichMode(ITextViewerExtension8.EnrichMode mode)
TextViewernull 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.
setHoverEnrichMode in interface ITextViewerExtension8setHoverEnrichMode in class TextViewermode - the enrich mode, or nullpublic void activatePlugins()
ITextViewer
activatePlugins 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 document null if none
public 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 document or null if nonevisibleRegionOffset - the offset of the model rangevisibleRegionLength - the length of the model range
public 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 model
protected 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()
ISourceViewerExtension3
getQuickAssistAssistant in interface ISourceViewerExtension3null if none is configuredpublic final ContentAssistantFacade getContentAssistantFacade()
getContentAssistantFacade in interface ISourceViewerExtension4null if none is
configuredpublic IQuickAssistInvocationContext getQuickAssistInvocationContext()
ISourceViewerExtension3
getQuickAssistInvocationContext in interface ISourceViewerExtension3null if none is availablepublic IAnnotationModel getVisualAnnotationModel()
ISourceViewerExtension2
getVisualAnnotationModel 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()
TextViewer
handleDispose in class TextViewerpublic boolean canDoOperation(int operation)
ITextOperationTarget
canDoOperation in interface ITextOperationTargetcanDoOperation in class TextVieweroperation - the operation code
true 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 document
public void enableOperation(int operation,
boolean enable)
ITextOperationTargetExtension
enableOperation in interface ITextOperationTargetExtensionenableOperation in class TextVieweroperation - the operation to enable/disableenable - true to enable the operation otherwise falsepublic void setRangeIndicator(Annotation rangeIndicator)
ISourceViewer
setRangeIndicator in interface ISourceViewerrangeIndicator - the annotation to be used as this viewer's range indicator
public void setRangeIndication(int start,
int length,
boolean moveCursor)
ISourceViewer
setRangeIndication 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()
ISourceViewer
getRangeIndication in interface ISourceViewerpublic void removeRangeIndication()
ISourceViewer
removeRangeIndication 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)
ISourceViewerExtension
showAnnotationsOverview in interface ISourceViewerExtensionshow - true if annotation overview should be visible, false otherwisepublic IAnnotationHover getCurrentAnnotationHover()
ISourceViewerExtension3null otherwise.
getCurrentAnnotationHover in interface ISourceViewerExtension3null
|
Eclipse Platform Release 3.7 |
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
Guidelines for using Eclipse APIs.
Copyright (c) Eclipse contributors and others 2000, 2011. All rights reserved.