public void UpdateChild(IInstanceBuilderContext context, ViewNode viewNode, int childIndex, DocumentNodeChangeAction action, DocumentNode childNode) { throw new InvalidOperationException(); }
public void UpdateChild(IInstanceBuilderContext context, ViewNode viewNode, int childIndex, DocumentNodeChangeAction action, DocumentNode childNode) { this.builder.UpdateChild(context, viewNode, childIndex, action, childNode); }
public override void UpdateChild(IInstanceBuilderContext context, ViewNode viewNode, int childIndex, DocumentNodeChangeAction action, DocumentNode childNode) { if (action == DocumentNodeChangeAction.Remove && childIndex < viewNode.Children.Count) { ViewNode item = viewNode.Children[childIndex]; this.RemoveChildViewNodeFromInstance(viewNode, item); viewNode.Children.Remove(item); } if (action == DocumentNodeChangeAction.Add || action == DocumentNodeChangeAction.Replace) { IInstanceBuilder builder = context.InstanceBuilderFactory.GetBuilder(childNode.TargetType); ViewNode viewNode1 = builder.GetViewNode(context, childNode); if (action != DocumentNodeChangeAction.Replace) { viewNode.Children.Insert(childIndex, viewNode1); } else { this.RemoveChildViewNodeFromInstance(viewNode, viewNode.Children[childIndex]); viewNode.Children[childIndex] = viewNode1; } this.InstantiateChild(context, viewNode, viewNode1); } }
public static ViewNode UpdateChildWithoutApply(IInstanceBuilderContext context, ViewNode viewNode, int childIndex, DocumentNodeChangeAction action, DocumentNode childNode) { ViewNode viewNode1 = null; if (action == DocumentNodeChangeAction.Remove) { ViewNode item = viewNode.Children[childIndex]; viewNode.Children.Remove(item); } if (action == DocumentNodeChangeAction.Add || action == DocumentNodeChangeAction.Replace) { IInstanceBuilder builder = context.InstanceBuilderFactory.GetBuilder(childNode.TargetType); viewNode1 = builder.GetViewNode(context, childNode); if (action != DocumentNodeChangeAction.Replace) { viewNode.Children.Insert(childIndex, viewNode1); } else { viewNode.Children[childIndex] = viewNode1; } context.ViewNodeManager.Instantiate(viewNode1); } return(viewNode1); }
public ChildOperation(int index, DocumentNodeChangeAction action) { this.index = index; this.action = action; }
public InstanceState(int childIndex, DocumentNodeChangeAction action) { this.stateType = InstanceStateType.PropertyOrChildInvalid; this.childOperation = new InstanceState.ChildOperation(childIndex, action); }