Ejemplo n.º 1
0
        void AddElement(ICodeElement elem, TreeNode parent)
        {
            ICodeNamespace cns = elem as ICodeNamespace;

            if (cns != null && cns.ElementCount == 0)
            {
                return;
            }
            parent     = parent.Nodes.Add(elem.ToString());
            parent.Tag = elem;

            parent.ImageIndex = parent.SelectedImageIndex = ServiceHost.ImageListProvider[elem];

            ICodeContainerElement icc = elem as ICodeContainerElement;

            if (icc != null)
            {
                foreach (ICodeElement ce in icc.Elements)
                {
                    AddElement(ce, parent);
                }
            }
        }
Ejemplo n.º 2
0
        void CheckElement(ICodeElement parent, TreeNode node)
        {
            ICodeContainerElement icc = parent as ICodeContainerElement;

            if (icc != null)
            {
                ICodeElement ice = icc[node.Text];
                if (ice != null)
                {
                    ICodeElement ice2 = node.Tag as ICodeElement;
                    if (ice2 != null && ice2.Fullname == ice.Fullname)
                    {
                        foreach (TreeNode n in node.Nodes)
                        {
                            CheckElement(ice, n);
                        }
                        return;
                    }
                }
                TreeNode nparent = node.Parent;
                node.Remove();
                AddElement(ice, nparent);
            }
        }