Commit 61ad98d2 authored by dimitri's avatar dimitri

Fixes empty list bug in LaTeX

parent 3e8e2e53
/****************************************************************************** /******************************************************************************
* *
* * $Id$
* *
* Copyright (C) 1997-2001 by Dimitri van Heesch. * Copyright (C) 1997-2001 by Dimitri van Heesch.
* *
...@@ -166,13 +166,14 @@ void MemberList::writePlainDeclarations(OutputList &ol, ...@@ -166,13 +166,14 @@ void MemberList::writePlainDeclarations(OutputList &ol,
) )
{ {
//printf("----- writePlainDeclaration() ----\n"); //printf("----- writePlainDeclaration() ----\n");
countDecMembers(/*inGroup,countSubGroups,sectionPerType*/); countDecMembers();
if (numDecMembers()==0) return; // no members in this list if (numDecMembers()==0) return; // no members in this list
//printf("----> writePlainDeclaration() inGroup=%d totalCount()=%d\n",inGroup,totalCount()); //printf("----> writePlainDeclaration() numDecMembers()=%d\n",
// numDecMembers());
ol.pushGeneratorState(); ol.pushGeneratorState();
ol.startMemberList(); bool first=TRUE;
MemberDef *md; MemberDef *md;
MemberListIterator mli(*this); MemberListIterator mli(*this);
for ( ; (md=mli.current()); ++mli ) for ( ; (md=mli.current()); ++mli )
...@@ -189,10 +190,14 @@ void MemberList::writePlainDeclarations(OutputList &ol, ...@@ -189,10 +190,14 @@ void MemberList::writePlainDeclarations(OutputList &ol,
case MemberDef::Slot: // fall through case MemberDef::Slot: // fall through
case MemberDef::DCOP: // fall through case MemberDef::DCOP: // fall through
case MemberDef::Property: case MemberDef::Property:
{
if (first) ol.startMemberList(),first=FALSE;
md->writeDeclaration(ol,cd,nd,fd,gd,m_inGroup); md->writeDeclaration(ol,cd,nd,fd,gd,m_inGroup);
break; break;
}
case MemberDef::Enumeration: case MemberDef::Enumeration:
{ {
if (first) ol.startMemberList(),first=FALSE;
OutputList typeDecl(&ol); OutputList typeDecl(&ol);
QCString name(md->name()); QCString name(md->name());
int i=name.findRev("::"); int i=name.findRev("::");
...@@ -340,6 +345,7 @@ void MemberList::writePlainDeclarations(OutputList &ol, ...@@ -340,6 +345,7 @@ void MemberList::writePlainDeclarations(OutputList &ol,
bool isFriendClass = type=="friend class"; bool isFriendClass = type=="friend class";
if (!isFriendClass) if (!isFriendClass)
{ {
if (first) ol.startMemberList(),first=FALSE;
md->writeDeclaration(ol,cd,nd,fd,gd,m_inGroup); md->writeDeclaration(ol,cd,nd,fd,gd,m_inGroup);
} }
else // isFriendClass else // isFriendClass
...@@ -349,6 +355,7 @@ void MemberList::writePlainDeclarations(OutputList &ol, ...@@ -349,6 +355,7 @@ void MemberList::writePlainDeclarations(OutputList &ol,
ClassDef *cd=getClass(md->name()); ClassDef *cd=getClass(md->name());
if (md->hasDocumentation()) // friend is documented if (md->hasDocumentation()) // friend is documented
{ {
if (first) ol.startMemberList(),first=FALSE;
ol.startMemberItem(0); ol.startMemberItem(0);
ol.docify("class "); ol.docify("class ");
ol.insertMemberAlign(); ol.insertMemberAlign();
...@@ -357,6 +364,7 @@ void MemberList::writePlainDeclarations(OutputList &ol, ...@@ -357,6 +364,7 @@ void MemberList::writePlainDeclarations(OutputList &ol,
} }
else if (cd && cd->isLinkable()) // class is documented else if (cd && cd->isLinkable()) // class is documented
{ {
if (first) ol.startMemberList(),first=FALSE;
ol.startMemberItem(0); ol.startMemberItem(0);
ol.docify("class "); ol.docify("class ");
ol.insertMemberAlign(); ol.insertMemberAlign();
...@@ -365,6 +373,7 @@ void MemberList::writePlainDeclarations(OutputList &ol, ...@@ -365,6 +373,7 @@ void MemberList::writePlainDeclarations(OutputList &ol,
} }
else if (!Config_getBool("HIDE_UNDOC_MEMBERS")) // no documentation else if (!Config_getBool("HIDE_UNDOC_MEMBERS")) // no documentation
{ {
if (first) ol.startMemberList(),first=FALSE;
ol.startMemberItem(0); ol.startMemberItem(0);
ol.docify("class "); ol.docify("class ");
ol.insertMemberAlign(); ol.insertMemberAlign();
...@@ -391,6 +400,7 @@ void MemberList::writePlainDeclarations(OutputList &ol, ...@@ -391,6 +400,7 @@ void MemberList::writePlainDeclarations(OutputList &ol,
if (md->fromAnonymousScope() && !md->anonymousDeclShown()) if (md->fromAnonymousScope() && !md->anonymousDeclShown())
{ {
//printf("anonymous compound members\n"); //printf("anonymous compound members\n");
if (first) ol.startMemberList(),first=FALSE;
md->setFromAnonymousScope(FALSE); md->setFromAnonymousScope(FALSE);
md->writeDeclaration(ol,cd,nd,fd,gd,m_inGroup); md->writeDeclaration(ol,cd,nd,fd,gd,m_inGroup);
md->setFromAnonymousScope(TRUE); md->setFromAnonymousScope(TRUE);
...@@ -398,7 +408,7 @@ void MemberList::writePlainDeclarations(OutputList &ol, ...@@ -398,7 +408,7 @@ void MemberList::writePlainDeclarations(OutputList &ol,
} }
} }
ol.endMemberList(); if (!first) ol.endMemberList();
ol.popGeneratorState(); ol.popGeneratorState();
//printf("----- end writePlainDeclaration() ----\n"); //printf("----- end writePlainDeclaration() ----\n");
...@@ -454,6 +464,7 @@ void MemberList::writeDeclarations(OutputList &ol, ...@@ -454,6 +464,7 @@ void MemberList::writeDeclarations(OutputList &ol,
ol.endMemberGroupDocs(); ol.endMemberGroupDocs();
} }
ol.startMemberGroup(); ol.startMemberGroup();
//printf("--- mg->writePlainDeclarations ---\n");
mg->writePlainDeclarations(ol,cd,nd,fd,gd); mg->writePlainDeclarations(ol,cd,nd,fd,gd);
ol.endMemberGroup(hasHeader); ol.endMemberGroup(hasHeader);
++mgli; ++mgli;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment