/// <summary>
        /// Calls the <see cref="IActiveElement.Deactivate"/> method on all registered active elements.
        /// </summary>
        /// <param name="e">The EventArgs to use</param>
        public void Deactivate(SnippetEventArgs e)
        {
            if (_currentStatus == Status.Deactivated || _currentStatus == Status.RaisingDeactivated)
            {
                return;
            }
            if (_currentStatus != Status.Interactive)
            {
                throw new InvalidOperationException("Cannot call Deactivate() until RaiseInsertionCompleted() has finished.");
            }
            if (e == null)
            {
                e = new SnippetEventArgs(DeactivateReason.Unknown);
            }

            TextDocumentWeakEventManager.UpdateFinished.RemoveHandler(Document, OnUpdateFinished);
            _currentStatus = Status.RaisingDeactivated;
            TextArea.PopStackedInputHandler(_myInputHandler);
            foreach (IActiveElement element in _registeredElements)
            {
                element.Deactivate(e);
            }
            Deactivated?.Invoke(this, e);
            _currentStatus = Status.Deactivated;
        }
 public void Deactivate(SnippetEventArgs e)
 {
     TextDocumentWeakEventManager.TextChanged.RemoveHandler(_context.Document, OnDocumentTextChanged);
     _context.TextArea.TextView.BackgroundRenderers.Remove(_background);
     _context.TextArea.TextView.BackgroundRenderers.Remove(_foreground);
     _context.TextArea.Caret.PositionChanged -= Caret_PositionChanged;
 }
示例#3
0
 public void Deactivate(SnippetEventArgs e)
 {
     TargetElement.TextChanged -= targetElement_TextChanged;
 }
 public void Deactivate(SnippetEventArgs e)
 {
 }