Eclipse Platform
2.1

org.eclipse.jface.text.source
Class ProjectionSourceViewer

java.lang.Object
  |
  +--org.eclipse.jface.viewers.Viewer
        |
        +--org.eclipse.jface.text.TextViewer
              |
              +--org.eclipse.jface.text.source.SourceViewer
                    |
                    +--org.eclipse.jface.text.source.ProjectionSourceViewer
All Implemented Interfaces:
IInputProvider, IInputSelectionProvider, ISelectionProvider, ISourceViewer, ISourceViewerExtension, ITextOperationTarget, ITextOperationTargetExtension, ITextViewer, ITextViewerExtension, ITextViewerExtension2, ITextViewerExtension3, IWidgetTokenOwner

public class ProjectionSourceViewer
extends SourceViewer
implements ISourceViewer, ITextViewerExtension3

A projection source viewer is a source viewer which does not support the concept of a visible region. Instead it supports to dynamically hide and show regions of its document. Uses ProjectionDocumentManager as it internal slave document manager.

This class is for internal use only.

Since:
2.1

Inner classes inherited from class org.eclipse.jface.text.TextViewer
TextViewer.TextHoverKey, TextViewer.WidgetCommand
 
Fields inherited from class org.eclipse.jface.text.source.SourceViewer
fAnnotationHover, fContentAssistant, fContentAssistantInstalled, fContentFormatter, fInformationPresenter, fPresentationReconciler, fReconciler, GAP_SIZE
 
Fields inherited from class org.eclipse.jface.text.TextViewer
fAutoIndentStrategies, fDefaultPrefixChars, fDoubleClickStrategies, fEventConsumer, fHoverControlCreator, fIgnoreAutoIndent, fIndentChars, fInformationMapping, fLastTopPixel, fPaintManager, fReplaceTextPresentation, fTextHovers, fTextInputListeners, fTextListeners, 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
ProjectionSourceViewer(Composite parent, IVerticalRuler ruler, int styles)
          Creates a new projection source viewer.
 
Method Summary
 void collapse(int offset, int length)
          Hides the given range by collapsing it.
protected  ISlaveDocumentManager createSlaveDocumentManager()
          Creates a new slave document manager.
 void expand(int offset, int length)
          Makes all hidden ranges in the given range visible again.
 IAnnotationModel getProjectionAnnotationModel()
          Returns the projection annotation model.
 IDocument getVisibleDocument()
          Returns the viewer's visible document.
 IRegion getVisibleRegion()
          Returns the current visible region of this viewer's document.
protected  int getVisibleRegionOffset()
           
protected  void handleDispose()
          Frees all resources allocated by this viewer.
protected  void handleVerifyEvent(VerifyEvent e)
           
protected  IRegion internalGetVisibleRegion()
           
 boolean overlapsWithVisibleRegion(int offset, int length)
          Returns whether a given range overlaps with the visible region of this viewer's document.
 void setDocument(IDocument document, IAnnotationModel annotationModel, int visibleRegionOffset, int visibleRegionLength)
          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 setProjectionAnnotationModel(IAnnotationModel projectionAnnotationModel)
          Sets the projection annotation model.
protected  boolean updateVisibleDocument(IDocument visibleDocument, int visibleRegionOffset, int visibleRegionLength)
          Sets the given slave document to the specified range of its master document.
 
Methods inherited from class org.eclipse.jface.text.source.SourceViewer
activatePlugins, canDoOperation, configure, createControl, doOperation, enableOperation, ensureAnnotationHoverManagerInstalled, ensureOverviewHoverManagerInstalled, getAnnotationModel, getControl, getRangeIndication, removeRangeIndication, setAnnotationHover, setDocument, setDocument, setDocument, setRangeIndication, setRangeIndicator, showAnnotations, showAnnotationsOverview
 
