C# Class AvalonStudio.TextEditor.Document.TextSegment

A segment that can be put into a TextSegmentCollection{T}.

A TextSegment can be stand-alone or part of a TextSegmentCollection{T}. If the segment is stored inside a TextSegmentCollection, its Offset and Length will be updated by that collection.

When the document changes, the offsets of all text segments in the TextSegmentCollection will be adjusted accordingly. Start offsets move like AnchorMovementType.AfterInsertion, end offsets move like AnchorMovementType.BeforeInsertion (i.e. the segment will always stay as small as possible).

If a document change causes a segment to be deleted completely, it will be reduced to length 0, but segments are never automatically removed from the collection. Segments with length 0 will never expand due to document changes, and they move as AfterInsertion.

Thread-safety: a TextSegmentCollection that is connected to a TextDocument may only be used on that document's owner thread. A disconnected TextSegmentCollection is safe for concurrent reads, but concurrent access is not safe when there are writes. Keep in mind that reading the Offset properties of a text segment inside the collection is a read access on the collection; and setting an Offset property of a text segment is a write access on the collection.

Inheritance: ISegment
Afficher le fichier Open project: VitalElement/AvalonStudio Class Usage Examples

Private Properties

Свойство Type Description
ToDebugString string

Méthodes publiques

Méthode Description
ToString ( ) : string

Méthodes protégées

Méthode Description
OnSegmentChanged ( ) : void

This method gets called when the StartOffset/Length/EndOffset properties are set. It is not called when StartOffset/Length/EndOffset change due to document changes

Private Methods

Méthode Description
ToDebugString ( ) : string

Method Details

OnSegmentChanged() protected méthode

This method gets called when the StartOffset/Length/EndOffset properties are set. It is not called when StartOffset/Length/EndOffset change due to document changes
protected OnSegmentChanged ( ) : void
Résultat void

ToString() public méthode

public ToString ( ) : string
Résultat string