public void tトランザクション記録を終了する() { // リストノードを閉じる。 if (this.urd現在のリストノード.urd親ノード != null) { CUndoRedoDirectory item = this.urd現在のリストノード; this.urd現在のリストノード = this.urd現在のリストノード.urd親ノード; if (item.listノード.Count == 0) { this.urd現在のリストノード.listノード.Remove(item); this.urd現在のリストノード.n次にノードが追加される位置0to--; } } }
public void tトランザクション記録を開始する() { // リストノードを追加して開く。 int index = this.urd現在のリストノード.n次にノードが追加される位置0to; int count = this.urd現在のリストノード.n現在の総ノード数 - this.urd現在のリストノード.n次にノードが追加される位置0to; if (count > 0) { this.urd現在のリストノード.listノード.RemoveRange(index, count); } CUndoRedoDirectory item = new CUndoRedoDirectory(this.urd現在のリストノード); this.urd現在のリストノード.listノード.Add(item); this.urd現在のリストノード.n次にノードが追加される位置0to++; this.urd現在のリストノード = item; }
public CUndoRedoDirectory(CUndoRedoDirectory urd親ノード) { this.urd親ノード = urd親ノード; this.listノード = new List <CUndoRedoCellAbstract>(); this.n次にノードが追加される位置0to = 0; }