ITextView Interface

Represents a view of text in an ITextBuffer. It is the base class for a platform-specific interface that has methods to allow the formatted text to be rendered.

Namespace:  Microsoft.VisualStudio.Text.Editor
Assembly:  Microsoft.VisualStudio.Text.UI (in Microsoft.VisualStudio.Text.UI.dll)

'Declaration
Public Interface ITextView _
	Inherits IPropertyOwner

The ITextView type exposes the following members.

  NameDescription
Public propertyBufferGraphGets the IBufferGraph that contains the set of source buffers that contribute to this view.
Public propertyCaretGets the caret element.
Public propertyHasAggregateFocusDetermines whether the view or any of its adornments has focus.
Public propertyInLayoutDetermines whether the view is in the process of being laid out.
Public propertyIsClosedDetermines whether this text view has been closed.
Public propertyIsMouseOverViewOrAdornmentsDetermines whether the mouse is over the view or any of its adornments.
Public propertyLineHeightGets the nominal height of a line of text in the view.
Public propertyMaxTextRightCoordinateGets the right coordinate of the longest line, whether or not that line is currently visible, in logical pixels.
Public propertyOptionsGets the options for this text view.
Public propertyPropertiesGets the collection of properties controlled by the property owner. (Inherited from IPropertyOwner.)
Public propertyProvisionalTextHighlightGets the span of text covered by the provisional text highlight.
Public propertyRolesThe roles which this view plays. Roles partially determine the extensions that are instantiated for the view.
Public propertySelectionGets the selection element.
Public propertyTextBufferGets the ITextBuffer whose text is rendered in this view.
Public propertyTextDataModelGets the ITextDataModel of this text view.
Public propertyTextSnapshotGets the ITextSnapshot of the text that is currently rendered in the view.
Public propertyTextViewLinesGets a read-only list of the ITextViewLine objects rendered in this view.
Public propertyTextViewModelGets the ITextViewModel of this text view.
Public propertyViewportBottomGets the position of the bottom edge of the viewpoint in the text rendering coordinate system.
Public propertyViewportHeightGets the height of the visible content window (including the margin) in logical pixels.
Public propertyViewportLeftGets or sets the position of the left edge of the viewpoint in the text rendering coordinate system.
Public propertyViewportRightGets the position of the right edge of the viewpoint in the text rendering coordinate system.
Public propertyViewportTopGets the position of the top edge of the viewpoint in the text rendering coordinate system.
Public propertyViewportWidthGets the width of the visible content window (including the margin) in logical pixels.
Public propertyViewScrollerGets a helper that provides various methods to scroll or manipulate the view.
Public propertyVisualSnapshotGets the ITextSnapshot of the visual buffer that is being rendered.
Top

  NameDescription
Public methodCloseCloses the text view host and its view.
Public methodDisplayTextLineContainingBufferPosition(SnapshotPoint, Double, ViewRelativePosition)Formats and displays the contents of the text buffer so that the ITextViewLine containing the buffer position is displayed at the desired position.
Public methodDisplayTextLineContainingBufferPosition(SnapshotPoint, Double, ViewRelativePosition, Nullable(Of Double), Nullable(Of Double))Formats and displays the contents of the text buffer so that the ITextViewLine containing the specified buffer position is displayed at the desired position.
Public methodGetTextElementSpanGets the SnapshotSpan of text that constitutes a text element (a single visual representation) at the given SnapshotPoint.
Public methodGetTextViewLineContainingBufferPositionGets the ITextViewLine that contains the specified text buffer position.
Public methodQueueSpaceReservationStackRefreshRequests a refresh of the space reservation stack.
Top

  NameDescription
Public eventClosedOccurs immediately after the text view is closed.
Public eventGotAggregateFocusOccurs when the keyboard focus switches to the view or one of its adornments.
Public eventLayoutChangedOccurs when the text editor performs a text line layout.
Public eventLostAggregateFocusOccurs when the keyboard focus switches away from the view and any of its adornments.
Public eventMouseHoverOccurs when the mouse has hovered over a character.
Public eventViewportHeightChangedOccurs when the viewport height is changed. Deprecated.
Public eventViewportLeftChangedOccurs when the position of the viewport left edge is changed. Deprecated
Public eventViewportWidthChangedOccurs when the viewport width is changed. Deprecated.
Top

A text view is a platform-independent representation of a contiguous block of formatted and adorned text. The text can be accessed through the TextViewLines property.

For more information about text views, see the section "The Text View" in Inside the Editor.

The text view also instantiates an instance of an IEditorOperations component part so that it can execute various commands.

The text is formatted based on the classifiers that are attached to the underlying ITextBuffer.

Most properties and parameters that are doubles correspond to coordinates or distances in the text rendering coordinate system. In this coordinate system, x = 0.0 corresponds to the left edge of the drawing surface onto which text is rendered (x = view.ViewportLeft corresponds to the left edge of the viewport), and y = view.ViewportTop corresponds to the top edge of the viewport. The x-coordinate increases from left to right, and the y-coordinate increases from top to bottom. The horizontal and vertical axes of the view behave differently. When the text in the view is formatted, only the visible lines are formatted. As a result, a viewport cannot be scrolled horizontally and vertically in the same way. A viewport is scrolled horizontally by changing the left coordinate of the viewport so that it moves with respect to the drawing surface. A view can be scrolled vertically only by performing a new layout. Doing a layout in the view may cause the ViewportTop property of the view to change.

For example, scrolling down one line will not translate any of the visible lines. Instead it will simply change the ViewportTop property, which causes the lines to move on the screen even though their y-coordinates have not changed. Distances in the text rendering coordinate system correspond to logical pixels. If the text rendering surface is displayed without any scaling transform, then one unit in the text rendering coordinate system corresponds to one pixel in the display.

Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2014 Microsoft