summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/classdef.cpp314
-rw-r--r--src/classdef.h13
-rw-r--r--src/filedef.cpp2
-rw-r--r--src/groupdef.cpp2
-rw-r--r--src/memberlist.cpp26
-rw-r--r--src/memberlist.h4
-rw-r--r--src/namespacedef.cpp2
7 files changed, 237 insertions, 126 deletions
diff --git a/src/classdef.cpp b/src/classdef.cpp
index 8477f16..6e7ed72 100644
--- a/src/classdef.cpp
+++ b/src/classdef.cpp
@@ -1521,7 +1521,7 @@ void ClassDef::writeSummaryLinks(OutputList &ol)
MemberList * ml = getMemberList(lmd->type);
if (ml && ml->declVisible())
{
- ol.writeSummaryLink(0,ml->listTypeAsString(),lmd->title(lang),first);
+ ol.writeSummaryLink(0,ml->listTypeAsString(ml->listType()),lmd->title(lang),first);
first=FALSE;
}
}
@@ -3901,6 +3901,20 @@ void ClassDef::sortMemberLists()
}
}
+
+/** Computes for a given list type \a inListType, which are the
+ * the corresponding list type(s) in the base class that are to be
+ * added to this list.
+ *
+ * So for public inheritance, the mapping is 1-1, so outListType1=inListType
+ * Private members are to be hidden completely.
+ *
+ * For protected inheritance, both protected and public members of the
+ * base class should be joined in the protected member section.
+ *
+ * For private inheritance, both protected and public members of the
+ * base class should be joined in the private member section.
+ */
static void convertProtectionLevel(
MemberListType inListType,
Protection inProt,
@@ -3908,7 +3922,8 @@ static void convertProtectionLevel(
int *outListType2
)
{
- // default representing Public inheritance
+ static bool extractPrivate = Config_getBool("EXTRACT_PRIVATE");
+ // default representing 1-1 mapping
*outListType1=inListType;
*outListType2=-1;
if (inProt==Public)
@@ -3953,28 +3968,22 @@ static void convertProtectionLevel(
break;
case MemberListType_proMethods:
- *outListType1=MemberListType_pubMethods;
- *outListType2=MemberListType_proMethods;
+ *outListType2=MemberListType_pubMethods;
break;
case MemberListType_proStaticMethods:
- *outListType1=MemberListType_pubStaticMethods;
- *outListType2=MemberListType_proStaticMethods;
+ *outListType2=MemberListType_pubStaticMethods;
break;
case MemberListType_proSlots:
- *outListType1=MemberListType_pubSlots;
- *outListType1=MemberListType_proSlots;
+ *outListType2=MemberListType_pubSlots;
break;
case MemberListType_proAttribs:
- *outListType1=MemberListType_pubAttribs;
- *outListType2=MemberListType_proAttribs;
+ *outListType2=MemberListType_pubAttribs;
break;
case MemberListType_proStaticAttribs:
- *outListType1=MemberListType_pubStaticAttribs;
- *outListType2=MemberListType_proStaticAttribs;
+ *outListType2=MemberListType_pubStaticAttribs;
break;
case MemberListType_proTypes:
- *outListType1=MemberListType_pubTypes;
- *outListType2=MemberListType_proTypes;
+ *outListType2=MemberListType_pubTypes;
break;
default:
break;
@@ -4003,28 +4012,76 @@ static void convertProtectionLevel(
break;
case MemberListType_priMethods:
- *outListType1=MemberListType_pubMethods;
- *outListType2=MemberListType_proMethods;
+ if (extractPrivate)
+ {
+ *outListType1=MemberListType_pubMethods;
+ *outListType2=MemberListType_proMethods;
+ }
+ else
+ {
+ *outListType1=-1;
+ *outListType2=-1;
+ }
break;
case MemberListType_priStaticMethods:
- *outListType1=MemberListType_pubStaticMethods;
- *outListType2=MemberListType_proStaticMethods;
+ if (extractPrivate)
+ {
+ *outListType1=MemberListType_pubStaticMethods;
+ *outListType2=MemberListType_proStaticMethods;
+ }
+ else
+ {
+ *outListType1=-1;
+ *outListType2=-1;
+ }
break;
case MemberListType_priSlots:
- *outListType1=MemberListType_pubSlots;
- *outListType1=MemberListType_proSlots;
+ if (extractPrivate)
+ {
+ *outListType1=MemberListType_pubSlots;
+ *outListType1=MemberListType_proSlots;
+ }
+ else
+ {
+ *outListType1=-1;
+ *outListType2=-1;
+ }
break;
case MemberListType_priAttribs:
- *outListType1=MemberListType_pubAttribs;
- *outListType2=MemberListType_proAttribs;
+ if (extractPrivate)
+ {
+ *outListType1=MemberListType_pubAttribs;
+ *outListType2=MemberListType_proAttribs;
+ }
+ else
+ {
+ *outListType1=-1;
+ *outListType2=-1;
+ }
break;
case MemberListType_priStaticAttribs:
- *outListType1=MemberListType_pubStaticAttribs;
- *outListType2=MemberListType_proStaticAttribs;
+ if (extractPrivate)
+ {
+ *outListType1=MemberListType_pubStaticAttribs;
+ *outListType2=MemberListType_proStaticAttribs;
+ }
+ else
+ {
+ *outListType1=-1;
+ *outListType2=-1;
+ }
break;
case MemberListType_priTypes:
- *outListType1=MemberListType_pubTypes;
- *outListType2=MemberListType_proTypes;
+ if (extractPrivate)
+ {
+ *outListType1=MemberListType_pubTypes;
+ *outListType2=MemberListType_proTypes;
+ }
+ else
+ {
+ *outListType1=-1;
+ *outListType2=-1;
+ }
break;
default:
break;
@@ -4034,67 +4091,95 @@ static void convertProtectionLevel(
// inListType,inProt,*outListType1,*outListType2);
}
-int ClassDef::countInheritedDecMembersRec(MemberListType lt,
- ClassDef *inheritedFrom)
+int ClassDef::countMemberDeclarations(MemberListType lt,ClassDef *inheritedFrom,
+ int lt2,bool invert,bool showAlways,QPtrDict<void> *visitedClasses)
{
- //printf("> %s::countedInheritedDecMembersRec(%d)\n",name().data(),lt);
+ //printf("%s: countMemberDeclarations for %d and %d\n",name().data(),lt,lt2);
int count=0;
- if (m_impl->inherits)
+ MemberList * ml = getMemberList(lt);
+ MemberList * ml2 = getMemberList((MemberListType)lt2);
+ if (getLanguage()!=SrcLangExt_VHDL) // use specific declarations function
{
- BaseClassListIterator it(*m_impl->inherits);
- BaseClassDef *ibcd;
- for (it.toFirst();(ibcd=it.current());++it)
+ if (ml)
{
- ClassDef *icd=ibcd->classDef;
- int lt1,lt2;
- // an inherited member with protection level lt
- // could have come from a section with protection levels lt1 or lt2
- // in the bass class (e.g. for protected inheritance, the protected
- // member comes from protected and public methods in the base class)
- convertProtectionLevel(lt,ibcd->prot,&lt1,&lt2);
- MemberList *ml1 = icd->getMemberList((MemberListType)lt1);
- MemberList *ml2 = icd->getMemberList((MemberListType)lt2);
- if (ml1)
- {
- count+=icd->countMembersIncludingGrouped((MemberListType)lt1,inheritedFrom,TRUE);
- }
- if (ml2)
- {
- count+=icd->countMembersIncludingGrouped((MemberListType)lt2,inheritedFrom,TRUE);
- }
- if (lt1!=-1)
- {
- count+=icd->countInheritedDecMembersRec((MemberListType)lt1,inheritedFrom);
- }
- if (lt2!=-1)
- {
- count+=icd->countInheritedDecMembersRec((MemberListType)lt2,inheritedFrom);
- }
+ count+=ml->numDecMembers();
+ //printf("-> ml=%d\n",ml->numDecMembers());
+ }
+ if (ml2)
+ {
+ count+=ml2->numDecMembers();
+ //printf("-> ml2=%d\n",ml2->numDecMembers());
+ }
+ static bool inlineInheritedMembers = Config_getBool("INLINE_INHERITED_MEMB");
+ if (!inlineInheritedMembers) // show inherited members as separate lists
+ {
+ QPtrDict<void> visited(17);
+ count+=countInheritedDecMembers(lt,inheritedFrom,invert,showAlways,visitedClasses);
}
}
- //printf("< %s::countedInheritedDecMembersRec(%d) count=%d\n",name().data(),lt,count);
+ //printf("-> %d\n",count);
return count;
}
-int ClassDef::countInheritedDecMembers(MemberListType lt)
+
+int ClassDef::countInheritedDecMembers(MemberListType lt,
+ ClassDef *inheritedFrom,bool invert,bool showAlways,
+ QPtrDict<void> *visitedClasses)
{
- int count=0;
- MemberList *ml = getMemberList(lt);
- if (ml)
- {
- count = ml->countInheritableMembers(this);
- }
- if (count==0) // for this class the (non-private) member list is empty
- // see if we need to create a section for it under
- // Additional Inherited Members
+ int inhCount = 0;
+ int count = countMembersIncludingGrouped(lt,inheritedFrom,FALSE)>0;
+ bool process = count>0;
+ //printf("%s: countInheritedDecMembers: lt=%d process=%d count=%d invert=%d\n",
+ // name().data(),lt,process,count,invert);
+ if ((process^invert) || showAlways)
{
- count = countInheritedDecMembersRec(lt,this);
+ if (m_impl->inherits)
+ {
+ BaseClassListIterator it(*m_impl->inherits);
+ BaseClassDef *ibcd;
+ for (it.toFirst();(ibcd=it.current());++it)
+ {
+ ClassDef *icd=ibcd->classDef;
+ int lt1,lt2;
+ convertProtectionLevel(lt,ibcd->prot,&lt1,&lt2);
+ //printf("%s: convert %d->(%d,%d) prot=%d\n",
+ // icd->name().data(),lt,lt1,lt2,ibcd->prot);
+ if (visitedClasses->find(icd)==0)
+ {
+ visitedClasses->insert(icd,icd); // guard for multiple virtual inheritance
+ if (lt1!=-1)
+ {
+ inhCount+=icd->countMemberDeclarations((MemberListType)lt1,inheritedFrom,lt2,FALSE,TRUE,visitedClasses);
+ }
+ }
+ }
+ }
}
- else // member list is not empty, so we will add the inherited members there
+ return inhCount;
+}
+
+void ClassDef::getTitleForMemberListType(MemberListType type,
+ QCString &title,QCString &subtitle)
+{
+ SrcLangExt lang = getLanguage();
+ QListIterator<LayoutDocEntry> eli(
+ LayoutDocManager::instance().docEntries(LayoutDocManager::Class));
+ LayoutDocEntry *lde;
+ for (eli.toFirst();(lde=eli.current());++eli)
{
- count = 0;
+ if (lde->kind()==LayoutDocEntry::MemberDecl)
+ {
+ LayoutDocEntryMemberDecl *lmd = (LayoutDocEntryMemberDecl*)lde;
+ if (lmd->type==type)
+ {
+ title = lmd->title(lang);
+ subtitle = lmd->subtitle(lang);
+ return;
+ }
+ }
}
- return count;
+ title="";
+ subtitle="";
}
int ClassDef::countAdditionalInheritedMembers()
@@ -4110,7 +4195,12 @@ int ClassDef::countAdditionalInheritedMembers()
LayoutDocEntryMemberDecl *lmd = (LayoutDocEntryMemberDecl*)lde;
if (lmd->type!=MemberListType_friends) // friendship is not inherited
{
- totalCount+=countInheritedDecMembers(lmd->type);
+ //MemberList *ml = getMemberList(lmd->type);
+ //if (ml==0 || ml->numDecMembers()==0)
+ //{
+ QPtrDict<void> visited(17);
+ totalCount+=countInheritedDecMembers(lmd->type,this,TRUE,FALSE,&visited);
+ //}
}
}
}
@@ -4129,11 +4219,10 @@ void ClassDef::writeAdditionalInheritedMembers(OutputList &ol)
if (lde->kind()==LayoutDocEntry::MemberDecl)
{
LayoutDocEntryMemberDecl *lmd = (LayoutDocEntryMemberDecl*)lde;
- MemberList *ml = getMemberList(lmd->type);
- if (ml==0 || ml->numDecMembers()==0)
+ if (lmd->type!=MemberListType_friends)
{
QPtrDict<void> visited(17);
- writeInheritedMemberDeclarations(ol,lmd->type,lmd->title(getLanguage()),this,TRUE,&visited);
+ writeInheritedMemberDeclarations(ol,lmd->type,-1,lmd->title(getLanguage()),this,TRUE,FALSE,&visited);
}
}
}
@@ -4164,21 +4253,22 @@ int ClassDef::countMembersIncludingGrouped(MemberListType lt,
}
}
//printf("%s:countMembersIncludingGrouped(lt=%d,%s)=%d\n",
- // name().data(),lt,ml?ml->listTypeAsString().data():"<none>",count);
+ // name().data(),lt,ml?ml->listTypeAsString(ml->listType()).data():"<none>",count);
return count;
}
void ClassDef::writeInheritedMemberDeclarations(OutputList &ol,
- MemberListType lt,const QCString &title,
- ClassDef *inheritedFrom,bool invert,
+ MemberListType lt,int lt2,const QCString &title,
+ ClassDef *inheritedFrom,bool invert,bool showAlways,
QPtrDict<void> *visitedClasses)
{
ol.pushGeneratorState();
ol.disableAllBut(OutputGenerator::Html);
- bool process = countMembersIncludingGrouped(lt,inheritedFrom,FALSE)>0;
- //printf("%s: writeInheritedMemberDec: lt=%d process=%d invert=%d\n",
- // name().data(),lt,process,invert);
- if (process^invert)
+ int count = countMembersIncludingGrouped(lt,inheritedFrom,FALSE)>0;
+ bool process = count>0;
+ //printf("%s: writeInheritedMemberDec: lt=%d process=%d invert=%d always=%d\n",
+ // name().data(),lt,process,invert,showAlways);
+ if ((process^invert) || showAlways)
{
if (m_impl->inherits)
{
@@ -4187,18 +4277,26 @@ void ClassDef::writeInheritedMemberDeclarations(OutputList &ol,
for (it.toFirst();(ibcd=it.current());++it)
{
ClassDef *icd=ibcd->classDef;
- int lt1,lt2;
- convertProtectionLevel(lt,ibcd->prot,&lt1,&lt2);
- //printf("%s:convert %d->(%d,%d)\n",icd->name().data(),lt,lt1,lt2);
+ int lt1,lt3;
+ convertProtectionLevel(lt,ibcd->prot,&lt1,&lt3);
+ if (lt2==-1 && lt3!=-1)
+ {
+ lt2=lt3;
+ }
+ //printf("%s:convert %d->(%d,%d) prot=%d\n",icd->name().data(),lt,lt1,lt2,ibcd->prot);
if (visitedClasses->find(icd)==0)
{
visitedClasses->insert(icd,icd); // guard for multiple virtual inheritance
if (lt1!=-1)
{
icd->writeMemberDeclarations(ol,(MemberListType)lt1,
- title,QCString(),FALSE,inheritedFrom,lt2,invert,visitedClasses);
+ title,QCString(),FALSE,inheritedFrom,lt2,FALSE /*invert*/,TRUE,visitedClasses);
}
}
+ else
+ {
+ //printf("%s: class already visited!\n",icd->name().data());
+ }
}
}
}
@@ -4206,10 +4304,12 @@ void ClassDef::writeInheritedMemberDeclarations(OutputList &ol,
}
void ClassDef::writeMemberDeclarations(OutputList &ol,MemberListType lt,const QCString &title,
- const char *subTitle,bool showInline,ClassDef *inheritedFrom,int lt2,bool invert,QPtrDict<void> *visitedClasses)
+ const char *subTitle,bool showInline,ClassDef *inheritedFrom,int lt2,
+ bool invert,bool showAlways,QPtrDict<void> *visitedClasses)
{
- //printf("%s: ClassDef::writeMemberDeclarations for %s\n",name().data(),ml->listTypeAsString().data());
+ //printf("%s: ClassDef::writeMemberDeclarations lt=%d lt2=%d\n",name().data(),lt,lt2);
MemberList * ml = getMemberList(lt);
+ MemberList * ml2 = getMemberList((MemberListType)lt2);
if (getLanguage()==SrcLangExt_VHDL) // use specific declarations function
{
if (ml)
@@ -4219,27 +4319,31 @@ void ClassDef::writeMemberDeclarations(OutputList &ol,MemberListType lt,const QC
}
else
{
- //printf("%s::writeMemberDeclarations(%s)\n",name().data(),title.data());
- //static bool optimizeVhdl = Config_getBool("OPTIMIZE_OUTPUT_VHDL");
+ //printf("%s::writeMemberDeclarations(%s) ml=%p ml2=%p\n",name().data(),title.data(),ml,ml2);
+ QCString tt = title, st = subTitle;
if (ml)
{
- ml->writeDeclarations(ol,this,0,0,0,title,subTitle,definitionType(),FALSE,showInline,inheritedFrom);
- if (lt2!=-1)
- {
- MemberList * ml2 = getMemberList((MemberListType)lt2);
- if (ml2)
- {
- ml2->writeDeclarations(ol,this,0,0,0,0,0,definitionType(),FALSE,showInline,inheritedFrom);
- }
- }
+ //printf(" writeDeclaration type=%d count=%d\n",lt,ml->numDecMembers());
+ ml->writeDeclarations(ol,this,0,0,0,tt,st,definitionType(),FALSE,showInline,inheritedFrom,lt);
+ tt.resize(0);
+ st.resize(0);
+ }
+ if (ml2)
+ {
+ //printf(" writeDeclaration type=%d count=%d\n",lt2,ml2->numDecMembers());
+ ml2->writeDeclarations(ol,this,0,0,0,tt,st,definitionType(),FALSE,showInline,inheritedFrom,lt);
}
static bool inlineInheritedMembers = Config_getBool("INLINE_INHERITED_MEMB");
if (!inlineInheritedMembers) // show inherited members as separate lists
{
- QPtrDict<void> visited(17);
- writeInheritedMemberDeclarations(ol,lt,title,
- inheritedFrom ? inheritedFrom : this,
- invert,visitedClasses==0 ? &visited: visitedClasses);
+ if (lt!=-1)
+ {
+ QPtrDict<void> visited(17);
+ writeInheritedMemberDeclarations(ol,lt,lt2,title,
+ inheritedFrom ? inheritedFrom : this,
+ invert,showAlways,
+ visitedClasses==0 ? &visited: visitedClasses);
+ }
}
}
}
diff --git a/src/classdef.h b/src/classdef.h
index f4d5962..494b8f2 100644
--- a/src/classdef.h
+++ b/src/classdef.h
@@ -383,9 +383,9 @@ class ClassDef : public Definition
QCString getMemberListFileName() const;
void addMemberToList(MemberListType lt,MemberDef *md,bool isBrief);
MemberList *createMemberList(MemberListType lt);
- void writeInheritedMemberDeclarations(OutputList &ol,MemberListType lt,const QCString &title,ClassDef *inheritedFrom,bool invert,QPtrDict<void> *visitedClasses);
+ void writeInheritedMemberDeclarations(OutputList &ol,MemberListType lt,int lt2,const QCString &title,ClassDef *inheritedFrom,bool invert,bool showAlways,QPtrDict<void> *visitedClasses);
void writeMemberDeclarations(OutputList &ol,MemberListType lt,const QCString &title,
- const char *subTitle=0,bool showInline=FALSE,ClassDef *inheritedFrom=0,int lt2=-1,bool invert=FALSE,QPtrDict<void> *visitedClasses=0);
+ const char *subTitle=0,bool showInline=FALSE,ClassDef *inheritedFrom=0,int lt2=-1,bool invert=FALSE,bool showAlways=FALSE,QPtrDict<void> *visitedClasses=0);
void writeMemberDocumentation(OutputList &ol,MemberListType lt,const QCString &title,bool showInline=FALSE);
void writeSimpleMemberDocumentation(OutputList &ol,MemberListType lt);
void writePlainMemberDeclaration(OutputList &ol,MemberListType lt,bool inGroup,ClassDef *inheritedFrom,const char *inheritId);
@@ -407,11 +407,16 @@ class ClassDef : public Definition
void writeMoreLink(OutputList &ol,const QCString &anchor);
void writeDetailedDocumentationBody(OutputList &ol);
- int countInheritedDecMembersRec(MemberListType lt,ClassDef *inheritedFrom);
- int countInheritedDecMembers(MemberListType lt);
int countAdditionalInheritedMembers();
void writeAdditionalInheritedMembers(OutputList &ol);
void addClassAttributes(OutputList &ol);
+ int countMemberDeclarations(MemberListType lt,ClassDef *inheritedFrom,
+ int lt2,bool invert,bool showAlways,QPtrDict<void> *visitedClasses);
+ int countInheritedDecMembers(MemberListType lt,
+ ClassDef *inheritedFrom,bool invert,bool showAlways,
+ QPtrDict<void> *visitedClasses);
+ void getTitleForMemberListType(MemberListType type,
+ QCString &title,QCString &subtitle);
ClassDefImpl *m_impl;
diff --git a/src/filedef.cpp b/src/filedef.cpp
index d6e31a1..7bd6aeb 100644
--- a/src/filedef.cpp
+++ b/src/filedef.cpp
@@ -514,7 +514,7 @@ void FileDef::writeSummaryLinks(OutputList &ol)
MemberList * ml = getMemberList(lmd->type);
if (ml && ml->declVisible())
{
- ol.writeSummaryLink(0,ml->listTypeAsString(),lmd->title(lang),first);
+ ol.writeSummaryLink(0,ml->listTypeAsString(ml->listType()),lmd->title(lang),first);
first=FALSE;
}
}
diff --git a/src/groupdef.cpp b/src/groupdef.cpp
index 2b41594..f9b47ae 100644
--- a/src/groupdef.cpp
+++ b/src/groupdef.cpp
@@ -913,7 +913,7 @@ void GroupDef::writeSummaryLinks(OutputList &ol)
MemberList * ml = getMemberList(lmd->type);
if (ml && ml->declVisible())
{
- ol.writeSummaryLink(0,ml->listTypeAsString(),lmd->title(lang),first);
+ ol.writeSummaryLink(0,ml->listTypeAsString(ml->listType()),lmd->title(lang),first);
first=FALSE;
}
}
diff --git a/src/memberlist.cpp b/src/memberlist.cpp
index 76ffff1..68edabc 100644
--- a/src/memberlist.cpp
+++ b/src/memberlist.cpp
@@ -315,7 +315,7 @@ void MemberList::writePlainDeclarations(OutputList &ol,
return; // no members in this list
}
//printf(" --> writePlainDeclaration() numDecMembers()=%d\n",
- // numDecMembers());
+ // numDecMembers());
ol.pushGeneratorState();
@@ -329,6 +329,7 @@ void MemberList::writePlainDeclarations(OutputList &ol,
if ((inheritedFrom==0 || !md->isReimplementedBy(inheritedFrom)) &&
md->isBriefSectionVisible())
{
+ //printf(">>> rendering\n");
switch(md->memberType())
{
case MemberType_Define: // fall through
@@ -493,7 +494,7 @@ void MemberList::writeDeclarations(OutputList &ol,
ClassDef *cd,NamespaceDef *nd,FileDef *fd,GroupDef *gd,
const char *title,const char *subtitle,
const DefinitionIntf::DefType compoundType,bool showEnumValues,
- bool showInline,ClassDef *inheritedFrom)
+ bool showInline,ClassDef *inheritedFrom,MemberListType lt)
{
(void)showEnumValues; // unused
@@ -507,8 +508,8 @@ void MemberList::writeDeclarations(OutputList &ol,
if (ctx==0 && gd) ctx = gd;
if (ctx==0 && fd) ctx = fd;
- //printf("%p: MemberList::writeDeclaration(title=`%s',subtitle=`%s')=%d\n",
- // this,title,subtitle,numDecMembers());
+ //printf("%p: MemberList::writeDeclaration(title=`%s',subtitle=`%s')=%d inheritedFrom=%p\n",
+ // this,title,subtitle,numDecMembers(),inheritedFrom);
int num = numDecMembers();
if (inheritedFrom)
@@ -519,7 +520,7 @@ void MemberList::writeDeclarations(OutputList &ol,
{
ol.pushGeneratorState();
ol.disableAllBut(OutputGenerator::Html);
- inheritId = substitute(listTypeAsString(),"-","_")+"_"+
+ inheritId = substitute(listTypeAsString(lt),"-","_")+"_"+
stripPath(cd->getOutputFileBase());
if (title)
{
@@ -540,7 +541,7 @@ void MemberList::writeDeclarations(OutputList &ol,
}
else
{
- ol.startMemberHeader(listTypeAsString());
+ ol.startMemberHeader(listTypeAsString(m_listType));
}
ol.parseText(title);
if (showInline)
@@ -872,9 +873,14 @@ void MemberList::unmarshal(StorageIntf *s)
}
}
-QCString MemberList::listTypeAsString() const
+void MemberList::setNeedsSorting(bool b)
+{
+ m_needsSorting = b;
+}
+
+QCString MemberList::listTypeAsString(MemberListType type) const
{
- switch(m_listType)
+ switch(type)
{
case MemberListType_pubMethods: return "pub-methods";
case MemberListType_proMethods: return "pro-methods";
@@ -928,10 +934,6 @@ QCString MemberList::listTypeAsString() const
return "";
}
-void MemberList::setNeedsSorting(bool b)
-{
- m_needsSorting = b;
-}
//--------------------------------------------------------------------------
diff --git a/src/memberlist.h b/src/memberlist.h
index ce5a3d2..7241258 100644
--- a/src/memberlist.h
+++ b/src/memberlist.h
@@ -36,7 +36,7 @@ class MemberList : public QList<MemberDef>
MemberList(MemberListType lt);
~MemberList();
MemberListType listType() const { return m_listType; }
- QCString listTypeAsString() const;
+ QCString listTypeAsString(MemberListType type) const;
bool insert(uint index,const MemberDef *md);
void inSort(const MemberDef *md);
void append(const MemberDef *md);
@@ -63,7 +63,7 @@ class MemberList : public QList<MemberDef>
ClassDef *cd,NamespaceDef *nd,FileDef *fd,GroupDef *gd,
const char *title,const char *subtitle,const DefinitionIntf::DefType compoundType,
bool showEnumValues=FALSE,bool showInline=FALSE,
- ClassDef *inheritedFrom=0);
+ ClassDef *inheritedFrom=0,MemberListType lt=MemberListType_pubMethods);
void writeDocumentation(OutputList &ol,const char *scopeName,
Definition *container,const char *title,bool showEnumValues=FALSE,bool showInline=FALSE);
void writeSimpleDocumentation(OutputList &ol,Definition *container);
diff --git a/src/namespacedef.cpp b/src/namespacedef.cpp
index cfca6d6..ee1568e 100644
--- a/src/namespacedef.cpp
+++ b/src/namespacedef.cpp
@@ -429,7 +429,7 @@ void NamespaceDef::writeSummaryLinks(OutputList &ol)
MemberList * ml = getMemberList(lmd->type);
if (ml && ml->declVisible())
{
- ol.writeSummaryLink(0,ml->listTypeAsString(),lmd->title(lang),first);
+ ol.writeSummaryLink(0,ml->listTypeAsString(ml->listType()),lmd->title(lang),first);
first=FALSE;
}
}