summaryrefslogtreecommitdiffstats
path: root/src/filedef.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/filedef.cpp')
-rw-r--r--src/filedef.cpp78
1 files changed, 56 insertions, 22 deletions
diff --git a/src/filedef.cpp b/src/filedef.cpp
index 2d4e60d..2822fec 100644
--- a/src/filedef.cpp
+++ b/src/filedef.cpp
@@ -269,7 +269,10 @@ void FileDef::writeDocumentation(OutputList &ol)
MemberGroup *mg;
for (;(mg=mgli.current());++mgli)
{
- mg->writeDeclarations(ol,0,0,this,0);
+ if (mg->header()!="[NOHEADER]")
+ {
+ mg->writeDeclarations(ol,0,0,this,0);
+ }
}
allMemberList.writeDeclarations(ol,0,0,this,0,0,0);
@@ -439,44 +442,75 @@ void FileDef::writeSource(OutputList &ol)
/*! Adds a member \a md to the member group with id \a groupId.
*/
-void FileDef::addMemberToGroup(MemberDef *md,int groupId)
+void FileDef::addMemberListToGroup(MemberList *ml,
+ bool (MemberDef::*func)() const)
{
- if (groupId!=-1)
+ MemberListIterator mli(*ml);
+ MemberDef *md;
+ for (;(md=mli.current());++mli)
{
- QCString *pGrpHeader = memberHeaderDict[groupId];
- QCString *pDocs = memberDocDict[groupId];
- if (pGrpHeader)
+ int groupId=md->getMemberGroupId();
+ if ((md->*func)() && groupId!=-1)
{
- MemberGroup *mg = memberGroupDict->find(groupId);
- if (mg==0)
+ QCString *pGrpHeader = memberHeaderDict[groupId];
+ QCString *pDocs = memberDocDict[groupId];
+ if (pGrpHeader)
{
- mg = new MemberGroup(groupId,*pGrpHeader,pDocs ? pDocs->data() : 0);
- memberGroupDict->insert(groupId,mg);
- memberGroupList->append(mg);
+ MemberGroup *mg = memberGroupDict->find(groupId);
+ if (mg==0)
+ {
+ mg = new MemberGroup(groupId,*pGrpHeader,pDocs ? pDocs->data() : 0);
+ memberGroupDict->insert(groupId,mg);
+ memberGroupList->append(mg);
+ }
+ mg->insertMember(md);
+ md->setMemberGroup(mg);
}
- mg->insertMember(md);
- md->setMemberGroup(mg);
}
}
}
+void FileDef::addMembersToMemberGroup()
+{
+ addMemberListToGroup(&allMemberList,&MemberDef::isDefine);
+ addMemberListToGroup(&allMemberList,&MemberDef::isTypedef);
+ addMemberListToGroup(&allMemberList,&MemberDef::isEnumerate);
+ addMemberListToGroup(&allMemberList,&MemberDef::isEnumValue);
+ addMemberListToGroup(&allMemberList,&MemberDef::isFunction);
+ addMemberListToGroup(&allMemberList,&MemberDef::isVariable);
+}
+
/*! Adds member definition \a md to the list of all members of this file */
-void FileDef::insertMember(MemberDef *md,int groupId)
+void FileDef::insertMember(MemberDef *md)
{
allMemberList.append(md);
switch(md->memberType())
{
- case MemberDef::Variable: varMembers.inSort(md); break;
- case MemberDef::Function: funcMembers.inSort(md); break;
- case MemberDef::Typedef: typedefMembers.inSort(md); break;
- case MemberDef::Enumeration: enumMembers.inSort(md); break;
- case MemberDef::EnumValue: enumValMembers.inSort(md); break;
- case MemberDef::Prototype: protoMembers.inSort(md); break;
- case MemberDef::Define: defineMembers.inSort(md); break;
+ case MemberDef::Variable:
+ varMembers.inSort(md);
+ break;
+ case MemberDef::Function:
+ funcMembers.inSort(md);
+ break;
+ case MemberDef::Typedef:
+ typedefMembers.inSort(md);
+ break;
+ case MemberDef::Enumeration:
+ enumMembers.inSort(md);
+ break;
+ case MemberDef::EnumValue:
+ enumValMembers.inSort(md);
+ break;
+ case MemberDef::Prototype:
+ protoMembers.inSort(md);
+ break;
+ case MemberDef::Define:
+ defineMembers.inSort(md);
+ break;
default:
err("FileDef::insertMembers(): unexpected member insert in file!\n");
}
- addMemberToGroup(md,groupId);
+ //addMemberToGroup(md,groupId);
}
/*! Adds compound definition \a cd to the list of all compounds of this file */