private ITreeNode SetupBusinessObjectNode(IBusinessObject businessObject, ITreeNodeCollection nodes)
        {
            ITreeNode node;
            NodeState nodeState;

            if (!ObjectNodes.ContainsKey(businessObject))
            {
                node = nodes.Add("");
                node.Collapse(false);
                if (_levelsToDisplay > -1 && node.Level > _levelsToDisplay)
                {
                    nodes.Remove(node);
                    return(null);
                }
                nodeState          = new NodeState(node);
                nodeState.IsLoaded = false;
                UpdateNodeDummy(nodeState, GetVisibleRelationships(businessObject).Count);

                //LoadChildrenNodes(nodeState.Node.Nodes, businessObject);
                ObjectNodes.Add(businessObject, nodeState);
                //                LoadObjectNode(businessObject);
                RegisterForBusinessObjectEvents(businessObject);
            }
            else
            {
                nodeState = ObjectNodes[businessObject];
                node      = nodeState.Node;
            }
            DoSetupNodeWithBusinessObject(node, businessObject);
            node.Tag = businessObject;
            return(node);
        }
Esempio n. 2
0
        private async System.Threading.Tasks.Task InitializeObjectToEditAsync()
        {
            Models.Object objectInfo = await _objectStorage.GetObjectFullInfo(CreatedObject.uuid);

            ObjectName = objectInfo.Name;

            foreach (var item in objectInfo.Nodes)
            {
                var group = new Grouping <Node, Material>(item, item.Materials);

                ObjectNodes.Add(group);
            }
        }