Example #1
0
        public static UiNode FromXomNodeData(XomNodeData nodeData, string name)
        {
            if (nodeData == null)
                throw new ArgumentNullException("nodeData");

            var node = new UiNode(nodeData.NodeType, name);
            node.AttributeData = nodeData.AttributeData;
            node.UpdateNodeName();
            foreach (var child in nodeData.ChildNodes)
            {
                var childNodeName = nodeData.NodeType
                                            .Children
                                            .Where(x => x.PropertyName == child.Key)
                                            .SelectMany(x => x.AvailableNodes)
                                            .Where(x => x.Value.Type == child.Value.NodeType.Type)
                                            .Select(x => x.Key)
                                            .First();

                var childNode = UiNode.FromXomNodeData(child.Value, childNodeName);
                node._children.Add(childNode);
            }

            return node;
        }
 private UiStructureMenuItem CreateMenuItem(KeyValuePair<string, XomNode> xomNodePair, UiNode uiNode)
 {
     return new UiStructureMenuItem
     {
         Text = xomNodePair.Key,
         XomNode = xomNodePair.Value,
         UiNode = uiNode
     };
 }
Example #3
0
 public void CreateChild(XomNode xomNode, string name)
 {
     var newNode = new UiNode(xomNode, name);
     _children.Add(newNode);
 }