Пример #1
0
 //!
 //! undo the last performed action
 //!
 public void undoAction()
 {
     if (undoActionStack.Count > 1)
     {
         for (int i = 0; i < (undoActionStack[undoActionStack.Count - 2] as ArrayList).Count; i++)
         {
             ((undoActionStack[undoActionStack.Count - 2] as ArrayList)[i] as Action).execute();
         }
         redoActionStack.Add(undoActionStack[undoActionStack.Count - 1]);
         mainController.activateRedoButton();
         undoActionStack.RemoveAt(undoActionStack.Count - 1);
     }
     if (undoActionStack.Count == 1)
     {
         mainController.deactivateUndoButton();
     }
 }