Esempio n. 1
0
        public CompoundListMemento <T, U> Restore(T target)
        {
            CompoundListMemento <T, U> inverse = new CompoundListMemento <T, U>(pointerIndex);

            //starts from the last action
            for (int i = mementos.Count - 1; i >= 0; i--)
            {
                inverse.Add(mementos[i].Restore(target));
            }
            return(inverse);
        }
Esempio n. 2
0
        public void CheckPoint(IListTOfVMemento <T, U> m)
        {
            if (inUndoRedo)
            {
                throw new InvalidOperationException("Involking do within an undo/redo action.");
            }

            if (tempMemento == null)
            {
                _Do(m);
            }
            else
            {
                tempMemento.Add(m);
            }
        }