diff options
Diffstat (limited to 'src/context.h')
-rw-r--r-- | src/context.h | 96 |
1 files changed, 85 insertions, 11 deletions
diff --git a/src/context.h b/src/context.h index bff4903..67333b9 100644 --- a/src/context.h +++ b/src/context.h @@ -18,10 +18,8 @@ #include "types.h" #include "template.h" -#include <stdio.h> #include "classdef.h" #include "searchindex.h" -#include "membergroup.h" class Definition; @@ -33,6 +31,10 @@ class GroupDef; class GroupLinkedMap; class GroupList; +class ConceptDef; +class ConceptLinkedMap; +class ConceptLinkedRefMap; + class NamespaceDef; class NamespaceLinkedMap; class NamespaceLinkedRefMap; @@ -59,6 +61,10 @@ class MemberInfo; class DotNode; class DotGfxHierarchyTable; +class MemberGroup; +class MemberGroupList; +class MemberGroupRefList; + //---------------------------------------------------- #define DEBUG_REF 0 @@ -253,7 +259,6 @@ class IncludeInfoListContext : public RefCountedContext, public TemplateListIntf Private *p; }; - //---------------------------------------------------- class ClassContext : public RefCountedContext, public TemplateStructIntf @@ -274,6 +279,27 @@ class ClassContext : public RefCountedContext, public TemplateStructIntf Private *p; }; + +//---------------------------------------------------- + +class ConceptContext : public RefCountedContext, public TemplateStructIntf +{ + public: + static ConceptContext *alloc(const ConceptDef *cd) { return new ConceptContext(cd); } + + // TemplateStructIntf methods + virtual TemplateVariant get(const QCString &name) const; + virtual StringVector fields() const; + virtual int addRef() { return RefCountedContext::addRef(); } + virtual int release() { return RefCountedContext::release(); } + + private: + ConceptContext(const ConceptDef *); + ~ConceptContext(); + class Private; + Private *p; +}; + //---------------------------------------------------- class NamespaceContext : public RefCountedContext, public TemplateStructIntf @@ -527,9 +553,12 @@ class NestingNodeContext : public RefCountedContext, public TemplateStructIntf { public: static NestingNodeContext *alloc(const NestingNodeContext *parent,const Definition *def, - int index,int level,bool addClasses,bool inherit,bool hideSuper, + int index,int level, + bool useFullName, bool addClasses,bool addConcepts, + bool inherit,bool hideSuper, ClassDefSet &visitedClasses) - { return new NestingNodeContext(parent,def,index,level,addClasses,inherit,hideSuper,visitedClasses); } + { return new NestingNodeContext(parent,def,index,level,useFullName,addClasses,addConcepts, + inherit,hideSuper,visitedClasses); } QCString id() const; @@ -541,7 +570,9 @@ class NestingNodeContext : public RefCountedContext, public TemplateStructIntf private: NestingNodeContext(const NestingNodeContext *parent, - const Definition *,int index,int level,bool addClasses,bool inherit,bool hideSuper, + const Definition *,int index,int level, + bool useFullName, bool addClasses,bool addConcepts, + bool inherit,bool hideSuper, ClassDefSet &visitedClasses); ~NestingNodeContext(); class Private; @@ -554,8 +585,8 @@ class NestingContext : public RefCountedContext, public TemplateListIntf { public: - static NestingContext *alloc(const NestingNodeContext *parent,int level) - { return new NestingContext(parent,level); } + static NestingContext *alloc(const NestingNodeContext *parent,int level,bool useFullName) + { return new NestingContext(parent,level,useFullName); } // TemplateListIntf virtual uint count() const; @@ -564,10 +595,12 @@ class NestingContext : public RefCountedContext, public TemplateListIntf virtual int addRef() { return RefCountedContext::addRef(); } virtual int release() { return RefCountedContext::release(); } - void addNamespaces(const NamespaceLinkedMap &nsLinkedMap,bool rootOnly,bool addClasses,ClassDefSet &visitedClasses); - void addNamespaces(const NamespaceLinkedRefMap &nsLinkedMap,bool rootOnly,bool addClasses,ClassDefSet &visitedClasses); + void addNamespaces(const NamespaceLinkedMap &nsLinkedMap,bool rootOnly,bool addClasses,bool addConcepts,ClassDefSet &visitedClasses); + void addNamespaces(const NamespaceLinkedRefMap &nsLinkedMap,bool rootOnly,bool addClasses,bool addConcepts,ClassDefSet &visitedClasses); void addClasses(const ClassLinkedMap &clLinkedMap,bool rootOnly,ClassDefSet &visitedClasses); void addClasses(const ClassLinkedRefMap &clLinkedMap,bool rootOnly,ClassDefSet &visitedClasses); + void addConcepts(const ConceptLinkedMap &cnLinkedMap,bool rootOnly,ClassDefSet &visitedClasses); + void addConcepts(const ConceptLinkedRefMap &cnLinkedMap,bool rootOnly,ClassDefSet &visitedClasses); void addDirs(const DirLinkedMap &,ClassDefSet &visitedClasses); void addDirs(const DirList &,ClassDefSet &visitedClasses); void addFiles(const FileNameLinkedMap &,ClassDefSet &visitedClasses); @@ -581,7 +614,7 @@ class NestingContext : public RefCountedContext, public TemplateListIntf void addMembers(const MemberList *ml,ClassDefSet &visitedClasses); private: - NestingContext(const NestingNodeContext *parent,int level); + NestingContext(const NestingNodeContext *parent,int level,bool useFullName); ~NestingContext(); class Private; Private *p; @@ -609,6 +642,27 @@ class ClassTreeContext : public RefCountedContext, public TemplateStructIntf //---------------------------------------------------- +class ConceptListContext : public RefCountedContext, public TemplateListIntf +{ + public: + static ConceptListContext *alloc() { return new ConceptListContext; } + + // TemplateListIntf + virtual uint count() const; + virtual TemplateVariant at(uint index) const; + virtual TemplateListIntf::ConstIterator *createIterator() const; + virtual int addRef() { return RefCountedContext::addRef(); } + virtual int release() { return RefCountedContext::release(); } + + private: + ConceptListContext(); + ~ConceptListContext(); + class Private; + Private *p; +}; + +//---------------------------------------------------- + class NamespaceListContext : public RefCountedContext, public TemplateListIntf { public: @@ -799,6 +853,26 @@ class ModuleListContext : public RefCountedContext, public TemplateListIntf //---------------------------------------------------- +class ConceptTreeContext : public RefCountedContext, public TemplateStructIntf +{ + public: + static ConceptTreeContext *alloc() { return new ConceptTreeContext(); } + + // TemplateStructIntf methods + virtual TemplateVariant get(const QCString &name) const; + virtual StringVector fields() const; + virtual int addRef() { return RefCountedContext::addRef(); } + virtual int release() { return RefCountedContext::release(); } + + private: + ConceptTreeContext(); + ~ConceptTreeContext(); + class Private; + Private *p; +}; + +//---------------------------------------------------- + class ModuleTreeContext : public RefCountedContext, public TemplateStructIntf { public: |