|
Packit |
1c1d7e |
/******************************************************************************
|
|
Packit |
1c1d7e |
*
|
|
Packit |
1c1d7e |
*
|
|
Packit |
1c1d7e |
*
|
|
Packit |
1c1d7e |
* Copyright (C) 1997-2015 by Dimitri van Heesch.
|
|
Packit |
1c1d7e |
*
|
|
Packit |
1c1d7e |
* Permission to use, copy, modify, and distribute this software and its
|
|
Packit |
1c1d7e |
* documentation under the terms of the GNU General Public License is hereby
|
|
Packit |
1c1d7e |
* granted. No representations are made about the suitability of this software
|
|
Packit |
1c1d7e |
* for any purpose. It is provided "as is" without express or implied warranty.
|
|
Packit |
1c1d7e |
* See the GNU General Public License for more details.
|
|
Packit |
1c1d7e |
*
|
|
Packit |
1c1d7e |
* Documents produced by Doxygen are derivative works derived from the
|
|
Packit |
1c1d7e |
* input used in their production; they are not affected by this license.
|
|
Packit |
1c1d7e |
*
|
|
Packit |
1c1d7e |
*/
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
#include "membergroup.h"
|
|
Packit |
1c1d7e |
#include "memberlist.h"
|
|
Packit |
1c1d7e |
#include "outputlist.h"
|
|
Packit |
1c1d7e |
#include "util.h"
|
|
Packit |
1c1d7e |
#include "classdef.h"
|
|
Packit |
1c1d7e |
#include "namespacedef.h"
|
|
Packit |
1c1d7e |
#include "filedef.h"
|
|
Packit |
1c1d7e |
#include "language.h"
|
|
Packit |
1c1d7e |
#include "groupdef.h"
|
|
Packit |
1c1d7e |
#include "doxygen.h"
|
|
Packit |
1c1d7e |
#include "docparser.h"
|
|
Packit |
1c1d7e |
#include "marshal.h"
|
|
Packit |
1c1d7e |
#include "entry.h"
|
|
Packit |
1c1d7e |
#include "md5.h"
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
//static QCString idToName(int id)
|
|
Packit |
1c1d7e |
//{
|
|
Packit |
1c1d7e |
// QCString result;
|
|
Packit |
1c1d7e |
// result.sprintf("mgroup_%d",id);
|
|
Packit |
1c1d7e |
// return result;
|
|
Packit |
1c1d7e |
//}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
MemberGroup::MemberGroup()
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
MemberGroup::MemberGroup(Definition *parent,
|
|
Packit |
1c1d7e |
int id,const char *hdr,const char *d,const char *docFile,int docLine)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
//printf("New member group id=%d header=%s desc=%s\n",id,hdr,d);
|
|
Packit |
1c1d7e |
memberList = new MemberList(MemberListType_memberGroup);
|
|
Packit |
1c1d7e |
grpId = id;
|
|
Packit |
1c1d7e |
grpHeader = hdr;
|
|
Packit |
1c1d7e |
doc = d;
|
|
Packit |
1c1d7e |
scope = 0;
|
|
Packit |
1c1d7e |
inSameSection = TRUE;
|
|
Packit |
1c1d7e |
inDeclSection = 0;
|
|
Packit |
1c1d7e |
m_numDecMembers = -1;
|
|
Packit |
1c1d7e |
m_numDocMembers = -1;
|
|
Packit |
1c1d7e |
m_parent = parent;
|
|
Packit |
1c1d7e |
m_docFile = docFile;
|
|
Packit |
1c1d7e |
m_docLine = docLine;
|
|
Packit |
1c1d7e |
m_xrefListItems = 0;
|
|
Packit |
1c1d7e |
//printf("Member group docs=`%s'\n",doc.data());
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
MemberGroup::~MemberGroup()
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
delete memberList;
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
void MemberGroup::insertMember(MemberDef *md)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
//printf("MemberGroup::insertMember m_parent=%s memberList=%p count=%d"
|
|
Packit |
1c1d7e |
// " member section list: %p: md=%p:%s\n",
|
|
Packit |
1c1d7e |
// m_parent ? m_parent->name().data() : "<null>",
|
|
Packit |
1c1d7e |
// memberList->first() ? memberList->first()->getSectionList(m_parent) : 0,
|
|
Packit |
1c1d7e |
// memberList->count(),
|
|
Packit |
1c1d7e |
// md->getSectionList(m_parent),
|
|
Packit |
1c1d7e |
// md,md->name().data());
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
MemberDef *firstMd = memberList->getFirst();
|
|
Packit |
1c1d7e |
if (inSameSection && firstMd &&
|
|
Packit |
1c1d7e |
firstMd->getSectionList(m_parent)!=md->getSectionList(m_parent))
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
inSameSection=FALSE;
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
else if (inDeclSection==0)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
inDeclSection = md->getSectionList(m_parent);
|
|
Packit |
1c1d7e |
//printf("inDeclSection=%p type=%d\n",inDeclSection,inDeclSection->listType());
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
memberList->append(md);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
// copy the group of the first member in the memberGroup
|
|
Packit |
1c1d7e |
GroupDef *gd;
|
|
Packit |
1c1d7e |
if (firstMd && (gd=firstMd->getGroupDef()))
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
md->setGroupDef(gd, firstMd->getGroupPri(),
|
|
Packit |
1c1d7e |
firstMd->getGroupFileName(), firstMd->getGroupStartLine(),
|
|
Packit |
1c1d7e |
firstMd->getGroupHasDocs());
|
|
Packit |
1c1d7e |
gd->insertMember(md);
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
void MemberGroup::setAnchors()
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
::setAnchors(memberList);
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
void MemberGroup::writeDeclarations(OutputList &ol,
|
|
Packit |
1c1d7e |
ClassDef *cd,NamespaceDef *nd,FileDef *fd,GroupDef *gd,
|
|
Packit |
1c1d7e |
bool showInline)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
//printf("MemberGroup::writeDeclarations() %s\n",grpHeader.data());
|
|
Packit |
1c1d7e |
QCString ldoc = doc;
|
|
Packit |
1c1d7e |
if (!ldoc.isEmpty()) ldoc.prepend("");
|
|
Packit |
1c1d7e |
memberList->writeDeclarations(ol,cd,nd,fd,gd,grpHeader,ldoc,FALSE,showInline);
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
void MemberGroup::writePlainDeclarations(OutputList &ol,
|
|
Packit |
1c1d7e |
ClassDef *cd,NamespaceDef *nd,FileDef *fd,GroupDef *gd,
|
|
Packit |
1c1d7e |
ClassDef *inheritedFrom,const char *inheritId
|
|
Packit |
1c1d7e |
)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
//printf("MemberGroup::writePlainDeclarations() memberList->count()=%d\n",memberList->count());
|
|
Packit |
1c1d7e |
memberList->writePlainDeclarations(ol,cd,nd,fd,gd,inheritedFrom,inheritId);
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
void MemberGroup::writeDocumentation(OutputList &ol,const char *scopeName,
|
|
Packit |
1c1d7e |
Definition *container,bool showEnumValues,bool showInline)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
memberList->writeDocumentation(ol,scopeName,container,0,showEnumValues,showInline);
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
void MemberGroup::writeDocumentationPage(OutputList &ol,const char *scopeName,
|
|
Packit |
1c1d7e |
Definition *container)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
memberList->writeDocumentationPage(ol,scopeName,container);
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
void MemberGroup::addGroupedInheritedMembers(OutputList &ol,ClassDef *cd,
|
|
Packit |
1c1d7e |
MemberListType lt,
|
|
Packit |
1c1d7e |
ClassDef *inheritedFrom,const QCString &inheritId)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
//printf("** addGroupedInheritedMembers()\n");
|
|
Packit |
1c1d7e |
MemberListIterator li(*memberList);
|
|
Packit |
1c1d7e |
MemberDef *md;
|
|
Packit |
1c1d7e |
for (li.toFirst();(md=li.current());++li)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
//printf("matching %d == %d\n",lt,md->getSectionList(m_parent)->listType());
|
|
Packit |
1c1d7e |
MemberList *ml = md->getSectionList(m_parent);
|
|
Packit |
1c1d7e |
if (ml && lt==ml->listType())
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
MemberList ml(lt);
|
|
Packit |
1c1d7e |
ml.append(md);
|
|
Packit |
1c1d7e |
ml.writePlainDeclarations(ol,cd,0,0,0,inheritedFrom,inheritId);
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
int MemberGroup::countGroupedInheritedMembers(MemberListType lt)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
//printf("** countGroupedInheritedMembers()\n");
|
|
Packit |
1c1d7e |
int count=0;
|
|
Packit |
1c1d7e |
MemberListIterator li(*memberList);
|
|
Packit |
1c1d7e |
MemberDef *md;
|
|
Packit |
1c1d7e |
for (li.toFirst();(md=li.current());++li)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
//printf("matching %d == %d\n",lt,md->getSectionList(m_parent)->listType());
|
|
Packit |
1c1d7e |
MemberList *ml = md->getSectionList(m_parent);
|
|
Packit |
1c1d7e |
if (ml && lt==ml->listType())
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
count++;
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
return count;
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
/*! Add this group as a subsection of the declaration section, instead
|
|
Packit |
1c1d7e |
* of rendering it in its own section
|
|
Packit |
1c1d7e |
*/
|
|
Packit |
1c1d7e |
void MemberGroup::addToDeclarationSection()
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
if (inDeclSection)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
//printf("Adding group %p to list %p (type=%d)\n",this,
|
|
Packit |
1c1d7e |
// inDeclSection,inDeclSection->listType());
|
|
Packit |
1c1d7e |
inDeclSection->addMemberGroup(this);
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
int MemberGroup::countDecMembers(GroupDef *gd)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
if (m_numDecMembers==-1) /* number of member not cached */
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
memberList->countDecMembers(gd);
|
|
Packit |
1c1d7e |
m_numDecMembers = memberList->numDecMembers();
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
return m_numDecMembers;
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
int MemberGroup::countDocMembers()
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
if (m_numDocMembers==-1)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
memberList->countDocMembers();
|
|
Packit |
1c1d7e |
m_numDocMembers = memberList->numDocMembers();
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
return m_numDocMembers;
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
int MemberGroup::countInheritableMembers(ClassDef *inheritedFrom) const
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
return memberList->countInheritableMembers(inheritedFrom);
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
void MemberGroup::distributeMemberGroupDocumentation()
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
//printf("MemberGroup::distributeMemberGroupDocumentation() %s\n",grpHeader.data());
|
|
Packit |
1c1d7e |
MemberListIterator li(*memberList);
|
|
Packit |
1c1d7e |
MemberDef *md;
|
|
Packit |
1c1d7e |
for (li.toFirst();(md=li.current());++li)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
//printf("checking md=%s\n",md->name().data());
|
|
Packit |
1c1d7e |
// find the first member of the group with documentation
|
|
Packit |
1c1d7e |
if (!md->documentation().isEmpty() ||
|
|
Packit |
1c1d7e |
!md->briefDescription().isEmpty() ||
|
|
Packit |
1c1d7e |
!md->inbodyDocumentation().isEmpty()
|
|
Packit |
1c1d7e |
)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
//printf("found it!\n");
|
|
Packit |
1c1d7e |
break;
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
if (md) // distribute docs of md to other members of the list
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
//printf("Member %s has documentation!\n",md->name().data());
|
|
Packit |
1c1d7e |
MemberDef *omd;
|
|
Packit |
1c1d7e |
for (li.toFirst();(omd=li.current());++li)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
if (md!=omd && omd->documentation().isEmpty() &&
|
|
Packit |
1c1d7e |
omd->briefDescription().isEmpty() &&
|
|
Packit |
1c1d7e |
omd->inbodyDocumentation().isEmpty()
|
|
Packit |
1c1d7e |
)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
//printf("Copying documentation to member %s\n",omd->name().data());
|
|
Packit |
1c1d7e |
omd->setBriefDescription(md->briefDescription(),md->briefFile(),md->briefLine());
|
|
Packit |
1c1d7e |
omd->setDocumentation(md->documentation(),md->docFile(),md->docLine());
|
|
Packit |
1c1d7e |
omd->setInbodyDocumentation(md->inbodyDocumentation(),md->inbodyFile(),md->inbodyLine());
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
int MemberGroup::varCount() const
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
return memberList->varCount();
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
int MemberGroup::funcCount() const
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
return memberList->funcCount();
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
int MemberGroup::enumCount() const
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
return memberList->enumCount();
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
int MemberGroup::enumValueCount() const
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
return memberList->enumValueCount();
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
int MemberGroup::typedefCount() const
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
return memberList->typedefCount();
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
int MemberGroup::protoCount() const
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
return memberList->protoCount();
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
int MemberGroup::defineCount() const
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
return memberList->defineCount();
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
int MemberGroup::friendCount() const
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
return memberList->friendCount();
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
int MemberGroup::numDecMembers() const
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
return memberList->numDecMembers();
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
int MemberGroup::numDocMembers() const
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
return memberList->numDocMembers();
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
void MemberGroup::setInGroup(bool b)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
memberList->setInGroup(b);
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
QCString MemberGroup::anchor() const
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
uchar md5_sig[16];
|
|
Packit |
1c1d7e |
QCString sigStr(33);
|
|
Packit |
1c1d7e |
QCString locHeader = grpHeader;
|
|
Packit |
1c1d7e |
if (locHeader.isEmpty()) locHeader="[NOHEADER]";
|
|
Packit |
1c1d7e |
MD5Buffer((const unsigned char *)locHeader.data(),locHeader.length(),md5_sig);
|
|
Packit |
1c1d7e |
MD5SigToString(md5_sig,sigStr.rawData(),33);
|
|
Packit |
1c1d7e |
return "amgrp"+sigStr;
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
void MemberGroup::addListReferences(Definition *def)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
memberList->addListReferences(def);
|
|
Packit |
1c1d7e |
if (m_xrefListItems && def)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
QCString name = def->getOutputFileBase()+"#"+anchor();
|
|
Packit |
1c1d7e |
addRefItem(m_xrefListItems,
|
|
Packit |
1c1d7e |
name,
|
|
Packit |
1c1d7e |
theTranslator->trGroup(TRUE,TRUE),
|
|
Packit |
1c1d7e |
name,
|
|
Packit |
1c1d7e |
grpHeader,0,def);
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
void MemberGroup::findSectionsInDocumentation()
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
docFindSections(doc,0,this,m_docFile);
|
|
Packit |
1c1d7e |
memberList->findSectionsInDocumentation();
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
void MemberGroup::marshal(StorageIntf *s)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
marshalMemberList(s,memberList);
|
|
Packit |
1c1d7e |
marshalObjPointer(s,inDeclSection); // reference only
|
|
Packit |
1c1d7e |
marshalInt(s,grpId);
|
|
Packit |
1c1d7e |
marshalQCString(s,grpHeader);
|
|
Packit |
1c1d7e |
marshalQCString(s,fileName);
|
|
Packit |
1c1d7e |
marshalObjPointer(s,scope);
|
|
Packit |
1c1d7e |
marshalQCString(s,doc);
|
|
Packit |
1c1d7e |
marshalBool(s,inSameSection);
|
|
Packit |
1c1d7e |
marshalInt(s,m_numDecMembers);
|
|
Packit |
1c1d7e |
marshalInt(s,m_numDocMembers);
|
|
Packit |
1c1d7e |
marshalObjPointer(s,m_parent);
|
|
Packit |
1c1d7e |
marshalQCString(s,m_docFile);
|
|
Packit |
1c1d7e |
marshalItemInfoList (Doxygen::symbolStorage,m_xrefListItems);
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
void MemberGroup::unmarshal(StorageIntf *s)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
memberList = unmarshalMemberList(s);
|
|
Packit |
1c1d7e |
inDeclSection = (MemberList *)unmarshalObjPointer(s);
|
|
Packit |
1c1d7e |
grpId = unmarshalInt(s);
|
|
Packit |
1c1d7e |
grpHeader = unmarshalQCString(s);
|
|
Packit |
1c1d7e |
fileName = unmarshalQCString(s);
|
|
Packit |
1c1d7e |
scope = (Definition *)unmarshalObjPointer(s);
|
|
Packit |
1c1d7e |
doc = unmarshalQCString(s);
|
|
Packit |
1c1d7e |
inSameSection = unmarshalBool(s);
|
|
Packit |
1c1d7e |
m_numDecMembers = unmarshalInt(s);
|
|
Packit |
1c1d7e |
m_numDocMembers = unmarshalInt(s);
|
|
Packit |
1c1d7e |
m_parent = (Definition *)unmarshalObjPointer(s);
|
|
Packit |
1c1d7e |
m_docFile = unmarshalQCString(s);
|
|
Packit |
1c1d7e |
m_xrefListItems = unmarshalItemInfoList (Doxygen::symbolStorage);
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
void MemberGroup::setRefItems(const QList<ListItemInfo> *sli)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
if (sli)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
// deep copy the list
|
|
Packit |
1c1d7e |
if (m_xrefListItems==0)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
m_xrefListItems=new QList<ListItemInfo>;
|
|
Packit |
1c1d7e |
m_xrefListItems->setAutoDelete(TRUE);
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
QListIterator<ListItemInfo> slii(*sli);
|
|
Packit |
1c1d7e |
ListItemInfo *lii;
|
|
Packit |
1c1d7e |
for (slii.toFirst();(lii=slii.current());++slii)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
m_xrefListItems->append(new ListItemInfo(*lii));
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
void MemberGroup::writeTagFile(FTextStream &tagFile)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
memberList->writeTagFile(tagFile);
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
//--------------------------------------------------------------------------
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
void MemberGroupInfo::setRefItems(const QList<ListItemInfo> *sli)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
if (!sli) return;
|
|
Packit |
1c1d7e |
if (m_sli==0)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
m_sli = new QList<ListItemInfo>;
|
|
Packit |
1c1d7e |
m_sli->setAutoDelete(TRUE);
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
QListIterator<ListItemInfo> slii(*sli);
|
|
Packit |
1c1d7e |
ListItemInfo *ili;
|
|
Packit |
1c1d7e |
for (slii.toFirst();(ili=slii.current());++slii)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
m_sli->append(new ListItemInfo(*ili));
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
}
|