Ejemplo n.º 1
0
        public UndoInfo Redo()
        {
            if (!CanRedo)
            {
                return(null);
            }
            Debug.Assert(curIndex < infos.Count - 1);
            curIndex++;
            UndoInfo info = infos[curIndex].Copy();

            curModel = info.Model;
            return(info);
        }
Ejemplo n.º 2
0
        public UndoInfo Undo()
        {
            if (!CanUndo)
            {
                return(null);
            }
            Debug.Assert(curIndex > 0);
            curIndex--;

            UndoInfo info = infos[curIndex].Copy();

            curModel = info.Model;
            return(info);
        }
Ejemplo n.º 3
0
        public bool ReplaceMemorize()
        {
            if (!ShouldMemorize)
            {
                return(false);
            }
            //replace the model of the last model of the current.
            EDOModel newModel = EDOSerializer.Clone(curModel);
            UndoInfo info     = new UndoInfo(newModel, stateProvider.SaveState());

            infos[curIndex] = info;
            OnModelChanged();
            return(true);
        }
Ejemplo n.º 4
0
 public bool ReplaceMemorize()
 {
     if (!ShouldMemorize)
     {
         return false;
     }
     //現在のモデルを最後のモデルと入れ替える。
     EDOModel newModel = EDOSerializer.Clone(curModel);
     UndoInfo info = new UndoInfo(newModel, stateProvider.SaveState());
     infos[curIndex] = info;
     OnModelChanged();
     return true;
 }