|
Eclipse Platform Release 3.0 |
||||||||||
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
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
interface.
Clients should not subclass this class as it is rather likely that subclasses will be broken by future releases.
Nested Class Summary | |
protected class |
SourceViewer.RulerLayout
Layout of a source viewer. |
Nested classes inherited from class org.eclipse.jface.text.TextViewer |
TextViewer.TextHoverKey, TextViewer.WidgetCommand |
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 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 |
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, 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 |
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. |
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.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
protected static final String _SELECTION_POSITION_CATEGORY
protected static final Object MODEL_ANNOTATION_MODEL
protected IContentAssistant fContentAssistant
protected boolean fContentAssistantInstalled
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 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 bitsMethod Detail |
protected void createControl(Composite parent, int styles)
TextViewer
createControl
in class TextViewer
parent
- the parent of the viewer's controlstyles
- the SWT style bits for the viewer's controlprotected Layout createLayout()
public Control getControl()
ITextViewerExtension
getControl
in interface ITextViewerExtension
getControl
in class TextViewer
public void setAnnotationHover(IAnnotationHover annotationHover)
ISourceViewer
setAnnotationHover
in interface ISourceViewer
annotationHover
- 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)
ISourceViewer
ISourceViewerExtension2.unconfigure()
.
configure
in interface ISourceViewer
configuration
- the source viewer configuration to be usedprotected void ensureAnnotationHoverManagerInstalled()
protected void ensureOverviewHoverManagerInstalled()
public void activatePlugins()
ITextViewer
activatePlugins
in interface ITextViewer
activatePlugins
in class TextViewer
public void setDocument(IDocument document)
ITextViewer
TextEvent
is
issued. This text event does not carry a related document event.
setDocument
in interface ITextViewer
setDocument
in class TextViewer
public void setDocument(IDocument document, int visibleRegionOffset, int visibleRegionLength)
ITextViewer
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)
.
setDocument
in interface ITextViewer
setDocument
in class TextViewer
public void setDocument(IDocument document, IAnnotationModel annotationModel)
ISourceViewer
TextEvent
is issued. This text event does not carry
a related document event.
setDocument
in interface ISourceViewer
document
- 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
public void setDocument(IDocument document, IAnnotationModel annotationModel, int modelRangeOffset, int modelRangeLength)
ISourceViewer
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)
.
setDocument
in interface ISourceViewer
document
- 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()
ISourceViewer
ISourceViewerExtension2.getVisualAnnotationModel()
in order to
get access to the viewer's visual annotation model.
getAnnotationModel
in interface ISourceViewer
public IAnnotationModel getVisualAnnotationModel()
ISourceViewerExtension2
getVisualAnnotationModel
in interface ISourceViewerExtension2
public void unconfigure()
ISourceViewerExtension2
ISourceViewer.configure(SourceViewerConfiguration)
this method
can be called more than once without interleaving calls to
ISourceViewer.configure(SourceViewerConfiguration)
.
unconfigure
in interface ISourceViewerExtension2
protected void handleDispose()
TextViewer
handleDispose
in class TextViewer
public boolean canDoOperation(int operation)
ITextOperationTarget
canDoOperation
in interface ITextOperationTarget
canDoOperation
in class TextViewer
protected 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)
ITextOperationTarget
doOperation
must only be called if canDoOperation
returns true
.
doOperation
in interface ITextOperationTarget
doOperation
in class TextViewer
protected void updateSlaveDocuments(IDocument masterDocument)
updateSlaveDocument
for their current visible range. Subclasses may reimplement.
masterDocument
- the master documentpublic void enableOperation(int operation, boolean enable)
ITextOperationTargetExtension
enableOperation
in interface ITextOperationTargetExtension
enableOperation
in class TextViewer
public void setRangeIndicator(Annotation rangeIndicator)
ISourceViewer
setRangeIndicator
in interface ISourceViewer
rangeIndicator
- the annotation to be used as this viewer's range indicatorpublic void setRangeIndication(int start, int length, boolean moveCursor)
ISourceViewer
setRangeIndication
in interface ISourceViewer
start
- 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 ISourceViewer
public void removeRangeIndication()
ISourceViewer
removeRangeIndication
in interface ISourceViewer
public void showAnnotations(boolean show)
ISourceViewer
By default, annotations and their presentation area are visible.
showAnnotations
in interface ISourceViewer
show
- indicates the visibility of annotationsprotected final IVerticalRuler getVerticalRuler()
public void showAnnotationsOverview(boolean show)
ISourceViewerExtension
showAnnotationsOverview
in interface ISourceViewerExtension
show
- true
if annotation overview should be visible, false
otherwise
|
Eclipse Platform Release 3.0 |
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Guidelines for using Eclipse APIs.
Copyright (c) IBM Corp. and others 2000, 2004. All rights reserved.