From 61ad98d274bba57819e4b13a2c4ba67b56710634 Mon Sep 17 00:00:00 2001 From: dimitri Date: Tue, 1 May 2001 18:38:47 +0000 Subject: Fixes empty list bug in LaTeX --- src/memberlist.cpp | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/src/memberlist.cpp b/src/memberlist.cpp index 404c5a0..036d5c6 100644 --- a/src/memberlist.cpp +++ b/src/memberlist.cpp @@ -1,6 +1,6 @@ /****************************************************************************** * - * + * $Id$ * * Copyright (C) 1997-2001 by Dimitri van Heesch. * @@ -166,13 +166,14 @@ void MemberList::writePlainDeclarations(OutputList &ol, ) { //printf("----- writePlainDeclaration() ----\n"); - countDecMembers(/*inGroup,countSubGroups,sectionPerType*/); + countDecMembers(); 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.startMemberList(); + bool first=TRUE; MemberDef *md; MemberListIterator mli(*this); for ( ; (md=mli.current()); ++mli ) @@ -189,10 +190,14 @@ void MemberList::writePlainDeclarations(OutputList &ol, case MemberDef::Slot: // fall through case MemberDef::DCOP: // fall through case MemberDef::Property: + { + if (first) ol.startMemberList(),first=FALSE; md->writeDeclaration(ol,cd,nd,fd,gd,m_inGroup); break; + } case MemberDef::Enumeration: { + if (first) ol.startMemberList(),first=FALSE; OutputList typeDecl(&ol); QCString name(md->name()); int i=name.findRev("::"); @@ -340,6 +345,7 @@ void MemberList::writePlainDeclarations(OutputList &ol, bool isFriendClass = type=="friend class"; if (!isFriendClass) { + if (first) ol.startMemberList(),first=FALSE; md->writeDeclaration(ol,cd,nd,fd,gd,m_inGroup); } else // isFriendClass @@ -349,6 +355,7 @@ void MemberList::writePlainDeclarations(OutputList &ol, ClassDef *cd=getClass(md->name()); if (md->hasDocumentation()) // friend is documented { + if (first) ol.startMemberList(),first=FALSE; ol.startMemberItem(0); ol.docify("class "); ol.insertMemberAlign(); @@ -357,6 +364,7 @@ void MemberList::writePlainDeclarations(OutputList &ol, } else if (cd && cd->isLinkable()) // class is documented { + if (first) ol.startMemberList(),first=FALSE; ol.startMemberItem(0); ol.docify("class "); ol.insertMemberAlign(); @@ -365,6 +373,7 @@ void MemberList::writePlainDeclarations(OutputList &ol, } else if (!Config_getBool("HIDE_UNDOC_MEMBERS")) // no documentation { + if (first) ol.startMemberList(),first=FALSE; ol.startMemberItem(0); ol.docify("class "); ol.insertMemberAlign(); @@ -391,6 +400,7 @@ void MemberList::writePlainDeclarations(OutputList &ol, if (md->fromAnonymousScope() && !md->anonymousDeclShown()) { //printf("anonymous compound members\n"); + if (first) ol.startMemberList(),first=FALSE; md->setFromAnonymousScope(FALSE); md->writeDeclaration(ol,cd,nd,fd,gd,m_inGroup); md->setFromAnonymousScope(TRUE); @@ -398,7 +408,7 @@ void MemberList::writePlainDeclarations(OutputList &ol, } } - ol.endMemberList(); + if (!first) ol.endMemberList(); ol.popGeneratorState(); //printf("----- end writePlainDeclaration() ----\n"); @@ -454,6 +464,7 @@ void MemberList::writeDeclarations(OutputList &ol, ol.endMemberGroupDocs(); } ol.startMemberGroup(); + //printf("--- mg->writePlainDeclarations ---\n"); mg->writePlainDeclarations(ol,cd,nd,fd,gd); ol.endMemberGroup(hasHeader); ++mgli; -- cgit v0.12