Esempio n. 1
0
        /// <summary>
        ///
        /// </summary>
        public void Undo()
        {
            if (CanUndo)
            {
                m_IsProcessing = true;

                try
                {
                    IUndoCommand command = m_Undo.Pop();

                    LogManager.Instance.WriteLine(LogVerbosity.Trace, "UndoRedo Undo({0}) : history list: {1} item(s)",
                                                  command.ToString(), m_Undo.Count);

                    command.Undo();
                    m_Redo.Push(command);

                    OnPropertyChanged("CanUndo");
                    OnPropertyChanged("CanRedo");

                    if (UndoRedoCommandExecuted != null)
                    {
                        UndoRedoCommandExecuted(null, EventArgs.Empty);
                    }
                }
                catch (System.Exception ex)
                {
                    throw ex;
                }
                finally
                {
                    m_IsProcessing = false;
                }
            }
        }
Esempio n. 2
0
        /// <summary>Function to perform an undo operation.</summary>
        /// <returns>A task representing the currently executing undo operation.</returns>
        public Task Undo()
        {
            if ((_undoStack.Count == 0) || (_undoIndex < 0))
            {
                _undoIndex = -1;
                return(Task.FromResult <object>(null));
            }

            try
            {
                IUndoCommand undo = _undoStack[_undoIndex--];

                if (undo == null)
                {
                    return(Task.FromResult <object>(null));
                }

                _cancelSource = new CancellationTokenSource();
                _log.Print($"Executing undo command for '{undo.Description}'.", LoggingLevel.Simple);
                Task task = undo.Undo(_cancelSource.Token);

                if (_cancelSource.Token.IsCancellationRequested)
                {
                    ++_undoIndex;
                }

                return(task);
            }
            finally
            {
                _cancelSource?.Dispose();
                _cancelSource = null;
            }
        }
Esempio n. 3
0
        public void Undo()
        {
            if (UndoCommands.Count == 0)
            {
                return;
            }

            IUndoCommand cmd = UndoCommands.Pop();

            cmd.Undo();
            RedoCommands.Push(cmd);
            undoCallback();
        }
        public void Undo()
        {
            if (this.undoStack.Count > 0)
            {
                IUndoCommand command = UndoStatckPopCommand();
                if (command == null)
                {
                    return;
                }

                command.Undo();

                ReverseStackPushCommand(command);
            }
        }
Esempio n. 5
0
        public void Undo()
        {
            if (mUndoCommands.Count == 0)
            {
                return;
            }

            IUndoCommand cmd = mUndoCommands.Pop();

            cmd.Undo();

            mRedoCommands.Push(cmd);

            TextChangedEvent();
        }
        public void UndoCommand()
        {
            if (undoStack.Count == 0)
            {
                return;
            }
            IUndoCommand cmd = undoStack.Pop();

            try
            {
                cmd.Undo();
                view.IsModified = documentModifiedState;
            }
            finally
            {
                redoStack.Push(cmd);
                RaiseCanExecuteChanged();
            }
        }