示例#1
0
        public ITextAction Redo()
        {
            ITextAction lastredo = redos.LastOrDefault();

            if (lastredo != null)
            {
                undos.Add(lastredo);
            }
            return(lastredo);
        }
示例#2
0
        public void Add(ITextAction action)
        {
            ITextAction lastundo = undos.LastOrDefault();
            ITextAction concat   = null;

            if (lastundo is ITextUndoRedoAction && action is ITextUndoRedoAction)
            {
                concat = ((ITextUndoRedoAction)lastundo).Concat((ITextUndoRedoAction)action);
            }
            if (concat != null)
            {
                undos.RemoveAt(undos.Count() - 1);
                undos.Add(concat);
            }
            else
            {
                undos.Add(action);
            }
        }