Пример #1
0
 public void UpdateChild(IInstanceBuilderContext context, ViewNode viewNode, int childIndex, DocumentNodeChangeAction action, DocumentNode childNode)
 {
     throw new InvalidOperationException();
 }
Пример #2
0
 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);
     }
 }
Пример #4
0
        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);
        }
Пример #5
0
 public ChildOperation(int index, DocumentNodeChangeAction action)
 {
     this.index  = index;
     this.action = action;
 }
Пример #6
0
 public InstanceState(int childIndex, DocumentNodeChangeAction action)
 {
     this.stateType      = InstanceStateType.PropertyOrChildInvalid;
     this.childOperation = new InstanceState.ChildOperation(childIndex, action);
 }