UndoManager

StockSharp.Xaml.Diagram.GXDiagram.Model

Die Klasse UndoManager beobachtet und zeichnet Modelländerungen auf und unterstützt Rückgängig- und Redo-Operationen.

Implementiert: IUndoManager

Konstruktoren

UndoManager
public UndoManager()
undoManager = UndoManager()

Erstellen Sie ein UndoManager, das bereit ist, Modelländerungen aufzuzeichnen, aber noch keine Modelle kennt.

Eigenschaften

ChecksTransactionLevel
public bool ChecksTransactionLevel { get; set; }
value = undoManager.ChecksTransactionLevel
undoManager.ChecksTransactionLevel = value

Gibt oder legt fest, ob dieser Rückgängig-Manager Warnungen an Trace-Hörer ausgibt, wenn Modelländerungen außerhalb einer Transaktion auftreten.

CompoundEdits
public IList<IUndoableEdit> CompoundEdits { get; private set; }
value = undoManager.CompoundEdits
undoManager.CompoundEdits = value

Erhaltet eine Liste aller Compound Edits.

CurrentEdit
public CompoundEdit CurrentEdit { get; set; }
value = undoManager.CurrentEdit
undoManager.CurrentEdit = value

Bekommt die aktuelle Compound-Editierung für die Aufzeichnung zusätzlicher Modelländerungsereignisse.

CurrentTransactionName
public string CurrentTransactionName { get; }
value = undoManager.CurrentTransactionName

Bekommt den aktuellen Transaktionsnamen, der von String angegeben wird.

EditToRedo
public IUndoableEdit EditToRedo { get; }
value = undoManager.EditToRedo

Bekommt die aktuelle IUndoableEdit neu, oder null, wenn es keine gibt.

EditToUndo
public IUndoableEdit EditToUndo { get; }
value = undoManager.EditToUndo

Bekommt die aktuelle IUndoableEdit rückgängig gemacht werden, oder null, wenn es keine.

IsUndoingRedoing
public bool IsUndoingRedoing { get; protected set; }
value = undoManager.IsUndoingRedoing
undoManager.IsUndoingRedoing = value

Diese Eigenschaft ist während eines Anrufs bei Undo oder Redo wahr.

MaximumEditCount
public int MaximumEditCount { get; set; }
value = undoManager.MaximumEditCount
undoManager.MaximumEditCount = value

Bekommt oder legt die maximale Anzahl von zusammengesetzten Bearbeitungen fest, an die sich dieser Undo-Manager erinnern wird.

Models
public IEnumerable<IDiagramModel> Models { get; }
value = undoManager.Models

Erhaltet eine Liste von Modellen, für die diese UndoManager Rückgängig- / Redo-Informationen aufzeichnet.

NestedTransactionNames
public IList<string> NestedTransactionNames { get; private set; }
value = undoManager.NestedTransactionNames
undoManager.NestedTransactionNames = value

Erhaltet einen Stapel von laufenden Transaktionsnamen.

TransactionLevel
public int TransactionLevel { get; protected set; }
value = undoManager.TransactionLevel
undoManager.TransactionLevel = value

Bekommt das aktuelle Transaktionsniveau.

UndoEditIndex
public int UndoEditIndex { get; protected set; }
value = undoManager.UndoEditIndex
undoManager.UndoEditIndex = value

Bringt den Index in CompoundEdits für die aktuelle undoable Bearbeitung.

Methoden

AddModel
public virtual void AddModel(IDiagramModel model)
undoManager.AddModel(model)

Stellen Sie sicher, dass dieser Rückgängig-Manager von einem IDiagramModel weiß, für den er Benachrichtigungen über geänderte Ereignisse erhält.

model
CanRedo
public virtual bool CanRedo()
result = undoManager.CanRedo()

Dieses Prädikat ist wahr, wenn man Redo anrufen kann.

CanUndo
public virtual bool CanUndo()
result = undoManager.CanUndo()

Dieses Prädikat ist wahr, wenn man Undo anrufen kann.

Clear
public virtual void Clear()
undoManager.Clear()