Methods inherited from class org.eclipse.jface.text.TextViewer
_getVisibleRegionOffset, _internalGetVisibleRegion, addPainter, addTextInputListener, addTextListener, addViewportListener, appendVerifyKeyListener, areMultipleLinesSelected, canPerformFind, changeTextPresentation, createDocumentAdapter, createSlaveDocument, createTextWidget, customizeDocumentCommand, deleteText, disableRedrawing, enabledRedrawing, event2ModelRange, findAndSelect, fireInputDocumentAboutToBeChanged, fireInputDocumentChanged, getAverageCharWidth, getBottomIndex, getBottomIndexEndOffset, getClosestWidgetLineForModelLine, getCurrentTextHover, getDocument, getExtent, getFindReplaceTarget, getHoverEventLocation, getInput, getMark, getModelCoverage, getPaintManager, getRewriteTarget, getSelectedRange, getSelection, getSelectionProvider, getSlaveDocumentManager, getTextHover, getTextHover, getTextHoveringController, getTextOperationTarget, getTextWidget, getTopIndex, getTopIndexStartOffset, getTopInset, getVisibleLinesInViewport, getWidthInPixels, getWidthInPixels, ignoreAutoEditStrategies, initializeDocumentInformationMapping, inputChanged, internalRevealRange, invalidateTextPresentation, invalidateTextPresentation, isBlockSelected, isEditable, isIgnoringAutoEditStrategies, isPrintable, markChanged, modelLine2WidgetLine, modelOffset2WidgetOffset, modelRange2WidgetRange, modelRange2WidgetRange, modelSelection2WidgetSelection, modelStyleRange2WidgetStyleRange, prependAutoEditStrategy, prependVerifyKeyListener, print, redraws, refresh, releaseWidgetToken, removeAutoEditStrategy, removePainter, removeTextHovers, removeTextInputListener, removeTextListener, removeVerifyKeyListener, removeViewportListener, requestWidgetToken, resetPlugins, resetVisibleRegion, revealRange, selectContentTypePlugin, selectionChanged, setAutoIndentStrategy, setDefaultPrefixes, setEditable, setEventConsumer, setHoverControlCreator, setIndentPrefixes, setInput, setMark, setRedraw, setSelectedRange, setSelection, setTextColor, setTextColor, setTextDoubleClickStrategy, setTextHover, setTextHover, setTopIndex, setUndoManager, setVisibleDocument, setVisibleRegion, shift, shift, startSequentialRewriteMode, stopSequentialRewriteMode, updateTextListeners, updateViewportListeners, validateSelectionRange, 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.source.ISourceViewer
configure, getAnnotationModel, getRangeIndication, removeRangeIndication, setAnnotationHover, setDocument, setRangeIndication, setRangeIndicator, showAnnotations
 
Methods inherited from interface org.eclipse.jface.text.ITextViewer
activatePlugins, addTextInputListener, addTextListener, addViewportListener, changeTextPresentation, getBottomIndex, getBottomIndexEndOffset, getDocument, getFindReplaceTarget, getSelectedRange, getSelectionProvider, getTextOperationTarget, getTextWidget, getTopIndex, getTopIndexStartOffset, getTopInset, invalidateTextPresentation, isEditable, removeTextInputListener, removeTextListener, removeViewportListener, resetPlugins, resetVisibleRegion, revealRange, setAutoIndentStrategy, setDefaultPrefixes, setDocument, setDocument, setEditable, setEventConsumer, setIndentPrefixes, setSelectedRange, setTextColor, setTextColor, setTextDoubleClickStrategy, setTextHover, setTopIndex, setUndoManager, setVisibleRegion
 
Methods inherited from interface org.eclipse.jface.text.ITextViewerExtension3
getModelCoverage, modelLine2WidgetLine, modelOffset2WidgetOffset, modelRange2WidgetRange, widgetLineOfWidgetOffset, widgetlLine2ModelLine, widgetOffset2ModelOffset, widgetRange2ModelRange
 

Constructor Detail

ProjectionSourceViewer

public ProjectionSourceViewer(Composite parent,
                              IVerticalRuler ruler,
                              int styles)
Creates a new projection source viewer.
Parameters:
parent - the SWT parent control
ruler - the vertical ruler
styles - the SWT style bits
Method Detail

