コード例 #1
0
        public TextEditControl()
            : base()
        {
            InitializeComponent();

            undo = new TextUndoTracker(this, true/*clearRedo*/);
            this.ChangeListener = undo;
        }
コード例 #2
0
        public void Undo()
        {
            if (UndoAvailable)
            {
                if (redo == null)
                {
                    redo = new TextUndoTracker(this, false/*clearRedo*/);
                }

                using (IDisposable redoGroup = redo.OpenGroup())
                {
                    try
                    {
                        this.ChangeListener = redo;

                        undo.Undo();
                    }
                    finally
                    {
                        this.ChangeListener = undo;
                    }
                }

                ScrollToSelection();
            }
        }
コード例 #3
0
        public void Redo()
        {
            if (RedoAvailable)
            {
                TextUndoTracker localRedo = redo; // undo will nuke it

                using (IDisposable undoGroup = undo.OpenGroup())
                {
                    localRedo.Undo();
                }

                redo = localRedo;

                ScrollToSelection();
            }
        }
コード例 #4
0
 public void ClearUndoRedo()
 {
     if (undo != null)
     {
         undo.Clear();
     }
     redo = null;
 }
コード例 #5
0
 public UndoGroupCloser(TextUndoTracker tracker)
 {
     this.tracker = tracker;
 }