public ITextAction Redo() { ITextAction lastredo = redos.LastOrDefault(); if (lastredo != null) { undos.Add(lastredo); } return(lastredo); }
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); } }