summaryrefslogtreecommitdiffstats
path: root/src/filedef.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/filedef.cpp')
-rw-r--r--src/filedef.cpp20
1 files changed, 19 insertions, 1 deletions
diff --git a/src/filedef.cpp b/src/filedef.cpp
index c43cd72..7214a56 100644
--- a/src/filedef.cpp
+++ b/src/filedef.cpp
@@ -93,6 +93,7 @@ FileDef::FileDef(const char *p,const char *nm,
m_isJava = name().right(5)==".java";
memberGroupSDict = 0;
acquireFileVersion();
+ m_subGrouping=Config_getBool("SUBGROUPING");
}
/*! destroy the file definition */
@@ -491,7 +492,8 @@ void FileDef::writeDocumentation(OutputList &ol)
MemberGroup *mg;
for (;(mg=mgli.current());++mgli)
{
- if (mg->header()!="[NOHEADER]")
+ if ((!mg->allMembersInSameSection() || !m_subGrouping)
+ && mg->header()!="[NOHEADER]")
{
mg->writeDeclarations(ol,0,0,this,0);
}
@@ -689,6 +691,21 @@ void FileDef::addMembersToMemberGroup()
::addMembersToMemberGroup(ml,&memberGroupSDict,this);
}
}
+
+ // add members inside sections to their groups
+ if (memberGroupSDict)
+ {
+ MemberGroupSDict::Iterator mgli(*memberGroupSDict);
+ MemberGroup *mg;
+ for (;(mg=mgli.current());++mgli)
+ {
+ if (mg->allMembersInSameSection() && m_subGrouping)
+ {
+ //printf("----> addToDeclarationSection(%s)\n",mg->header().data());
+ mg->addToDeclarationSection();
+ }
+ }
+ }
}
/*! Adds member definition \a md to the list of all members of this file */
@@ -1363,6 +1380,7 @@ void FileDef::addMemberToList(MemberList::ListType lt,MemberDef *md)
{
ml->setInFile(TRUE);
}
+ if (ml->listType()&MemberList::declarationLists) md->setSectionList(this,ml);
}
MemberList *FileDef::getMemberList(MemberList::ListType lt) const