diff options
Diffstat (limited to 'src/filedef.cpp')
-rw-r--r-- | src/filedef.cpp | 20 |
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 |