public override void BuildNode(ITreeBuilder treeBuilder,
                                       object dataObject,
                                       NodeInfo nodeInfo)
        {
            ClassTemplatePartial c = (ClassTemplatePartial)dataObject;

            nodeInfo.Label = c.IsDefinition
                                ?
                             c.Name
                                :
                             c.Name + " declaration";

            switch (c.Access)
            {
            case CX_CXXAccessSpecifier.@Public:
                nodeInfo.Icon = Context.GetIcon(Stock.Class);
                break;

            case CX_CXXAccessSpecifier.@Protected:
                nodeInfo.Icon = Context.GetIcon(Stock.ProtectedClass);
                break;

            case CX_CXXAccessSpecifier.@Private:
                nodeInfo.Icon = Context.GetIcon(Stock.PrivateClass);
                break;

            case CX_CXXAccessSpecifier.@InvalidAccessSpecifier:
                nodeInfo.Icon = Context.GetIcon(Stock.Class);
                break;
            }
        }
        public override string GetNodeName(ITreeNavigator thisNode, object dataObject)
        {
            ClassTemplatePartial c = (ClassTemplatePartial)dataObject;

            return(c.IsDefinition
                                ?
                   c.Name
                                        :
                   c.Name + " declaration");
        }
        public override void BuildChildNodes(ITreeBuilder treeBuilder, object dataObject)
        {
            CProject p = (CProject)treeBuilder.GetParentDataItem(typeof(CProject), false);

            if (p == null)
            {
                return;
            }

            SymbolDatabaseMediator info = p.DB;

            bool publicOnly = treeBuilder.Options ["PublicApiOnly"];
            ClassTemplatePartial thisClass = (ClassTemplatePartial)dataObject;

            /*foreach (Symbol s in info.CanBeInClasses.Values)
             *      if (s.Ours && s.Parent != null && s.Parent.Equals (thisClass) && (!publicOnly || s.Access == CX_CXXAccessSpecifier.@Public))
             *              treeBuilder.AddChild (s);*/
        }