IProjectionBuffer Interface

A text buffer that contains projections of other text buffers, composed of a list of tracking spans of those buffers. The buffers that contribute to the projection buffer are called source buffers, and the tracking spans that describe the contributed regions are called source spans.

Namespace:  Microsoft.VisualStudio.Text.Projection
Assembly:  Microsoft.VisualStudio.Text.Data (in Microsoft.VisualStudio.Text.Data.dll)

Syntax

'Declaration
Public Interface IProjectionBuffer _
    Inherits IProjectionBufferBase, ITextBuffer, IPropertyOwner
public interface IProjectionBuffer : IProjectionBufferBase, 
    ITextBuffer, IPropertyOwner
public interface class IProjectionBuffer : IProjectionBufferBase, 
    ITextBuffer, IPropertyOwner
type IProjectionBuffer =  
    interface 
        interface IProjectionBufferBase 
        interface ITextBuffer 
        interface IPropertyOwner 
    end
public interface IProjectionBuffer extends IProjectionBufferBase, ITextBuffer, IPropertyOwner

The IProjectionBuffer type exposes the following members.

Properties

  Name Description
Public property ContentType Gets the content type of the text in the buffer. (Inherited from ITextBuffer.)
Public property CurrentSnapshot Gets the current snapshot of the contents of the projection buffer. (Inherited from IProjectionBufferBase.)
Public property EditInProgress Determines whether an edit operation is currently in progress on the ITextBuffer. (Inherited from ITextBuffer.)
Public property Properties Gets the collection of properties controlled by the property owner. (Inherited from IPropertyOwner.)
Public property SourceBuffers Gets the set of ITextBuffer objects that directly contribute to the projection buffer. (Inherited from IProjectionBufferBase.)

Top

Methods

  Name Description
Public method ChangeContentType Changes the IContentType for this ITextBuffer. (Inherited from ITextBuffer.)
Public method CheckEditAccess Determines whether edit operations on this text buffer are permitted on the calling thread. (Inherited from ITextBuffer.)
Public method CreateEdit() Creates an ITextEdit object that handles compound edit operations on this buffer. (Inherited from ITextBuffer.)
Public method CreateEdit(EditOptions, Nullable<Int32>, Object) Creates an ITextEdit object that handles compound edit operations on this buffer. (Inherited from ITextBuffer.)
Public method CreateReadOnlyRegionEdit Creates an IReadOnlyRegionEdit object that handles adding or removing read-only regions from this buffer. (Inherited from ITextBuffer.)
Public method Delete Deletes a span of characters from the buffer. (Inherited from IProjectionBufferBase.)
Public method DeleteSpans Deletes a sequence of source spans from the projection buffer.
Public method GetReadOnlyExtents Gets a list of read-only regions that overlap the given span. (Inherited from ITextBuffer.)
Public method Insert Inserts the specified text at the specified position in the ITextBuffer. (Inherited from IProjectionBufferBase.)
Public method InsertSpan(Int32, ITrackingSpan) Inserts a tracking span into the list of source spans.
Public method InsertSpan(Int32, String) Inserts a literal string into the list of source spans.
Public method InsertSpans Inserts a list of ITrackingSpan objects and/or literal strings into the list of source spans in the order in which they appear in the list.
Public method IsReadOnly(Int32) Determines whether a text insertion would be prohibited at the specified position due to an IReadOnlyRegion. (Inherited from ITextBuffer.)
Public method IsReadOnly(Span) Determines whether a text modification or deletion would be prohibited at span due to an IReadOnlyRegion. (Inherited from ITextBuffer.)
Public method IsReadOnly(Int32, Boolean) Determines whether a text insertion would be prohibited at the specified position due to an IReadOnlyRegion. (Inherited from ITextBuffer.)
Public method IsReadOnly(Span, Boolean) Determines whether a text modification or deletion would be prohibited at span due to an IReadOnlyRegion. (Inherited from ITextBuffer.)
Public method Replace Replaces a span of characters with different text. This is equivalent to first deleting the text to be replaced and then inserting the new text. (Inherited from IProjectionBufferBase.)
Public method ReplaceSpans Replaces a sequence of source spans with a new list of ITrackingSpan objects and/or literal strings.
Public method TakeThreadOwnership Claims ownership of this buffer for the current thread. All subsequent modifications of this ITextBuffer must be made from the current thread, or else an InvalidOperationException will be raised. (Inherited from ITextBuffer.)

Top

Events

  Name Description
Public event Changed Occurs when a non-empty ITextEdit is successfully applied. (Inherited from ITextBuffer.)
Public event ChangedHighPriority Occurs when a non-empty ITextEdit is successfully applied. (Inherited from ITextBuffer.)
Public event ChangedLowPriority Occurs when a non-empty ITextEdit is successfully applied. (Inherited from ITextBuffer.)
Public event Changing Occurs just before a non-empty ITextEdit is applied. (Inherited from ITextBuffer.)
Public event ContentTypeChanged Occurs whenever the IContentType has been changed. (Inherited from ITextBuffer.)
Public event PostChanged Occurs after the Changed event and any resulting edits. (Inherited from ITextBuffer.)
Public event ReadOnlyRegionsChanged Occurs when a IReadOnlyRegionEdit has created or removed read-only regions. (Inherited from ITextBuffer.)
Public event SourceBuffersChanged Raised when source buffers are added or deleted by virtue of the addition or deletion of source spans. This event is raised before the SourceSpansChanged event is raised.
Public event SourceSpansChanged Raised when source spans are added or deleted.

Top

Remarks

For more information about projection, see the section "Projection" in Inside the Editor.

See Also

Reference

Microsoft.VisualStudio.Text.Projection Namespace