コード例 #1
0
 protected override void OnTextChanged(EventArgs e)
 {
     if (_highlighting)
     {
         return;
     }
     _highlightTimer.Change(Delay, int.MaxValue);
     HideAutoCompleteForm();
     _visitor.Clear();
     if (!string.IsNullOrEmpty(Text))
     {
         var nodes = _parser.Parse(Text);
         _visitor.Visit(nodes);
     }
     base.OnTextChanged(e);
     if (!_isUndo)
     {
         _redoStack.Clear();
         _undoList.Insert(0, _lastInfo);
         UpdateUndoLimit();
         _lastInfo = UndoRedoInfo.Create(this);
     }
     if (CanAutoComplete(true))
     {
         ShowAutoComplete();
     }
 }
コード例 #2
0
        private void SuspendPainting()
        {
            if (_paintSuspended)
            {
                return;
            }

            _painSuspendedInfo = UndoRedoInfo.Create(this);
            SendMessage(Handle, WM_SETREDRAW, 0, IntPtr.Zero);
            _eventMask      = SendMessage(Handle, EM_GETEVENTMASK, 0, IntPtr.Zero);
            _paintSuspended = true;
        }
コード例 #3
0
        public new void Redo()
        {
            if (!CanRedo)
            {
                return;
            }
            _isUndo = true;
            _undoList.Insert(0, UndoRedoInfo.Create(this));
            UpdateUndoLimit();
            UndoRedoInfo info = _redoStack.Pop();

            info.Restore(this, true);
            _isUndo = false;
        }
コード例 #4
0
        public new void Undo()
        {
            if (!CanUndo)
            {
                return;
            }
            _isUndo = true;
            _redoStack.Push(UndoRedoInfo.Create(this));
            UndoRedoInfo info = _undoList[0];

            _undoList.RemoveAt(0);
            info.Restore(this, true);
            _lastInfo = info;
            _isUndo   = false;
        }