IMultiSelectionBroker Schnittstelle

Definition

Verwaltet alle Caretzeichen und wählt das Verhalten für eine aus ITextView . Behandelt Mehrfachauswahl und Feldauswahl. In dieser Namespace-einfügedomäne werden Sie als Teil der Auswahl betrachtet und durch dargestellt InsertionPoint .

public interface class IMultiSelectionBroker
public interface IMultiSelectionBroker
type IMultiSelectionBroker = interface
Public Interface IMultiSelectionBroker

Eigenschaften

ActivationTracksFocus

Bestimmt, ob AreSelectionsActive verfolgen soll, wenn ITextView an aggregiertem Fokus zu- oder abnimmt. Der Standardwert ist true.

AllSelections

Ruft eine Liste aller Auswahl Optionen ab, die zugeordnet sind TextView . Sie werden in der Reihenfolge ihrer Darstellung in der zugrunde liegenden Momentaufnahme sortiert. Diese Eigenschaft ist für Bearbeitungsvorgänge gedacht und kann Rechen intensiv sein. Wenn nicht alle Auswahlmöglichkeiten erforderlich sind, verwenden Sie GetSelectionsIntersectingSpan(SnapshotSpan) stattdessen.

Dadurch wird eine Auswahl als zurückgegeben Selection .

AreSelectionsActive

Gibt an, ob die Auswahl innerhalb von aktiv ist TextView .

BoxSelection

Wenn IsBoxSelection den Wert truehat, wird eine instanziierte zurückgegeben, die der Aufrufer Selection Abfragen oder bearbeiten kann, um mit dem Feld selbst zu arbeiten. Aufrufe von AllSelections oder GetSelectionsIntersectingSpan(SnapshotSpan) geben individuelle pro-Zeile-Einträge anstelle des vollständigen Felds zurück.

Wenn IsBoxSelection falseist, wird NULL zurückgegeben.

CurrentSnapshot

Ruft den aktuellen ab, der den ITextSnapshot Anker-, aktiven und einfügepunkten für alles zugeordnet ist, das von diesem Broker verwaltet wird. Diese Momentaufnahme basiert immer auf der EditBuffer für die zugeordnete ITextView .

HasMultipleSelections

Ruft ab, ob in mehrere Auswahlmöglichkeiten vorhanden sind AllSelections .

IsBoxSelection

Gibt true zurück SetBoxSelection(Selection) , wenn aufgerufen wurde, und die Auswahl wird von der Box-Geometrie anstelle von manuell durch den Benutzer verwaltet. ClearSecondarySelections() und BreakBoxSelection() werden auf falsezurückgesetzt, und einige andere Methoden wie AddSelection(Selection) werden indirekt auch auf falsefestgelegt.

PrimarySelection

Ruft die primäre Auswahl ab, die nach dem Aufrufen von beibehalten werden soll ClearSecondarySelections() .

SelectedSpans

Ruft die Liste der Spannen innerhalb von ab CurrentSnapshot , die ausgewählt sind. Zwei Auswahlmöglichkeiten können sich zwar nicht überlappen, Sie können jedoch den virtuellen Raum bewohnen, und die Auswahl kann nebeneinander liegen. Hierdurch werden diese Spannen zusammengeführt, und der minimale Satz an spannen, der zum Beschreiben der Auswahl verwendet werden kann, wird zurückgegeben. Dies kann ein kostspieliger Vorgang sein und sollte nur bei Bedarf ausgeführt werden.

SelectionExtent

Ruft die Spanne ab, die alle Auswahlen enthält, vollständig mit virtuellem Leerraum

TextView

Ruft die Ansicht ab, für die dieser Broker die Auswahl verwaltet.

VirtualSelectedSpans

Gibt den Satz von spannen ausgewählt an. Es gibt genau eine Spanne pro Auswahl, die aber möglicherweise leer ist. Sie werden in der Reihenfolge der Darstellung im Dokument sortiert.

Methoden

AddSelection(Selection)

Fügt eine Auswahl hinzu AllSelections .

AddSelectionRange(IEnumerable<Selection>)

Fügt eine Liste von Auswahl Optionen zu hinzu AllSelections .

BeginBatchOperation()
BreakBoxSelection()

Löscht BoxSelection , behält aber den aktuellen Status der Auswahl bei. Dies ist ein nützliches Hilfsprogramm, wenn Sie Gesten wie "Ende" und "Home" durchführen, wobei jede Auswahl verschoben wird. das Ergebnis ist jedoch nicht notwendigerweise ein Feld

ClearSecondarySelections()

Entfernt alle außer PrimarySelection aus der Sitzung.

GetSelectionsIntersectingSpan(SnapshotSpan)

Ruft eine Liste der Auswahl ab, die die angegebene Spanne überschneidet. Virtuelle Leerzeichen werden für diese Methode ignoriert.

GetSelectionsIntersectingSpans(NormalizedSnapshotSpanCollection)

Ruft eine Liste aller Auswahl Optionen ab, die die angegebene Span-Auflistung überschneiden. Virtuelle Leerzeichen werden für diese Methode ignoriert.

PerformActionOnAllSelections(Action<ISelectionTransformer>)

Führt eine benutzerdefinierte Aktion für alle s aus, die in Selection enthalten sind TextView .

PerformActionOnAllSelections(PredefinedSelectionTransformations)

Führt eine vordefinierte Bearbeitung für alle s aus, die in Selection enthalten sind TextView .

SetBoxSelection(Selection)

Fügt der Auswahl ein Feld mit den angegebenen Punkten als Ecken hinzu.

SetSelection(Selection)

Löscht die aktuelle Auswahl und fügt eine als neuen Wert hinzu. Dies wird auch zum PrimarySelection .

SetSelectionRange(IEnumerable<Selection>, Selection)

Löscht die aktuelle Auswahl, fügt den bereitgestellten Bereich hinzu und legt die primäre Auswahl fest.

TransformSelection(Selection, PredefinedSelectionTransformations)

Führt die angegebene Transformation für die angegebene Auswahl ohne Aktualisierung aus AllSelections . Das Verhalten bevorzugter X-und Y-Koordinaten für die im Broker bereits im Broker bereits angegebenen Optionen ist nicht definiert.

TryEnsureVisible(Selection, EnsureSpanVisibleOptions)

Versucht, die angegebene Auswahl in der Ansicht sichtbar zu machen.

TryGetSelectionPresentationProperties(Selection, AbstractSelectionPresentationProperties)

Trys, um die der angegebenen Auswahl zugeordneten UI-Eigenschaften zu erhalten.

TryPerformActionOnSelection(Selection, Action<ISelectionTransformer>, Selection)

Versucht, eine benutzerdefinierte Aktion für einen einzelnen auszuführen Selection .

TryPerformActionOnSelection(Selection, PredefinedSelectionTransformations, Selection)

Versucht, eine vordefinierte Aktion für einen einzelnen auszuführen Selection .

TryRemoveSelection(Selection)

Entfernt eine Auswahl aus der Ansicht.

TrySetAsPrimarySelection(Selection)

Versucht, die angegebene Auswahl auf den neuen festzulegen PrimarySelection .

Ereignisse

MultiSelectionSessionChanged

Tritt auf, wenn die Auswahl hinzugefügt/entfernt/aktualisiert wird. Außerdem, wenn die primäre Auswahl geändert wird und der Feldauswahl Modus eingegeben/beendet wird.

Gilt für