Löschen Sie alle CompoundEdits und setzen Sie alle anderen Status zurück.

CommitCompoundEdit
protected virtual CompoundEdit CommitCompoundEdit(CompoundEdit cedit)
result = undoManager.CommitCompoundEdit(cedit)

Diese Methode wird von String aufgerufen, wenn eine zusammengesetzte Bearbeitung vorgenommen wird.

cedit
CurrentEdit; dies kann null sein, wenn es keine Änderungen zum Commit-Zeitpunkt gegeben hat

Rückgabe: Standardmäßig ist das Unmodifizierte.

CommitTransaction
public bool CommitTransaction(string tname)
result = undoManager.CommitTransaction(tname)

Rufen Sie einfach String auf, indem Sie die aktuelle Transaktion mit dem Präsentationsnamen für die Transaktion festlegen.

tname
Transaktionsname

Rückgabe: Der Wert des Aufrufs zu String

EndTransaction
protected virtual bool EndTransaction(bool commit, string tname)
result = undoManager.EndTransaction(commit, tname)

Stoppen Sie die aktuelle Transaktion, entweder rollen Sie sie zurück oder begehen Sie sie.

commit
True, um die Transaktion normal zu beenden; false, um sie abzubrechen und die vorhandenen Änderungen zurückzunehmen
tname
der interne, gebietsneutrale Name für die Transaktion

Rückgabe: Treu für eine engagierte Top-Level-Transaktion

FindPrimaryObject
public virtual object FindPrimaryObject(IUndoableEdit edit)
result = undoManager.FindPrimaryObject(edit)

Bei einem IUndoableEdit geben Sie ein bearbeitetes Objekt zurück, das das darstellt, was geändert wurde.

edit
ein IUndoableEdit, in der Regel entweder ein ModelChangedEventArgs oder ein CompoundEdit

Rückgabe: In der Regel ein Knoten oder ein Link, aber dies kann null sein, wenn es kein solches Objekt gibt, vielleicht weil eine Modelleigenschaft geändert wurde oder weil es keine echten Änderungen im Argument gab.

HandleModelChanged
public virtual void HandleModelChanged(object sender, ModelChangedEventArgs e)
undoManager.HandleModelChanged(sender, e)

Erstellen Sie ein IUndoableEdit für ein geändertes Ereignis.

sender
e
Redo
public virtual void Redo()
undoManager.Redo()

Stellen Sie den Zustand einiger Modelle nach dem aktuellen IUndoableEdit wiederherstellen.

RemoveModel
public virtual void RemoveModel(IDiagramModel model)
undoManager.RemoveModel(model)

Rufen Sie diese Methode auf, um diesen Rückgängig-Manager darüber zu informieren, dass er nicht mehr über geänderte Ereignisse informiert wird.

model
RollbackTransaction
public bool RollbackTransaction()
result = undoManager.RollbackTransaction()

Rufen Sie einfach String an und rollen Sie die aktuelle Transaktion zurück.

Rückgabe: Der Wert des Aufrufs zu String

SkipEvent
protected virtual bool SkipEvent(ModelChangedEventArgs evt)
result = undoManager.SkipEvent(evt)

Dieses Prädikat ist dafür verantwortlich, zu entscheiden, ob ein ModelChangedEventArgs nicht interessant genug ist, um aufgezeichnet zu werden.

evt

Rückgabe: normalerweise falsch, was dazu führt, dass das gegebene Ereignis erinnert wird; aber wahr für negativ bewertete Aufzählungen von ModelChange.

StartTransaction
public virtual bool StartTransaction(string tname)
result = undoManager.StartTransaction(tname)

Beginnen Sie eine Transaktion, bei der die Änderungen von CompoundEdit gehalten werden.

Rückgabe: true, wenn Sie eine Top-Level-Transaktion starten

ToString
public override string ToString()
result = undoManager.ToString()

Zum Debuggen.

Undo
public virtual void Undo()
undoManager.Undo()

Stellen Sie den Zustand einiger Modelle auf vor dem aktuellen IUndoableEdit wiederherstellen.