Beispiel #1
0
 /// <summary>
 /// 記録されている操作をクリアします。
 /// </summary>
 public void Clear()
 {
     UndoStack.Clear();
     RedoStack.Clear();
     LastCommittedOperation = null;
     OperationHistoryChanged?.Invoke(this, EventArgs.Empty);
 }
Beispiel #2
0
        /// <summary>
        /// 直後の操作をやり直します。
        /// </summary>
        public void Redo()
        {
            IOperation op = RedoStack.Pop();

            op.Redo();
            UndoStack.Push(op);
            OperationHistoryChanged?.Invoke(this, EventArgs.Empty);
        }
Beispiel #3
0
 /// <summary>
 /// 新たな操作を記録します。
 /// </summary>
 /// <param name="op">記録する操作</param>
 public void Push(IOperation op)
 {
     UndoStack.Push(op);
     RedoStack.Clear();
     OperationHistoryChanged?.Invoke(this, EventArgs.Empty);
 }