ICSharpCode.AvalonEdit.Document.TextAnchor.OnDeleted C# (CSharp) Method

OnDeleted() private method

private OnDeleted ( DelayedEvents delayedEvents ) : void
delayedEvents DelayedEvents
return void
		internal void OnDeleted(DelayedEvents delayedEvents)
		{
			node = null;
			delayedEvents.DelayedRaise(Deleted, this, EventArgs.Empty);
		}

Usage Example

Example #1
0
        public void RemoveText(int offset, int length, DelayedEvents delayedEvents)
        {
            //Log("RemoveText(" + offset + ", " + length + ")");
            if (length == 0 || root == null || offset >= root.totalLength)
            {
                return;
            }
            TextAnchorNode node = FindNode(ref offset);

            while (node != null && offset + length > node.length)
            {
                TextAnchor anchor = (TextAnchor)node.Target;
                if (anchor != null && anchor.SurviveDeletion)
                {
                    // shorten node
                    length     -= node.length - offset;
                    node.length = offset;
                    offset      = 0;
                    UpdateAugmentedData(node);
                    node = node.Successor;
                }
                else
                {
                    // delete node
                    TextAnchorNode s = node.Successor;
                    length -= node.length;
                    RemoveNode(node);
                    // we already deleted the node, don't delete it twice
                    nodesToDelete.Remove(node);
                    if (anchor != null)
                    {
                        anchor.OnDeleted(delayedEvents);
                    }
                    node = s;
                }
            }
            if (node != null)
            {
                node.length -= length;
                UpdateAugmentedData(node);
            }
            DeleteMarkedNodes();
        }
All Usage Examples Of ICSharpCode.AvalonEdit.Document.TextAnchor::OnDeleted