setDocument

public void setDocument(IDocument document,
                        IAnnotationModel annotationModel,
                        int visibleRegionOffset,
                        int visibleRegionLength)
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 made visible. An approriate 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
Overrides:
setDocument in class SourceViewer
Following copied from interface: org.eclipse.jface.text.source.ISourceViewer
Parameters:
document - the new input document
annotationModel - the model of the viewer's visual annotations
visibleRegionOffset - the offset of the visible region
visibleRegionLength - the length of the visible region
See Also:
ITextViewer.setDocument(IDocument, int, int)

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 SourceViewer

getProjectionAnnotationModel

public IAnnotationModel getProjectionAnnotationModel()
Returns the projection annotation model.
Returns:
the projection annotation model

setProjectionAnnotationModel

public void setProjectionAnnotationModel(IAnnotationModel projectionAnnotationModel)
Sets the projection annotation model.
Parameters:
projectionAnnotationModel - the projection annotation model

createSlaveDocumentManager

protected ISlaveDocumentManager createSlaveDocumentManager()
Description copied from class: TextViewer
Creates a new slave document manager. This implementation always returns a ChildDocumentManager.
Overrides:
createSlaveDocumentManager in class TextViewer
Following copied from class: org.eclipse.jface.text.TextViewer
Returns:
ISlaveDocumentManager

updateVisibleDocument

protected boolean updateVisibleDocument(IDocument visibleDocument,
                                        int visibleRegionOffset,
                                        int visibleRegionLength)
                                 throws BadLocationException
Description copied from class: TextViewer
Sets the given slave document to the specified range of its master document.
Overrides:
updateVisibleDocument in class TextViewer
Following copied from class: org.eclipse.jface.text.TextViewer
Parameters:
visibleDocument - the slave document
visibleRegionOffset - the offset of the master document range
visibleRegionLength - the length of the master document range
Returns:
true if the slave has been adapted successfully
Throws:
BadLocationException - in case the specified range is not valid in the master document

collapse

public void collapse(int offset,
                     int length)
Hides the given range by collapsing it.
Parameters:
offset - the offset of the range to hide
length - the length of the range to hide

expand

public void expand(int offset,
                   int length)
Makes all hidden ranges in the given range visible again.
Parameters:
offset - the offset of the range
length - the length of the range

getVisibleRegion

public IRegion getVisibleRegion()
Description copied from interface: ITextViewer
Returns the current visible region of this viewer's document. The result may differ from the argument passed to setVisibleRegion if the document has been modified since then.
Specified by:
getVisibleRegion in interface ITextViewer
Overrides:
getVisibleRegion in class TextViewer
Following copied from interface: org.eclipse.jface.text.ITextViewer
Returns:
this viewer's current visible region

getVisibleRegionOffset

protected int getVisibleRegionOffset()

internalGetVisibleRegion

protected IRegion internalGetVisibleRegion()

overlapsWithVisibleRegion

public boolean overlapsWithVisibleRegion(int offset,
                                         int length)
Description copied from interface: ITextViewer
Returns whether a given range overlaps with the visible region of this viewer's document.
Specified by:
overlapsWithVisibleRegion in interface ITextViewer
Overrides:
overlapsWithVisibleRegion in class TextViewer
Following copied from interface: org.eclipse.jface.text.ITextViewer
Returns:
true if the specified range overlaps with the visible region

getVisibleDocument

public IDocument getVisibleDocument()
Description copied from class: TextViewer
Returns the viewer's visible document.
Overrides:
getVisibleDocument in class TextViewer
Following copied from class: org.eclipse.jface.text.TextViewer
Returns:
the viewer's visible document

handleVerifyEvent

protected void handleVerifyEvent(VerifyEvent e)
Overrides:
handleVerifyEvent in class TextViewer
Following copied from class: org.eclipse.jface.text.TextViewer
See Also:
VerifyListener.verifyText(VerifyEvent)

Eclipse Platform
2.1

Copyright (c) IBM Corp. and others 2000, 2003. All Rights Reserved.