Exemple #1
0
        private void redoToolStripMenuItem_Click(object sender, EventArgs e)
        {
            IUndoRedoHandler undoRedoHandler = GetHandler <IUndoRedoHandler>();

            if (undoRedoHandler != null)
            {
                undoRedoHandler.Redo();
            }
        }
Exemple #2
0
        public Persister(PersisterSettings settings)
        {
            Settings = settings;
            ValidateSettings();

            _undoRedoHandler = new UndoRedoHandler <T>(Settings.MaxHistorySteps);
            _undoRedoHandler.CanRedoChanged += UndoRedoHandler_CanRedoChanged;
            _undoRedoHandler.CanUndoChanged += UndoRedoHandler_CanUndoChanged;

            _serializer = new ObjectToFileSerializer();
            InitializeAutoSave();
        }
Exemple #3
0
        private void UpdateMenuStates()
        {
            closeToolStripMenuItem.Enabled = sandDockManager.ActiveTabbedDocument != null;

            IUndoRedoHandler undoRedoHandler = GetHandler <IUndoRedoHandler>();

            undoToolStripMenuItem.Enabled = undoRedoHandler != null && undoRedoHandler.CanUndo();
            redoToolStripMenuItem.Enabled = undoRedoHandler != null && undoRedoHandler.CanRedo();
            undoToolStripButton.Enabled   = undoRedoHandler != null && undoRedoHandler.CanUndo();
            redoToolStripButton.Enabled   = undoRedoHandler != null && undoRedoHandler.CanRedo();

            IClipboardHandler clipboardHandler = GetHandler <IClipboardHandler>();

            cutToolStripMenuItem.Enabled       = clipboardHandler != null && clipboardHandler.HasSelection && !clipboardHandler.IsReadOnly;
            copyToolStripMenuItem.Enabled      = clipboardHandler != null && clipboardHandler.HasSelection;
            pasteToolStripMenuItem.Enabled     = clipboardHandler != null && !clipboardHandler.IsReadOnly;
            deleteToolStripMenuItem.Enabled    = clipboardHandler != null && clipboardHandler.HasSelection && !clipboardHandler.IsReadOnly;
            selectAllToolStripMenuItem.Enabled = clipboardHandler != null;
            cutToolStripButton.Enabled         = clipboardHandler != null && clipboardHandler.HasSelection && !clipboardHandler.IsReadOnly;
            copyToolStripButton.Enabled        = clipboardHandler != null && clipboardHandler.HasSelection;
            pasteToolStripButton.Enabled       = clipboardHandler != null && !clipboardHandler.IsReadOnly;

            IQueryHandler queryHandler = GetHandler <IQueryHandler>();

            importTestDefinitionToolStripMenuItem.Enabled = queryHandler != null;
            exportTestDefinitionToolStripMenuItem.Enabled = queryHandler != null;
            executeToolStripMenuItem.Enabled    = queryHandler != null;
            explainToolStripMenuItem.Enabled    = queryHandler != null;
            executeToolStripButton.Enabled      = queryHandler != null;
            explainQueryToolStripButton.Enabled = queryHandler != null;
            saveResultsToolStripButton.Enabled  = queryHandler != null;

            IIntelliSenseHandler intelliSenseHandler = GetHandler <IIntelliSenseHandler>();

            listMembersToolStripMenuItem.Enabled   = intelliSenseHandler != null;
            parameterInfoToolStripMenuItem.Enabled = intelliSenseHandler != null;
            completeWordToolStripMenuItem.Enabled  = intelliSenseHandler != null;
        }
        /// <summary>
        ///   Register a new undo command along with an undo handler.
        ///   The undo handler is used to perform the actual undo or redo operation later when requested.
        /// </summary>
        /// <param name = "cmd">New command to add to the manager.</param>
        /// <param name = "undoHandler">Undo handler to perform the actual undo/redo operation.</param>
        private void AddUndoCommand(IUndoRedo cmd, IUndoRedoHandler undoHandler)
        {
            if (cmd == null)
            {
                throw new NullReferenceException("The cmd sent to AddUndoCommand should not be null.");
            }

            if (this._maxUndoLevel == 0)
            {
                return;
            }

            if (this._undoList.Count == this._maxUndoLevel)
            {
                this._undoList.RemoveAt(0);
            }

            // Insert the new undoable command into the undo list.
            this._undoList.Add(new UndoRedoInfo(cmd, undoHandler));

            // Clear the redo stack.
            this.ClearRedo();
        }
 public UndoRedoInfo(IUndoRedo undoable, IUndoRedoHandler doHandler)
 {
     this.UndoRedoObject  = undoable;
     this.UndoRedoHandler = doHandler;
 }