private void ProcessForOwner(MarkupChangeBehavior behavior, MarkupNodeReference currentFragmentNode, bool didExpand) { switch (behavior) { case MarkupChangeBehavior.None: default: // no-op break; case MarkupChangeBehavior.Invalidate: Invalidate(currentFragmentNode, didExpand); break; case MarkupChangeBehavior.Delete: MarkForRemoval(currentFragmentNode); break; } }
public FragmentAndOffset(MarkupNodeReference node, int absoluteOffset) { Node = node; Range = new Range(absoluteOffset, absoluteOffset + Node.Length); }
private void MarkForRemoval(MarkupNodeReference value) { value.Status = MarkupNodeReference.NodeStatus.MarkedForRemoval; }
private void Invalidate(MarkupNodeReference value, bool didExpand) { // TODO notify callers that this fragment needs to be updated value.Status = MarkupNodeReference.NodeStatus.NeedsRevalidation; }