summaryrefslogtreecommitdiffstats
path: root/src/groupdef.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/groupdef.cpp')
-rw-r--r--src/groupdef.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/groupdef.cpp b/src/groupdef.cpp
index 9b0e840..ebdec58 100644
--- a/src/groupdef.cpp
+++ b/src/groupdef.cpp
@@ -38,6 +38,7 @@ GroupDef::GroupDef(const char *df,int dl,const char *na,const char *t) :
fileList = new FileList;
classList = new ClassList;
groupList = new GroupList;
+ parentGroupList = new GroupList;
namespaceList = new NamespaceList;
pageDict = new PageSDict(257);
exampleDict = new PageSDict(257);
@@ -63,6 +64,7 @@ GroupDef::~GroupDef()
delete fileList;
delete classList;
delete groupList;
+ delete parentGroupList;
delete namespaceList;
delete pageDict;
delete exampleDict;
@@ -242,6 +244,20 @@ void GroupDef::addGroup(const GroupDef *def)
groupList->append(def);
}
+void GroupDef::addParentGroup(const GroupDef *def)
+{
+ if (Config::sortMembersFlag)
+ parentGroupList->inSort(def);
+ else
+ parentGroupList->append(def);
+}
+
+bool GroupDef::isASubGroup() const
+{
+ return parentGroupList->count()!=0;
+}
+
+
int GroupDef::countMembers() const
{
return fileList->count()+
@@ -569,6 +585,7 @@ void addGroupToGroups(Entry *root,GroupDef *subGroup)
if (!s->isEmpty() && (gd=Doxygen::groupDict[*s]))
{
gd->addGroup(subGroup);
+ subGroup->addParentGroup(gd);
}
}
}