Loading qtools/Doxyfile +2 −2 Original line number Diff line number Diff line Loading @@ -187,8 +187,8 @@ MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest MATHJAX_EXTENSIONS = MATHJAX_CODEFILE = SEARCHENGINE = YES SERVER_BASED_SEARCH = YES EXTERNAL_SEARCH = YES SERVER_BASED_SEARCH = NO EXTERNAL_SEARCH = NO SEARCHENGINE_URL = http://macbookpro/~dimitri/doxysearch.cgi SEARCHDATA_FILE = searchdata.xml EXTERNAL_SEARCH_ID = Loading src/context.cpp +213 −5 Original line number Diff line number Diff line Loading @@ -2062,6 +2062,19 @@ class NamespaceContext::Private : public DefinitionContext<NamespaceContext::Pri addProperty("subhighlight", this,&Private::subHighlight); addProperty("compoundType", this,&Private::compoundType); addProperty("hasDetails", this,&Private::hasDetails); addProperty("classes", this,&Private::classes); addProperty("namespaces", this,&Private::namespaces); addProperty("constantgroups", this,&Private::constantgroups); addProperty("typedefs", this,&Private::typedefs); addProperty("enums", this,&Private::enums); addProperty("functions", this,&Private::functions); addProperty("variables", this,&Private::variables); addProperty("memberGroups", this,&Private::memberGroups); addProperty("detailedTypedefs", this,&Private::detailedTypedefs); addProperty("detailedEnums", this,&Private::detailedEnums); addProperty("detailedFunctions", this,&Private::detailedFunctions); addProperty("detailedVariables", this,&Private::detailedVariables); addProperty("inlineClasses", this,&Private::inlineClasses); } TemplateVariant title() const { Loading @@ -2083,8 +2096,182 @@ class NamespaceContext::Private : public DefinitionContext<NamespaceContext::Pri { return m_namespaceDef->hasDetailedDescription(); } TemplateVariant classes() const { if (!m_cache.classes) { NestedClassListContext *classList = NestedClassListContext::alloc(); if (m_namespaceDef->getClassSDict()) { ClassSDict::Iterator sdi(*m_namespaceDef->getClassSDict()); ClassDef *cd; for (sdi.toFirst();(cd=sdi.current());++sdi) { if (cd->visibleInParentsDeclList()) { classList->append(cd); } } } m_cache.classes.reset(classList); } return m_cache.classes.get(); } TemplateVariant namespaces() const { if (!m_cache.namespaces) { NestedNamespaceListContext *namespaceList = NestedNamespaceListContext::alloc(); if (m_namespaceDef->getNamespaceSDict()) { NamespaceSDict::Iterator sdi(*m_namespaceDef->getNamespaceSDict()); NamespaceDef *nd; for (sdi.toFirst();(nd=sdi.current());++sdi) { if (nd->isLinkable() && !nd->isConstantGroup()) { namespaceList->append(nd); } } } m_cache.namespaces.reset(namespaceList); } return m_cache.namespaces.get(); } TemplateVariant constantgroups() const { if (!m_cache.constantgroups) { NestedNamespaceListContext *namespaceList = NestedNamespaceListContext::alloc(); if (m_namespaceDef->getNamespaceSDict()) { NamespaceSDict::Iterator sdi(*m_namespaceDef->getNamespaceSDict()); NamespaceDef *nd; for (sdi.toFirst();(nd=sdi.current());++sdi) { if (nd->isLinkable() && nd->isConstantGroup()) { namespaceList->append(nd); } } } m_cache.constantgroups.reset(namespaceList); } return m_cache.constantgroups.get(); } TemplateVariant getMemberList(SharedPtr<MemberListInfoContext> &list, MemberListType type,const char *title,bool detailed=FALSE) const { if (!list) { MemberList *ml = m_namespaceDef->getMemberList(type); if (ml) { list.reset(MemberListInfoContext::alloc(m_namespaceDef,relPathAsString(),ml,title,detailed)); } } if (list) { return list.get(); } else { return TemplateVariant(FALSE); } } TemplateVariant typedefs() const { return getMemberList(m_cache.typedefs,MemberListType_decTypedefMembers,theTranslator->trTypedefs()); } TemplateVariant enums() const { return getMemberList(m_cache.enums,MemberListType_decEnumMembers,theTranslator->trEnumerations()); } TemplateVariant functions() const { // TODO: Fortran: trSubprograms() // TODO: VHDL: VhdlDocGen::trFunctionAndProc() return getMemberList(m_cache.functions,MemberListType_decFuncMembers,theTranslator->trFunctions()); } TemplateVariant variables() const { return getMemberList(m_cache.variables,MemberListType_decVarMembers,theTranslator->trVariables()); } TemplateVariant memberGroups() const { if (!m_cache.memberGroups) { if (m_namespaceDef->getMemberGroupSDict()) { m_cache.memberGroups.reset(MemberGroupListContext::alloc(m_namespaceDef,relPathAsString(),m_namespaceDef->getMemberGroupSDict(),m_namespaceDef->subGrouping())); } else { m_cache.memberGroups.reset(MemberGroupListContext::alloc()); } } return m_cache.memberGroups.get(); } TemplateVariant detailedTypedefs() const { return getMemberList(m_cache.detailedTypedefs,MemberListType_docTypedefMembers,theTranslator->trTypedefDocumentation()); } TemplateVariant detailedEnums() const { return getMemberList(m_cache.detailedEnums,MemberListType_docEnumMembers,theTranslator->trEnumerationTypeDocumentation()); } TemplateVariant detailedFunctions() const { // TODO: Fortran: trSubprogramDocumentation() return getMemberList(m_cache.detailedFunctions,MemberListType_docFuncMembers,theTranslator->trFunctionDocumentation()); } TemplateVariant detailedVariables() const { return getMemberList(m_cache.detailedVariables,MemberListType_docVarMembers,theTranslator->trVariableDocumentation()); } TemplateVariant inlineClasses() const { if (!m_cache.inlineClasses) { NestedClassListContext *classList = NestedClassListContext::alloc(); if (m_namespaceDef->getClassSDict()) { ClassSDict::Iterator sdi(*m_namespaceDef->getClassSDict()); ClassDef *cd; for (sdi.toFirst();(cd=sdi.current());++sdi) { if (cd->name().find('@')==-1 && cd->isLinkableInProject() && cd->isEmbeddedInOuterScope() && cd->partOfGroups()==0) { classList->append(cd); } } } m_cache.inlineClasses.reset(classList); } return m_cache.inlineClasses.get(); } private: NamespaceDef *m_namespaceDef; struct Cachable { SharedPtr<NestedClassListContext> classes; SharedPtr<NestedNamespaceListContext> namespaces; SharedPtr<NestedNamespaceListContext> constantgroups; SharedPtr<MemberListInfoContext> typedefs; SharedPtr<MemberListInfoContext> enums; SharedPtr<MemberListInfoContext> functions; SharedPtr<MemberListInfoContext> variables; SharedPtr<MemberGroupListContext> memberGroups; SharedPtr<MemberListInfoContext> detailedTypedefs; SharedPtr<MemberListInfoContext> detailedEnums; SharedPtr<MemberListInfoContext> detailedFunctions; SharedPtr<MemberListInfoContext> detailedVariables; SharedPtr<NestedClassListContext> inlineClasses; }; mutable Cachable m_cache; }; //%% } Loading Loading @@ -4258,6 +4445,8 @@ class NestingNodeContext::Private : public PropertyMapper addProperty("dir",this,&Private::getDir); //%% [optional] Page page: page info (if this node represents a page) addProperty("page",this,&Private::getPage); //%% [optional] Module module: module info (if this node represents a module) addProperty("module",this,&Private::getModule); //%% int id addProperty("id",this,&Private::id); //%% string level Loading Loading @@ -4359,6 +4548,21 @@ class NestingNodeContext::Private : public PropertyMapper return TemplateVariant(FALSE); } } TemplateVariant getModule() const { if (!m_cache.moduleContext && m_def->definitionType()==Definition::TypeGroup) { m_cache.moduleContext.reset(ModuleContext::alloc((GroupDef*)m_def)); } if (m_cache.moduleContext) { return m_cache.moduleContext.get(); } else { return TemplateVariant(FALSE); } } TemplateVariant level() const { return m_level; Loading Loading @@ -4461,6 +4665,7 @@ class NestingNodeContext::Private : public PropertyMapper SharedPtr<DirContext> dirContext; SharedPtr<FileContext> fileContext; SharedPtr<PageContext> pageContext; SharedPtr<ModuleContext> moduleContext; ScopedPtr<TemplateVariant> brief; }; mutable Cachable m_cache; Loading Loading @@ -6964,6 +7169,8 @@ void generateOutputViaTemplate() //%% ClassTree classTree: ctx->set("classTree",classTree.get()); // classIndex // globals // members //%% ClassHierarchy classHierarchy: ctx->set("classHierarchy",classHierarchy.get()); //%% NamespaceList namespaceList: Loading @@ -6987,6 +7194,7 @@ void generateOutputViaTemplate() //%% Page mainPage ctx->set("mainPage",mainPage.get()); // render HTML output Template *tpl = e.loadByName("htmllayout.tpl",1); if (tpl) Loading src/namespacedef.h +2 −0 Original line number Diff line number Diff line Loading @@ -82,6 +82,8 @@ class NamespaceDef : public Definition void addInnerCompound(Definition *d); void addListReferences(); bool subGrouping() const { return m_subGrouping; } MemberList *getMemberList(MemberListType lt) const; const QList<MemberList> &getMemberLists() const { return m_memberLists; } MemberDef *getMemberByName(const QCString &) const; Loading Loading
qtools/Doxyfile +2 −2 Original line number Diff line number Diff line Loading @@ -187,8 +187,8 @@ MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest MATHJAX_EXTENSIONS = MATHJAX_CODEFILE = SEARCHENGINE = YES SERVER_BASED_SEARCH = YES EXTERNAL_SEARCH = YES SERVER_BASED_SEARCH = NO EXTERNAL_SEARCH = NO SEARCHENGINE_URL = http://macbookpro/~dimitri/doxysearch.cgi SEARCHDATA_FILE = searchdata.xml EXTERNAL_SEARCH_ID = Loading
src/context.cpp +213 −5 Original line number Diff line number Diff line Loading @@ -2062,6 +2062,19 @@ class NamespaceContext::Private : public DefinitionContext<NamespaceContext::Pri addProperty("subhighlight", this,&Private::subHighlight); addProperty("compoundType", this,&Private::compoundType); addProperty("hasDetails", this,&Private::hasDetails); addProperty("classes", this,&Private::classes); addProperty("namespaces", this,&Private::namespaces); addProperty("constantgroups", this,&Private::constantgroups); addProperty("typedefs", this,&Private::typedefs); addProperty("enums", this,&Private::enums); addProperty("functions", this,&Private::functions); addProperty("variables", this,&Private::variables); addProperty("memberGroups", this,&Private::memberGroups); addProperty("detailedTypedefs", this,&Private::detailedTypedefs); addProperty("detailedEnums", this,&Private::detailedEnums); addProperty("detailedFunctions", this,&Private::detailedFunctions); addProperty("detailedVariables", this,&Private::detailedVariables); addProperty("inlineClasses", this,&Private::inlineClasses); } TemplateVariant title() const { Loading @@ -2083,8 +2096,182 @@ class NamespaceContext::Private : public DefinitionContext<NamespaceContext::Pri { return m_namespaceDef->hasDetailedDescription(); } TemplateVariant classes() const { if (!m_cache.classes) { NestedClassListContext *classList = NestedClassListContext::alloc(); if (m_namespaceDef->getClassSDict()) { ClassSDict::Iterator sdi(*m_namespaceDef->getClassSDict()); ClassDef *cd; for (sdi.toFirst();(cd=sdi.current());++sdi) { if (cd->visibleInParentsDeclList()) { classList->append(cd); } } } m_cache.classes.reset(classList); } return m_cache.classes.get(); } TemplateVariant namespaces() const { if (!m_cache.namespaces) { NestedNamespaceListContext *namespaceList = NestedNamespaceListContext::alloc(); if (m_namespaceDef->getNamespaceSDict()) { NamespaceSDict::Iterator sdi(*m_namespaceDef->getNamespaceSDict()); NamespaceDef *nd; for (sdi.toFirst();(nd=sdi.current());++sdi) { if (nd->isLinkable() && !nd->isConstantGroup()) { namespaceList->append(nd); } } } m_cache.namespaces.reset(namespaceList); } return m_cache.namespaces.get(); } TemplateVariant constantgroups() const { if (!m_cache.constantgroups) { NestedNamespaceListContext *namespaceList = NestedNamespaceListContext::alloc(); if (m_namespaceDef->getNamespaceSDict()) { NamespaceSDict::Iterator sdi(*m_namespaceDef->getNamespaceSDict()); NamespaceDef *nd; for (sdi.toFirst();(nd=sdi.current());++sdi) { if (nd->isLinkable() && nd->isConstantGroup()) { namespaceList->append(nd); } } } m_cache.constantgroups.reset(namespaceList); } return m_cache.constantgroups.get(); } TemplateVariant getMemberList(SharedPtr<MemberListInfoContext> &list, MemberListType type,const char *title,bool detailed=FALSE) const { if (!list) { MemberList *ml = m_namespaceDef->getMemberList(type); if (ml) { list.reset(MemberListInfoContext::alloc(m_namespaceDef,relPathAsString(),ml,title,detailed)); } } if (list) { return list.get(); } else { return TemplateVariant(FALSE); } } TemplateVariant typedefs() const { return getMemberList(m_cache.typedefs,MemberListType_decTypedefMembers,theTranslator->trTypedefs()); } TemplateVariant enums() const { return getMemberList(m_cache.enums,MemberListType_decEnumMembers,theTranslator->trEnumerations()); } TemplateVariant functions() const { // TODO: Fortran: trSubprograms() // TODO: VHDL: VhdlDocGen::trFunctionAndProc() return getMemberList(m_cache.functions,MemberListType_decFuncMembers,theTranslator->trFunctions()); } TemplateVariant variables() const { return getMemberList(m_cache.variables,MemberListType_decVarMembers,theTranslator->trVariables()); } TemplateVariant memberGroups() const { if (!m_cache.memberGroups) { if (m_namespaceDef->getMemberGroupSDict()) { m_cache.memberGroups.reset(MemberGroupListContext::alloc(m_namespaceDef,relPathAsString(),m_namespaceDef->getMemberGroupSDict(),m_namespaceDef->subGrouping())); } else { m_cache.memberGroups.reset(MemberGroupListContext::alloc()); } } return m_cache.memberGroups.get(); } TemplateVariant detailedTypedefs() const { return getMemberList(m_cache.detailedTypedefs,MemberListType_docTypedefMembers,theTranslator->trTypedefDocumentation()); } TemplateVariant detailedEnums() const { return getMemberList(m_cache.detailedEnums,MemberListType_docEnumMembers,theTranslator->trEnumerationTypeDocumentation()); } TemplateVariant detailedFunctions() const { // TODO: Fortran: trSubprogramDocumentation() return getMemberList(m_cache.detailedFunctions,MemberListType_docFuncMembers,theTranslator->trFunctionDocumentation()); } TemplateVariant detailedVariables() const { return getMemberList(m_cache.detailedVariables,MemberListType_docVarMembers,theTranslator->trVariableDocumentation()); } TemplateVariant inlineClasses() const { if (!m_cache.inlineClasses) { NestedClassListContext *classList = NestedClassListContext::alloc(); if (m_namespaceDef->getClassSDict()) { ClassSDict::Iterator sdi(*m_namespaceDef->getClassSDict()); ClassDef *cd; for (sdi.toFirst();(cd=sdi.current());++sdi) { if (cd->name().find('@')==-1 && cd->isLinkableInProject() && cd->isEmbeddedInOuterScope() && cd->partOfGroups()==0) { classList->append(cd); } } } m_cache.inlineClasses.reset(classList); } return m_cache.inlineClasses.get(); } private: NamespaceDef *m_namespaceDef; struct Cachable { SharedPtr<NestedClassListContext> classes; SharedPtr<NestedNamespaceListContext> namespaces; SharedPtr<NestedNamespaceListContext> constantgroups; SharedPtr<MemberListInfoContext> typedefs; SharedPtr<MemberListInfoContext> enums; SharedPtr<MemberListInfoContext> functions; SharedPtr<MemberListInfoContext> variables; SharedPtr<MemberGroupListContext> memberGroups; SharedPtr<MemberListInfoContext> detailedTypedefs; SharedPtr<MemberListInfoContext> detailedEnums; SharedPtr<MemberListInfoContext> detailedFunctions; SharedPtr<MemberListInfoContext> detailedVariables; SharedPtr<NestedClassListContext> inlineClasses; }; mutable Cachable m_cache; }; //%% } Loading Loading @@ -4258,6 +4445,8 @@ class NestingNodeContext::Private : public PropertyMapper addProperty("dir",this,&Private::getDir); //%% [optional] Page page: page info (if this node represents a page) addProperty("page",this,&Private::getPage); //%% [optional] Module module: module info (if this node represents a module) addProperty("module",this,&Private::getModule); //%% int id addProperty("id",this,&Private::id); //%% string level Loading Loading @@ -4359,6 +4548,21 @@ class NestingNodeContext::Private : public PropertyMapper return TemplateVariant(FALSE); } } TemplateVariant getModule() const { if (!m_cache.moduleContext && m_def->definitionType()==Definition::TypeGroup) { m_cache.moduleContext.reset(ModuleContext::alloc((GroupDef*)m_def)); } if (m_cache.moduleContext) { return m_cache.moduleContext.get(); } else { return TemplateVariant(FALSE); } } TemplateVariant level() const { return m_level; Loading Loading @@ -4461,6 +4665,7 @@ class NestingNodeContext::Private : public PropertyMapper SharedPtr<DirContext> dirContext; SharedPtr<FileContext> fileContext; SharedPtr<PageContext> pageContext; SharedPtr<ModuleContext> moduleContext; ScopedPtr<TemplateVariant> brief; }; mutable Cachable m_cache; Loading Loading @@ -6964,6 +7169,8 @@ void generateOutputViaTemplate() //%% ClassTree classTree: ctx->set("classTree",classTree.get()); // classIndex // globals // members //%% ClassHierarchy classHierarchy: ctx->set("classHierarchy",classHierarchy.get()); //%% NamespaceList namespaceList: Loading @@ -6987,6 +7194,7 @@ void generateOutputViaTemplate() //%% Page mainPage ctx->set("mainPage",mainPage.get()); // render HTML output Template *tpl = e.loadByName("htmllayout.tpl",1); if (tpl) Loading
src/namespacedef.h +2 −0 Original line number Diff line number Diff line Loading @@ -82,6 +82,8 @@ class NamespaceDef : public Definition void addInnerCompound(Definition *d); void addListReferences(); bool subGrouping() const { return m_subGrouping; } MemberList *getMemberList(MemberListType lt) const; const QList<MemberList> &getMemberLists() const { return m_memberLists; } MemberDef *getMemberByName(const QCString &) const; Loading