void Buffer_Changed(object sender, HexContentChangedEventArgs e) { // Descendants() shouldn't be used since some of the nodes could have thousands of // children and it's better if the parent can quickly check whether any of its children // need to get notified. foreach (HexNode node in TreeNode.DataChildren) node.OnBufferChanged(e.Changes); }
void HexBuffer_ChangedLowPriority(object sender, HexContentChangedEventArgs e) { foreach (var c in e.Changes) { if (c.OldSpan.Length > 0) InvalidateSpan(new HexBufferSpan(Buffer, c.OldSpan)); if (c.NewSpan.Length > 0) InvalidateSpan(new HexBufferSpan(Buffer, c.NewSpan)); } BufferChangedCommon(); }
void Buffer_Changed(object sender, HexContentChangedEventArgs e) { var node = (PENode)nodeWeakRef.Target; if (node != null) node.Buffer_Changed(sender, e); else { var buffer = (HexBuffer)sender; buffer.Changed -= Buffer_Changed; } }