示例#1
0
 public void Redo(Shapes sh_s)
 {
     if (stRedo.Count > 0)
     {
         StateMem state = stRedo.Pop();
         //повторяем удаление
         if (state.Action == Constant.del)
         {
             sh_s.Del(state.Sh, true);
         }
         //повторяем добавление
         if (state.Action == Constant.add)
         {
             sh_s.Add(state.Sh, true);
         }
         //заполнить стэк рэдо
         stUndo.Push(state);
     }
 }
示例#2
0
 public void Undo(Shapes sh_s)
 {
     if (stUndo.Count > 0)
     {
         StateMem state = stUndo.Pop();
         //удаленный объект восстанавливаем
         if (state.Action == Constant.del)
         {
             sh_s.Add(state.Sh, true);
         }
         // добавленный объект удаляем
         if (state.Action == Constant.add)
         {
             sh_s.Del(state.Sh, true);
         }
         //внести в стэк Redo отмененное действие
         stRedo.Push(state);
     }
 }