UndoManager

StockSharp.Xaml.Diagram.GXDiagram.Model

UndoManager类观察并记录模型的改变,并支持撤销和再做操作.

实现: IUndoManager

构造函数

UndoManager
public UndoManager()
undoManager = UndoManager()

创建一个UndoManager,它准备记录模型修改,但目前还不知道任何模型.

属性

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

当模型更改发生在交易之外时, 获取或设定此撤销管理器是否会向 Trace 聆听者输出警告 。

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

获得所有复数编辑的列表。

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

获得当前复合编辑,以记录额外的模型更改事件。

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

获取 String 给出的当前交易名称 。

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

使当前 IUndoableEdit 重新打开, 如果没有, 则无效 。

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

使当前 IUndoableEdit 被撤销, 如果没有, 则无效 。

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

在调用 Undo 或 Redo 时, 此属性是真实的 。

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

获取或设定此撤消管理器将记住的化合物编辑的最大次数 。

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

获得一个列表, 列出此%% 2S0%% 正在录制的取消/ 重做信息的模型 。

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

获取一叠正在进行的交易名称 。

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

获得当前交易级别。

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

将索引输入当前可撤销编辑的 CompoundEdits 。

方法

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

确保这个取消管理器知道一个IDiagramModel,它正在接收模型更改的事件通知 。

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

这样的上游是真实的,当人们可以叫Redo。

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

此上游可调用 Undo 时为真.

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

清除所有CompoundEdits并重置其他状态.

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

这种方法在进行复式编辑时被 String 所取名.

cedit
; 如果在承诺时间没有变化, 则此选项可能无效 。

返回值: 默认情况下,未修改的.

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

只需拨打 String , 执行当前交易, 并带有交易的演示名称 。

tname
交易名称

返回值: 字符串的调用值)

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

停止当前交易,要么将其翻回,要么承诺.

commit
真要正常终止交易; 假以中止并回滚已存在的编辑
tname
交易的内部位置中立名称

返回值: 用于已承诺的顶级交易的正本

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

将 IUndoableEdit 返回一个代表修改内容的已编辑对象 。

edit
通常为ModelChangedEventArgs或CompoundEdit的IUndoableEdit

返回值: 通常为节点或链接,但如果没有这样的对象,这可能无效,可能是因为模型属性被修改,或者因为参数中没有真正的编辑. .

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

为已改变的事件创建 IUndoableEdit 。

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

将一些模型状态恢复到当前 IUndoableEdit 之后 。

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

调用这种方法通知这个取消管理器, 它将不再被通知模型已改变的事件 。

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

给String打电话 取消现在的交易

返回值: 字符串的调用值)

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

这个上游负责决定ModelChangedEventArgs是否不够有趣,无法被记录.

evt

返回值: 通常不正确,因此可以记住给定的事件;但ModelChange的负值计数是真实的。

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

开始交易, 更改由 CompoundEdit 持有 。

返回值: 启动顶级交易时为真

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

为调试.

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

将一些模型的状态恢复到当前 IUndoableEdit 之前 。