UndoManager
UndoManagerクラスはモデル変更を観察し、記録し、undoとredo操作をサポートしています。
実装: IUndoManager
コンストラクター
public UndoManager()
undoManager = UndoManager()
モデル変更を記録する準備は整ったUndoManagerを作成しますが、それはまだ任意のモデルについて知らなかった。
プロパティ
public bool ChecksTransactionLevel { get; set; }
value = undoManager.ChecksTransactionLevel
undoManager.ChecksTransactionLevel = value
この undo マネージャーがトランザクションの外でモデル変更が発生したときに、Trace リスナーに警告を出力するか、または設定します。
public IList<IUndoableEdit> CompoundEdits { get; private set; }
value = undoManager.CompoundEdits
undoManager.CompoundEdits = value
化合物の編集の一覧を取得します。
public CompoundEdit CurrentEdit { get; set; }
value = undoManager.CurrentEdit
undoManager.CurrentEdit = value
追加のモデル変更イベントを記録するための現在の化合物編集を取得します。
public string CurrentTransactionName { get; }
value = undoManager.CurrentTransactionName
文字列 で指定した現在のトランザクション名を取得します。
public IUndoableEdit EditToRedo { get; }
value = undoManager.EditToRedo
何もない場合は、現在の@IUndoableEditを赤くするか、nullを取得します。
public IUndoableEdit EditToUndo { get; }
value = undoManager.EditToUndo
未だにIUndoableEditを、またはnullを持たせます。
public bool IsUndoingRedoing { get; protected set; }
value = undoManager.IsUndoingRedoing
undoManager.IsUndoingRedoing = value
呼びかけ時にUndoやRedoにこのプロパティは真です。
public int MaximumEditCount { get; set; }
value = undoManager.MaximumEditCount
undoManager.MaximumEditCount = value
この undo 管理者が記憶するコンパウンドの編集数を最大に取得または設定します。
public IEnumerable<IDiagramModel> Models { get; }
value = undoManager.Models
このページでは、このUndoManagerのモデルリストを、undo/redo の情報を録画しています。
public IList<string> NestedTransactionNames { get; private set; }
value = undoManager.NestedTransactionNames
undoManager.NestedTransactionNames = value
トランザクション名を継承するスタックを取得します。
public int TransactionLevel { get; protected set; }
value = undoManager.TransactionLevel
undoManager.TransactionLevel = value
現在のトランザクションレベルを取得します。
public int UndoEditIndex { get; protected set; }
value = undoManager.UndoEditIndex
undoManager.UndoEditIndex = value
インデックスをCompoundEditsに送り出し、現在の編集が不可能です。
メソッド
public virtual void AddModel(IDiagramModel model)
undoManager.AddModel(model)
変更されたイベント通知を受信している IDiagramModelについて、この undo 管理者が知っていることを確認してください。
- model
protected virtual CompoundEdit CommitCompoundEdit(CompoundEdit cedit)
result = undoManager.CommitCompoundEdit(cedit)
化合物の編集をコミットするときに、このメソッドは文字列で呼び出されます。
- cedit
- CurrentEdit; コミット時に変更がなかった場合は、この null が無効になる可能性があります。
戻り値: デフォルトでは、変更されていない。
public bool CommitTransaction(string tname)
result = undoManager.CommitTransaction(tname)
文字列を呼び出して、現在のトランザクションをコミットし、トランザクションのプレゼンテーション名で行います。
- tname
- トランザクション名
戻り値: 呼び出しの値を文字列に値する)
protected virtual bool EndTransaction(bool commit, string tname)
result = undoManager.EndTransaction(commit, tname)
現在のトランザクションをストップし、それをロールバックするか、コミットするかのいずれかにします。
- commit
- トランザクションを正常に終了させるには true。 偽りを破棄し、既存の編集をロールバックします。
- tname
- トランザクションのローカル内部のローカル中の名前
戻り値: コミットされたトップレベルのトランザクションのためにtrue
public virtual object FindPrimaryObject(IUndoableEdit edit)
result = undoManager.FindPrimaryObject(edit)
IUndoableEdit は変更されたものを表す編集されたオブジェクトを返します。
- edit
- IUndoableEdit、通常はModelChangedEventArgsまたはCompoundEditのいずれか
戻り値: 通常、Node または Link ですが、モデルプロパティが変更されたため、そのようなオブジェクトがない場合、または引数に実際の編集がなかったため、null になる可能性があります。
public virtual void HandleModelChanged(object sender, ModelChangedEventArgs e)
undoManager.HandleModelChanged(sender, e)
変更されたイベントのIUndoableEdit@を@に作成します。
- sender
- e
public virtual void RemoveModel(IDiagramModel model)
undoManager.RemoveModel(model)
変更されたイベントの通知がなくなったこの undo 管理者に通知するこのメソッドを呼び出します。
- model
public bool RollbackTransaction()
result = undoManager.RollbackTransaction()
文字列を呼び出して、現在のトランザクションをロールバックします。
戻り値: 呼び出しの値を文字列に値する)
protected virtual bool SkipEvent(ModelChangedEventArgs evt)
result = undoManager.SkipEvent(evt)
ModelChangedEventArgsが記録されるのに十分な面白くないと判断するという責任があります。
- evt
戻り値: 通常は、与えられたイベントが記憶される原因となる false です。ただし、ModelChange の負の値の列挙に当てはまります。
public virtual bool StartTransaction(string tname)
result = undoManager.StartTransaction(tname)
変更がCompoundEdit@に保持されるトランザクションを開始。
戻り値: 上位レベルのトランザクションを開始するとtrue