Skip to main content

The GroupDefImpl Class Reference

Declaration

class GroupDefImpl { ... }

Base class

classDefinitionMixin<Base>

Public Constructors Index

GroupDefImpl (const QCString &fileName, int line, const QCString &name, const QCString &title, const QCString &refFileName=QCString())

Public Destructor Index

~GroupDefImpl () override

Public Member Functions Index

DefTypedefinitionType () const override
CodeSymbolTypecodeSymbolType () const override
QCStringgetOutputFileBase () const override
QCStringanchor () const override
QCStringdisplayName (bool=TRUE) const override
QCStringgroupTitle () const override
voidsetGroupTitle (const QCString &newtitle) override
boolhasGroupTitle () const override
voidaddFile (FileDef *def) override
boolcontainsFile (const FileDef *def) const override
booladdClass (ClassDef *def) override
booladdConcept (ConceptDef *def) override
booladdModule (ModuleDef *def) override
booladdNamespace (NamespaceDef *def) override
voidaddGroup (GroupDef *def) override
voidaddPage (PageDef *def) override
voidaddExample (PageDef *def) override
voidaddDir (DirDef *dd) override
boolinsertMember (MemberDef *def, bool docOnly=FALSE) override
voidremoveMember (MemberDef *md) override
boolfindGroup (const GroupDef *def) const override
voidwriteDocumentation (OutputList &ol) override
voidwriteMemberPages (OutputList &ol, int hierarchyLevel) override
voidwriteQuickMemberLinks (OutputList &ol, const MemberDef *currentMd) const override
voidwriteTagFile (TextStream &) override
size_tnumDocMembers () const override
boolisLinkableInProject () const override
boolisLinkable () const override
boolisVisibleInHierarchy () const override
boolisASubGroup () const override
voidcomputeAnchors () override
voidcountMembers () override
voidaddMembersToMemberGroup () override
voiddistributeMemberGroupDocumentation () override
voidfindSectionsInDocumentation () override
voidaddListReferences () override
voidsortMemberLists () override
boolsubGrouping () const override
voidsetGroupScope (Definition *d) override
Definition *getGroupScope () const override
MemberList *getMemberList (MemberListType lt) const override
const MemberLists &getMemberLists () const override
const MemberGroupList &getMemberGroups () const override
const FileList &getFiles () const override
const ClassLinkedRefMap &getClasses () const override
const ConceptLinkedRefMap &getConcepts () const override
const ModuleLinkedRefMap &getModules () const override
const NamespaceLinkedRefMap &getNamespaces () const override
const GroupList &getSubGroups () const override
const PageLinkedRefMap &getPages () const override
const DirList &getDirs () const override
const PageLinkedRefMap &getExamples () const override
boolhasDetailedDescription () const override
voidsortSubGroups () override
voidwriteSummaryLinks (OutputList &ol) const override
voidwritePageNavigation (OutputList &ol) const override
boolhasGroupGraph () const override
voidoverrideGroupGraph (bool e) override

Private Member Functions Index

voidaddMemberListToGroup (MemberList *, bool(MemberDef::*)() const)
voidaddMemberToList (MemberListType lt, MemberDef *md)
voidwriteMemberDeclarations (OutputList &ol, MemberListType lt, const QCString &title)
voidwriteMemberDocumentation (OutputList &ol, MemberListType lt, const QCString &title)
voidremoveMemberFromList (MemberListType lt, MemberDef *md)
voidwriteGroupGraph (OutputList &ol)
voidwriteFiles (OutputList &ol, const QCString &title)
voidwriteNamespaces (OutputList &ol, const QCString &title)
voidwriteNestedGroups (OutputList &ol, const QCString &title)
voidwriteDirs (OutputList &ol, const QCString &title)
voidwriteClasses (OutputList &ol, const QCString &title)
voidwriteConcepts (OutputList &ol, const QCString &title)
voidwriteModules (OutputList &ol, const QCString &title)
voidwriteInlineClasses (OutputList &ol)
voidwritePageDocumentation (OutputList &ol)
voidwriteDetailedDescription (OutputList &ol, const QCString &title)
voidwriteBriefDescription (OutputList &ol)
voidwriteMemberGroups (OutputList &ol)
voidstartMemberDeclarations (OutputList &ol)
voidendMemberDeclarations (OutputList &ol)
voidstartMemberDocumentation (OutputList &ol)
voidendMemberDocumentation (OutputList &ol)
voidwriteAuthorSection (OutputList &ol)
voidupdateLanguage (const Definition *)
voidsetGroupTitleLocal (const QCString &title)

Private Member Attributes Index

QCStringm_title
boolm_titleSet
QCStringm_fileName
FileListm_fileList
ClassLinkedRefMapm_classes
ConceptLinkedRefMapm_concepts
ModuleLinkedRefMapm_modules
NamespaceLinkedRefMapm_namespaces
GroupListm_groups
PageLinkedRefMapm_pages
PageLinkedRefMapm_examples
DirListm_dirList
MemberListm_allMemberList
MemberNameInfoLinkedMapm_allMemberNameInfoLinkedMap
Definition *m_groupScope
MemberListsm_memberLists
MemberGroupListm_memberGroups
boolm_subGrouping
boolm_hasGroupGraph = false

Definition at line 53 of file groupdef.cpp.

Public Constructors

GroupDefImpl()

GroupDefImpl::GroupDefImpl (const QCString & fileName, int line, const QCString & name, const QCString & title, const QCString & refFileName=QCString())

Definition at line 56 of file groupdef.cpp.

184GroupDefImpl::GroupDefImpl(const QCString &df,int dl,const QCString &na,const QCString &t,
185 const QCString &refFileName) : DefinitionMixin(df,dl,1,na),
187{
188 if (!refFileName.isEmpty())
189 {
190 m_fileName=stripExtension(refFileName);
191 }
192 else
193 {
194 m_fileName = convertNameToFile(QCString("group_")+na);
195 }
197
198 //visited = 0;
199 m_groupScope = nullptr;
200 m_subGrouping=Config_getBool(SUBGROUPING);
201 m_hasGroupGraph=Config_getBool(GROUP_GRAPHS);
202}

References Config_getBool, DefinitionMixin< GroupDef >::DefinitionMixin, Group, QCString::isEmpty, m_allMemberList, m_groupScope, m_hasGroupGraph, m_subGrouping and setGroupTitleLocal.

Public Destructor

~GroupDefImpl()

GroupDefImpl::~GroupDefImpl ()

Definition at line 57 of file groupdef.cpp.

Public Member Functions

addClass()

bool GroupDefImpl::addClass (ClassDef * def)
virtual

Definition at line 70 of file groupdef.cpp.

277{
278 if (cd->isHidden()) return FALSE;
280 QCString qn = cd->name();
281 if (m_classes.find(qn)==nullptr)
282 {
283 m_classes.add(qn,cd);
284 return TRUE;
285 }
286 return FALSE;
287}

References FALSE, Definition::isHidden, m_classes, Definition::name, TRUE and updateLanguage.

addConcept()

bool GroupDefImpl::addConcept (ConceptDef * def)
virtual

Definition at line 71 of file groupdef.cpp.

290{
291 if (cd->isHidden()) return FALSE;
292 QCString qn = cd->name();
293 if (m_concepts.find(qn)==nullptr)
294 {
295 m_concepts.add(qn,cd);
296 return TRUE;
297 }
298 return FALSE;
299}

References FALSE, Definition::isHidden, m_concepts, Definition::name and TRUE.

addDir()

void GroupDefImpl::addDir (DirDef * dd)
virtual

Definition at line 77 of file groupdef.cpp.

327{
328 if (def->isHidden()) return;
329 m_dirList.push_back(def);
330}

References Definition::isHidden and m_dirList.

addExample()

void GroupDefImpl::addExample (PageDef * def)
virtual

Definition at line 76 of file groupdef.cpp.

341{
342 if (def->isHidden()) return;
343 m_examples.add(def->name(),def);
344}

References Definition::isHidden, m_examples and Definition::name.

addFile()

void GroupDefImpl::addFile (FileDef * def)
virtual

Definition at line 68 of file groupdef.cpp.

258{
259 bool sortBriefDocs = Config_getBool(SORT_BRIEF_DOCS);
260 if (def->isHidden()) return;
261 updateLanguage(def);
262 if (sortBriefDocs)
263 m_fileList.insert( std::upper_bound( m_fileList.begin(), m_fileList.end(), def,
264 [](const auto &fd1, const auto &fd2)
265 { return qstricmp_sort(fd1->name(),fd2->name())<0; }),
266 def);
267 else
268 m_fileList.push_back(def);
269}

References Config_getBool, Definition::isHidden, m_fileList and updateLanguage.

addGroup()

void GroupDefImpl::addGroup (GroupDef * def)
virtual

Definition at line 74 of file groupdef.cpp.

603{
604 //printf("adding group '%s' to group '%s'\n",qPrint(def->name()),qPrint(name()));
605 //if (Config_getBool(SORT_MEMBER_DOCS))
606 // groupList->inSort(def);
607 //else
608 m_groups.push_back(def);
609}

Reference m_groups.

addListReferences()

void GroupDefImpl::addListReferences ()
virtual

Definition at line 97 of file groupdef.cpp.

1751{
1752 {
1753 const RefItemVector &xrefItems = xrefListItems();
1754 addRefItem(xrefItems,
1756 theTranslator->trGroup(TRUE,TRUE),
1758 QCString(),
1759 nullptr
1760 );
1761 }
1762 for (const auto &mg : m_memberGroups)
1763 {
1764 mg->addListReferences(this);
1765 }
1766 for (auto &ml : m_memberLists)
1767 {
1768 if (ml->listType().isDocumentation())
1769 {
1770 ml->addListReferences(this);
1771 }
1772 }
1773}

References addRefItem, getOutputFileBase, m_memberGroups, m_memberLists, DefinitionMixin< GroupDef >::name, theTranslator, TRUE and DefinitionMixin< GroupDef >::xrefListItems.

addMembersToMemberGroup()

void GroupDefImpl::addMembersToMemberGroup ()
virtual

Definition at line 93 of file groupdef.cpp.

348{
349 for (auto &ml : m_memberLists)
350 {
351 if (ml->listType().isDeclaration())
352 {
354 }
355 }
356}

References addMembersToMemberGroup, m_memberGroups and m_memberLists.

Referenced by addMembersToMemberGroup.

addModule()

bool GroupDefImpl::addModule (ModuleDef * def)
virtual

Definition at line 72 of file groupdef.cpp.

302{
303 if (mod->isHidden()) return false;
304 QCString qn = mod->name();
305 if (m_modules.find(qn)==nullptr)
306 {
307 m_modules.add(qn,mod);
308 return true;
309 }
310 return false;
311}

References Definition::isHidden, m_modules and Definition::name.

addNamespace()

bool GroupDefImpl::addNamespace (NamespaceDef * def)
virtual

Definition at line 73 of file groupdef.cpp.

314{
315 //printf("adding namespace hidden=%d\n",def->isHidden());
316 if (def->isHidden()) return false;
317 if (m_namespaces.find(def->name())==nullptr)
318 {
319 updateLanguage(def);
320 m_namespaces.add(def->name(),def);
321 return true;
322 }
323 return false;
324}

References Definition::isHidden, m_namespaces, Definition::name and updateLanguage.

addPage()

void GroupDefImpl::addPage (PageDef * def)
virtual

Definition at line 75 of file groupdef.cpp.

333{
334 if (def->isHidden()) return;
335 //printf("Making page %s part of a group\n",qPrint(def->name));
336 m_pages.add(def->name(),def);
337 def->makePartOfGroup(this);
338}

References Definition::isHidden, m_pages, DefinitionMutable::makePartOfGroup and Definition::name.

anchor()

QCString GroupDefImpl::anchor ()
inline virtual

Returns the anchor within a page where this item can be found

Definition at line 63 of file groupdef.cpp.

63 QCString anchor() const override { return QCString(); }

codeSymbolType()

CodeSymbolType GroupDefImpl::codeSymbolType ()
inline virtual

Used for syntax highlighting symbol class

Definition at line 61 of file groupdef.cpp.

Reference Default.

computeAnchors()

void GroupDefImpl::computeAnchors ()
virtual

Compute the HTML anchor names for all members in the group

Definition at line 90 of file groupdef.cpp.

643{
644 //printf("GroupDefImpl::computeAnchors()\n");
645 m_allMemberList.setAnchors();
646}

Reference m_allMemberList.

containsFile()

bool GroupDefImpl::containsFile (const FileDef * def)
virtual

Definition at line 69 of file groupdef.cpp.

271bool GroupDefImpl::containsFile(const FileDef *def) const
272{
273 return std::find(m_fileList.cbegin(),m_fileList.cend(), def) != m_fileList.cend();
274}

Reference m_fileList.

countMembers()

void GroupDefImpl::countMembers ()
virtual

Definition at line 91 of file groupdef.cpp.

617{
618 for (auto &ml : m_memberLists)
619 {
620 ml->countDecMembers();
621 ml->countDocMembers();
622 }
623 for (const auto &mg : m_memberGroups)
624 {
625 mg->countDecMembers();
626 mg->countDocMembers();
627 }
628}

References m_memberGroups and m_memberLists.

definitionType()

DefType GroupDefImpl::definitionType ()
inline virtual

Use this for dynamic inspection of the type of the derived class

Definition at line 60 of file groupdef.cpp.

60 DefType definitionType() const override { return TypeGroup; }

References definitionType and Definition::TypeGroup.

Referenced by definitionType and insertMember.

displayName()

QCString GroupDefImpl::displayName (bool includeScope=TRUE)
inline virtual

Returns the name of the definition as it appears in the output

Definition at line 64 of file groupdef.cpp.

64 QCString displayName(bool=TRUE) const override { return hasGroupTitle() ? m_title : DefinitionMixin::name(); }

References hasGroupTitle, m_title, DefinitionMixin< Base >::name and TRUE.

distributeMemberGroupDocumentation()

void GroupDefImpl::distributeMemberGroupDocumentation ()
virtual

Definition at line 94 of file groupdef.cpp.

230{
231 for (const auto &mg : m_memberGroups)
232 {
233 mg->distributeMemberGroupDocumentation();
234 }
235}

Reference m_memberGroups.

findGroup()

bool GroupDefImpl::findGroup (const GroupDef * def)
virtual

Definition at line 80 of file groupdef.cpp.

586bool GroupDefImpl::findGroup(const GroupDef *def) const
587{
588 if (this==def)
589 {
590 return TRUE;
591 }
592 for (const auto &gd : m_groups)
593 {
594 if (gd->findGroup(def))
595 {
596 return TRUE;
597 }
598 }
599 return FALSE;
600}

References FALSE, m_groups and TRUE.

findSectionsInDocumentation()

void GroupDefImpl::findSectionsInDocumentation ()
virtual

Definition at line 95 of file groupdef.cpp.

238{
242
243 for (const auto &mg : m_memberGroups)
244 {
245 mg->findSectionsInDocumentation(this);
246 }
247
248 for (auto &ml : m_memberLists)
249 {
250 if (ml->listType().isDeclaration())
251 {
252 ml->findSectionsInDocumentation(this);
253 }
254 }
255}

References DefinitionMixin< GroupDef >::briefDescription, DefinitionMixin< GroupDef >::docFile, docFindSections, DefinitionMixin< GroupDef >::documentation, DefinitionMixin< GroupDef >::inbodyDocumentation, m_memberGroups and m_memberLists.

getClasses()

const ClassLinkedRefMap & GroupDefImpl::getClasses ()
inline virtual

Definition at line 111 of file groupdef.cpp.

111 const ClassLinkedRefMap &getClasses() const override { return m_classes; }

Reference m_classes.

getConcepts()

const ConceptLinkedRefMap & GroupDefImpl::getConcepts ()
inline virtual

Definition at line 112 of file groupdef.cpp.

112 const ConceptLinkedRefMap &getConcepts() const override { return m_concepts; }

Reference m_concepts.

getDirs()

const DirList & GroupDefImpl::getDirs ()
inline virtual

Definition at line 117 of file groupdef.cpp.

117 const DirList & getDirs() const override { return m_dirList; }

Reference m_dirList.

getExamples()

const PageLinkedRefMap & GroupDefImpl::getExamples ()
inline virtual

Definition at line 118 of file groupdef.cpp.

118 const PageLinkedRefMap &getExamples() const override { return m_examples; }

Reference m_examples.

getFiles()

const FileList & GroupDefImpl::getFiles ()
inline virtual

Definition at line 110 of file groupdef.cpp.

110 const FileList &getFiles() const override { return m_fileList; }

Reference m_fileList.

getGroupScope()

Definition * GroupDefImpl::getGroupScope ()
inline virtual

Definition at line 102 of file groupdef.cpp.

102 Definition *getGroupScope() const override { return m_groupScope; }

Reference m_groupScope.

getMemberGroups()

const MemberGroupList & GroupDefImpl::getMemberGroups ()
inline virtual

Definition at line 108 of file groupdef.cpp.

108 const MemberGroupList &getMemberGroups() const override { return m_memberGroups; }

Reference m_memberGroups.

getMemberList()

MemberList * GroupDefImpl::getMemberList (MemberListType lt)
virtual

Definition at line 104 of file groupdef.cpp.

1879{
1880 for (auto &ml : m_memberLists)
1881 {
1882 if (ml->listType()==lt)
1883 {
1884 return ml.get();
1885 }
1886 }
1887 return nullptr;
1888}

Reference m_memberLists.

Referenced by removeMemberFromList, writeMemberDeclarations, writeMemberDocumentation, writeSummaryLinks and writeTagFile.

getMemberLists()

const MemberLists & GroupDefImpl::getMemberLists ()
inline virtual

Definition at line 105 of file groupdef.cpp.

105 const MemberLists &getMemberLists() const override { return m_memberLists; }

Reference m_memberLists.

getModules()

const ModuleLinkedRefMap & GroupDefImpl::getModules ()
inline virtual

Definition at line 113 of file groupdef.cpp.

113 const ModuleLinkedRefMap &getModules() const override { return m_modules; }

Reference m_modules.

getNamespaces()

const NamespaceLinkedRefMap & GroupDefImpl::getNamespaces ()
inline virtual

Definition at line 114 of file groupdef.cpp.

114 const NamespaceLinkedRefMap &getNamespaces() const override { return m_namespaces; }

Reference m_namespaces.

getOutputFileBase()

QCString GroupDefImpl::getOutputFileBase ()
virtual

Returns the base file name (without extension) of this definition. as it is referenced to/written to disk.

Definition at line 62 of file groupdef.cpp.

1746{
1747 return m_fileName;
1748}

Reference m_fileName.

Referenced by addListReferences, writeDocumentation and writeTagFile.

getPages()

const PageLinkedRefMap & GroupDefImpl::getPages ()
inline virtual

Definition at line 116 of file groupdef.cpp.

116 const PageLinkedRefMap &getPages() const override { return m_pages; }

Reference m_pages.

getSubGroups()

const GroupList & GroupDefImpl::getSubGroups ()
inline virtual

Definition at line 115 of file groupdef.cpp.

115 const GroupList &getSubGroups() const override { return m_groups; }

Reference m_groups.

Referenced by writeDocumentation.

groupTitle()

QCString GroupDefImpl::groupTitle ()
inline virtual

Definition at line 65 of file groupdef.cpp.

65 QCString groupTitle() const override { return m_title; }

Reference m_title.

hasDetailedDescription()

bool GroupDefImpl::hasDetailedDescription ()
virtual

Definition at line 119 of file groupdef.cpp.

1976{
1977 bool repeatBrief = Config_getBool(REPEAT_BRIEF);
1978 return ((!briefDescription().isEmpty() && repeatBrief) ||
1979 !documentation().isEmpty() ||
1980 !inbodyDocumentation().isEmpty()) &&
1981 (m_pages.size()!=numDocMembers());
1982}

References DefinitionMixin< GroupDef >::briefDescription, Config_getBool, DefinitionMixin< GroupDef >::documentation, DefinitionMixin< GroupDef >::inbodyDocumentation, m_pages and numDocMembers.

Referenced by writeBriefDescription.

hasGroupGraph()

bool GroupDefImpl::hasGroupGraph ()
virtual

Definition at line 124 of file groupdef.cpp.

1990{
1991 return m_hasGroupGraph;
1992}

Reference m_hasGroupGraph.

hasGroupTitle()

bool GroupDefImpl::hasGroupTitle ()
inline virtual

Definition at line 67 of file groupdef.cpp.

67 bool hasGroupTitle( ) const override { return m_titleSet; }

Reference m_titleSet.

Referenced by displayName.

insertMember()

bool GroupDefImpl::insertMember (MemberDef * def, bool docOnly=FALSE)
virtual

Definition at line 78 of file groupdef.cpp.

360{
361 if (md->isHidden()) return FALSE;
363 //printf("GroupDef(%s)::insertMember(%s)\n", qPrint(title), qPrint(md->name()));
365 for (auto &srcMi : *mni)
366 {
367 const MemberDef *srcMd = srcMi->memberDef();
368 if (srcMd==md) return FALSE; // already added before!
369
370 bool sameScope = srcMd->getOuterScope()==md->getOuterScope() || // same class or namespace
371 // both inside a file => definition and declaration do not have to be in the same file
374
375 const ArgumentList &srcMdAl = srcMd->argumentList();
376 const ArgumentList &mdAl = md->argumentList();
377 const ArgumentList &tSrcMdAl = srcMd->templateArguments();
378 const ArgumentList &tMdAl = md->templateArguments();
379
380 if (srcMd->isFunction() && md->isFunction() && // both are a function
381 (tSrcMdAl.size()==tMdAl.size()) && // same number of template arguments
382 matchArguments2(srcMd->getOuterScope(),srcMd->getFileDef(),&srcMdAl,
383 md->getOuterScope(),md->getFileDef(),&mdAl,
384 TRUE,srcMd->getLanguage()
385 ) && // matching parameters
386 sameScope // both are found in the same scope
387 )
388 {
390 if (mdm && srcMd->getGroupAlias()==nullptr)
391 {
392 mdm->setGroupAlias(srcMd);
393 }
394 else if (mdm && md!=srcMd->getGroupAlias())
395 {
396 mdm->setGroupAlias(srcMd->getGroupAlias());
397 }
398 return FALSE; // member is the same as one that is already added
399 }
400 }
401 mni->push_back(std::make_unique<MemberInfo>(md,md->protection(),md->virtualness(),false,false));
402 //printf("Added member!\n");
403 m_allMemberList.push_back(md);
404 switch(md->memberType())
405 {
407 if (!docOnly)
408 {
409 addMemberToList(MemberListType::DecVarMembers(),md);
410 }
411 addMemberToList(MemberListType::DocVarMembers(),md);
412 break;
414 if (!docOnly)
415 {
416 addMemberToList(MemberListType::DecFuncMembers(),md);
417 }
418 addMemberToList(MemberListType::DocFuncMembers(),md);
419 break;
421 if (!docOnly)
422 {
423 addMemberToList(MemberListType::DecTypedefMembers(),md);
424 }
425 addMemberToList(MemberListType::DocTypedefMembers(),md);
426 break;
428 if (!docOnly)
429 {
430 addMemberToList(MemberListType::DecEnumMembers(),md);
431 }
432 addMemberToList(MemberListType::DocEnumMembers(),md);
433 break;
435 if (!docOnly)
436 {
437 addMemberToList(MemberListType::DecEnumValMembers(),md);
438 }
439 addMemberToList(MemberListType::DocEnumValMembers(),md);
440 break;
442 if (!docOnly)
443 {
444 addMemberToList(MemberListType::DecDefineMembers(),md);
445 }
446 addMemberToList(MemberListType::DocDefineMembers(),md);
447 break;
449 if (!docOnly)
450 {
451 addMemberToList(MemberListType::DecSignalMembers(),md);
452 }
453 addMemberToList(MemberListType::DocSignalMembers(),md);
454 break;
456 if (md->protection()==Protection::Public)
457 {
458 if (!docOnly)
459 {
460 addMemberToList(MemberListType::DecPubSlotMembers(),md);
461 }
462 addMemberToList(MemberListType::DocPubSlotMembers(),md);
463 }
464 else if (md->protection()==Protection::Protected)
465 {
466 if (!docOnly)
467 {
468 addMemberToList(MemberListType::DecProSlotMembers(),md);
469 }
470 addMemberToList(MemberListType::DocProSlotMembers(),md);
471 }
472 else
473 {
474 if (!docOnly)
475 {
476 addMemberToList(MemberListType::DecPriSlotMembers(),md);
477 }
478 addMemberToList(MemberListType::DocPriSlotMembers(),md);
479 }
480 break;
482 if (!docOnly)
483 {
484 addMemberToList(MemberListType::DecEventMembers(),md);
485 }
486 addMemberToList(MemberListType::DocEventMembers(),md);
487 break;
489 if (!docOnly)
490 {
491 addMemberToList(MemberListType::DecPropMembers(),md);
492 }
493 addMemberToList(MemberListType::DocPropMembers(),md);
494 break;
496 if (!docOnly)
497 {
498 addMemberToList(MemberListType::DecFriendMembers(),md);
499 }
500 addMemberToList(MemberListType::DocFriendMembers(),md);
501 break;
502 default:
503 err("GroupDefImpl::insertMembers(): "
504 "member '{}' (typeid='{}') with scope '{}' inserted in group scope '{}'!\n",
505 md->name(),md->memberTypeName(),
506 md->getClassDef() ? md->getClassDef()->name() : "",
507 name());
508 }
509 return TRUE;
510}

References addMemberToList, MemberDef::argumentList, Define, Definition::definitionType, definitionType, Enumeration, EnumValue, err, Event, FALSE, Friend, Function, MemberDef::getClassDef, MemberDef::getFileDef, MemberDef::getGroupAlias, Definition::getLanguage, Definition::getOuterScope, MemberDef::isFunction, Definition::isHidden, m_allMemberList, m_allMemberNameInfoLinkedMap, matchArguments2, MemberDef::memberType, MemberDef::memberTypeName, Definition::name, DefinitionMixin< GroupDef >::name, Property, MemberDef::protection, MemberNameInfo::push_back, MemberDefMutable::setGroupAlias, Signal, ArgumentList::size, Slot, MemberDef::templateArguments, toMemberDefMutable, TRUE, Typedef, Definition::TypeFile, updateLanguage, Variable and MemberDef::virtualness.

isASubGroup()

bool GroupDefImpl::isASubGroup ()
virtual

Definition at line 89 of file groupdef.cpp.

612{
613 return !partOfGroups().empty();
614}

Reference DefinitionMixin< GroupDef >::partOfGroups.

isLinkable()

bool GroupDefImpl::isLinkable ()
virtual

Returns TRUE iff it is possible to link to this item. This can be a link to another project imported via a tag file.

Definition at line 87 of file groupdef.cpp.

1961{
1962 return hasUserDocumentation();
1963}

Reference DefinitionMixin< GroupDef >::hasUserDocumentation.

Referenced by isLinkableInProject and isVisibleInHierarchy.

isLinkableInProject()

bool GroupDefImpl::isLinkableInProject ()
virtual

Returns TRUE iff it is possible to link to this item within this project.

Definition at line 86 of file groupdef.cpp.

1956{
1957 return !isReference() && isLinkable();
1958}

References isLinkable and DefinitionMixin< GroupDef >::isReference.

isVisibleInHierarchy()

bool GroupDefImpl::isVisibleInHierarchy ()
virtual

Definition at line 88 of file groupdef.cpp.

1950{
1951 bool allExternals = Config_getBool(EXTERNAL_GROUPS);
1952 return (allExternals || hasNonReferenceNestedGroupRec(this,0)) && isLinkable();
1953}

References Config_getBool, hasNonReferenceNestedGroupRec and isLinkable.

numDocMembers()

size_t GroupDefImpl::numDocMembers ()
virtual

Definition at line 85 of file groupdef.cpp.

631{
632 return m_fileList.size()+
633 m_classes.size()+
634 m_namespaces.size()+
635 m_groups.size()+
636 m_allMemberList.size()+
637 m_pages.size()+
638 m_examples.size();
639}

References m_allMemberList, m_classes, m_examples, m_fileList, m_groups, m_namespaces and m_pages.

Referenced by hasDetailedDescription and writeDetailedDescription.

overrideGroupGraph()

void GroupDefImpl::overrideGroupGraph (bool e)
virtual

Definition at line 125 of file groupdef.cpp.

1985{
1987}

Reference m_hasGroupGraph.

removeMember()

void GroupDefImpl::removeMember (MemberDef * md)
virtual

Definition at line 79 of file groupdef.cpp.

513{
514 // fprintf(stderr, "GroupDef(%s)::removeMember( %s )\n", qPrint(title), qPrint(md->name()));
516 if (mni)
517 {
519
520 removeMemberFromList(MemberListType::AllMembersList(),md);
521 switch(md->memberType())
522 {
524 removeMemberFromList(MemberListType::DecVarMembers(),md);
525 removeMemberFromList(MemberListType::DocVarMembers(),md);
526 break;
528 removeMemberFromList(MemberListType::DecFuncMembers(),md);
529 removeMemberFromList(MemberListType::DocFuncMembers(),md);
530 break;
532 removeMemberFromList(MemberListType::DecTypedefMembers(),md);
533 removeMemberFromList(MemberListType::DocTypedefMembers(),md);
534 break;
536 removeMemberFromList(MemberListType::DecEnumMembers(),md);
537 removeMemberFromList(MemberListType::DocEnumMembers(),md);
538 break;
540 removeMemberFromList(MemberListType::DecEnumValMembers(),md);
541 removeMemberFromList(MemberListType::DocEnumValMembers(),md);
542 break;
544 removeMemberFromList(MemberListType::DecDefineMembers(),md);
545 removeMemberFromList(MemberListType::DocDefineMembers(),md);
546 break;
548 removeMemberFromList(MemberListType::DecSignalMembers(),md);
549 removeMemberFromList(MemberListType::DocSignalMembers(),md);
550 break;
552 if (md->protection()==Protection::Public)
553 {
554 removeMemberFromList(MemberListType::DecPubSlotMembers(),md);
555 removeMemberFromList(MemberListType::DocPubSlotMembers(),md);
556 }
557 else if (md->protection()==Protection::Protected)
558 {
559 removeMemberFromList(MemberListType::DecProSlotMembers(),md);
560 removeMemberFromList(MemberListType::DocProSlotMembers(),md);
561 }
562 else
563 {
564 removeMemberFromList(MemberListType::DecPriSlotMembers(),md);
565 removeMemberFromList(MemberListType::DocPriSlotMembers(),md);
566 }
567 break;
569 removeMemberFromList(MemberListType::DecEventMembers(),md);
570 removeMemberFromList(MemberListType::DocEventMembers(),md);
571 break;
573 removeMemberFromList(MemberListType::DecPropMembers(),md);
574 removeMemberFromList(MemberListType::DocPropMembers(),md);
575 break;
577 removeMemberFromList(MemberListType::DecFriendMembers(),md);
578 removeMemberFromList(MemberListType::DocFriendMembers(),md);
579 break;
580 default:
581 err("GroupDefImpl::removeMember(): unexpected member remove in file!\n");
582 }
583 }
584}

References Define, Enumeration, EnumValue, err, Event, Friend, Function, m_allMemberNameInfoLinkedMap, MemberDef::memberType, Definition::name, Property, MemberDef::protection, removeMemberFromList, Signal, Slot, Typedef and Variable.

setGroupScope()

void GroupDefImpl::setGroupScope (Definition * d)
inline virtual

Definition at line 101 of file groupdef.cpp.

101 void setGroupScope(Definition *d) override { m_groupScope = d; }

Reference m_groupScope.

setGroupTitle()

void GroupDefImpl::setGroupTitle (const QCString & newtitle)
virtual

Definition at line 66 of file groupdef.cpp.

224{
226}

Reference setGroupTitleLocal.

sortMemberLists()

void GroupDefImpl::sortMemberLists ()
virtual

Definition at line 98 of file groupdef.cpp.

1847{
1848 for (auto &ml : m_memberLists)
1849 {
1850 if (ml->needsSorting()) { ml->sort(); ml->setNeedsSorting(FALSE); }
1851 }
1852 if (Config_getBool(SORT_BRIEF_DOCS))
1853 {
1854 std::stable_sort(m_dirList.begin(), m_dirList.end(), compareDirDefs);
1855
1856 auto classComp = [](const ClassLinkedRefMap::Ptr &c1,const ClassLinkedRefMap::Ptr &c2)
1857 {
1858 return Config_getBool(SORT_BY_SCOPE_NAME) ?
1859 qstricmp_sort(c1->name(), c2->name())<0 :
1860 qstricmp_sort(c1->className(), c2->className())<0;
1861 };
1862 std::stable_sort(m_classes.begin(), m_classes.end(), classComp);
1863
1864 auto namespaceComp = [](const NamespaceLinkedRefMap::Ptr &n1,const NamespaceLinkedRefMap::Ptr &n2)
1865 {
1866 return qstricmp_sort(n1->name(),n2->name())<0;
1867 };
1868
1869 std::stable_sort(m_namespaces.begin(),m_namespaces.end(),namespaceComp);
1870 }
1871 else
1872 {
1875 }
1876}

References ClassDef::className, compareDirDefs, Config_getBool, FALSE, groupClassesWithSameScope, m_classes, m_dirList, m_memberLists, m_namespaces, Definition::name and qstricmp_sort.

sortSubGroups()

void GroupDefImpl::sortSubGroups ()
virtual

Definition at line 120 of file groupdef.cpp.

1919{
1920 std::stable_sort(m_groups.begin(),
1921 m_groups.end(),
1922 [](const auto &g1,const auto &g2)
1923 { return g1->groupTitle() < g2->groupTitle(); });
1924}

Reference m_groups.

subGrouping()

bool GroupDefImpl::subGrouping ()
inline virtual

Definition at line 99 of file groupdef.cpp.

99 bool subGrouping() const override { return m_subGrouping; }

Reference m_subGrouping.

writeDocumentation()

void GroupDefImpl::writeDocumentation (OutputList & ol)
virtual

Definition at line 81 of file groupdef.cpp.

1175{
1176 bool generateTreeView = Config_getBool(GENERATE_TREEVIEW);
1178
1179 // Find out how deep this group is nested. In case of multiple parents, use the first one.
1180 int hierarchyLevel = 0;
1181 const GroupDef *gd = this;
1182 while (!gd->partOfGroups().empty())
1183 {
1184 gd = gd->partOfGroups().front();
1185 ++hierarchyLevel;
1186 }
1187
1189 FALSE /* additionalIndices*/, QCString() /*altSidebarName*/, hierarchyLevel);
1190
1192 bool writeOutlinePanel = generateTreeView && Config_getBool(PAGE_OUTLINE_PANEL);
1193 if (!writeOutlinePanel) writeSummaryLinks(ol);
1195 //1.{
1199 QCString(),TRUE,FALSE,Config_getBool(MARKDOWN_SUPPORT),false);
1201 //1.}
1202 addGroupListToTitle(ol,this);
1203 //2.{
1208 //2.}
1209 //3.{
1213 if (!m_title.isEmpty())
1214 {
1215 ol.writeString(" - ");
1216 ol.parseText(m_title);
1217 }
1219 //3.}
1220 ol.endHeaderSection();
1221 ol.startContents();
1222
1223 //---------------------------------------- start flexible part -------------------------------
1224
1225 SrcLangExt lang=getLanguage();
1226 for (const auto &lde : LayoutDocManager::instance().docEntries(LayoutDocManager::Group))
1227 {
1228 const LayoutDocEntrySection *ls = dynamic_cast<const LayoutDocEntrySection*>(lde.get());
1229 switch (lde->kind())
1230 {
1231 case LayoutDocEntry::BriefDesc:
1233 break;
1234 case LayoutDocEntry::MemberDeclStart:
1236 break;
1237 case LayoutDocEntry::GroupClasses:
1238 if (ls) writeClasses(ol,ls->title(lang));
1239 break;
1240 case LayoutDocEntry::GroupConcepts:
1241 if (ls) writeConcepts(ol,ls->title(lang));
1242 break;
1243 case LayoutDocEntry::GroupModules:
1244 if (ls) writeModules(ol,ls->title(lang));
1245 break;
1246 case LayoutDocEntry::GroupInlineClasses:
1248 break;
1249 case LayoutDocEntry::GroupNamespaces:
1250 if (ls) writeNamespaces(ol,ls->title(lang));
1251 break;
1252 case LayoutDocEntry::MemberGroups:
1254 break;
1255 case LayoutDocEntry::MemberDecl:
1256 {
1257 const LayoutDocEntryMemberDecl *lmd = dynamic_cast<const LayoutDocEntryMemberDecl*>(lde.get());
1258 if (lmd)
1259 {
1260 writeMemberDeclarations(ol,lmd->type,lmd->title(lang));
1261 }
1262 }
1263 break;
1264 case LayoutDocEntry::MemberDeclEnd:
1266 break;
1267 case LayoutDocEntry::DetailedDesc:
1268 if (ls) writeDetailedDescription(ol,ls->title(lang));
1269 break;
1270 case LayoutDocEntry::MemberDefStart:
1272 break;
1273 case LayoutDocEntry::MemberDef:
1274 {
1275 const LayoutDocEntryMemberDef *lmd = dynamic_cast<const LayoutDocEntryMemberDef*>(lde.get());
1276 if (lmd)
1277 {
1278 writeMemberDocumentation(ol,lmd->type,lmd->title(lang));
1279 }
1280 }
1281 break;
1282 case LayoutDocEntry::MemberDefEnd:
1284 break;
1285 case LayoutDocEntry::GroupNestedGroups:
1286 if (ls) writeNestedGroups(ol,ls->title(lang));
1287 break;
1288 case LayoutDocEntry::GroupPageDocs:
1290 break;
1291 case LayoutDocEntry::GroupDirs:
1292 if (ls) writeDirs(ol,ls->title(lang));
1293 break;
1294 case LayoutDocEntry::GroupFiles:
1295 if (ls) writeFiles(ol,ls->title(lang));
1296 break;
1297 case LayoutDocEntry::GroupGraph:
1298 writeGroupGraph(ol);
1299 break;
1300 case LayoutDocEntry::AuthorSection:
1302 break;
1303 case LayoutDocEntry::ClassIncludes:
1304 case LayoutDocEntry::ClassInheritanceGraph:
1305 case LayoutDocEntry::ClassNestedClasses:
1306 case LayoutDocEntry::ClassCollaborationGraph:
1307 case LayoutDocEntry::ClassAllMembersLink:
1308 case LayoutDocEntry::ClassUsedFiles:
1309 case LayoutDocEntry::ClassInlineClasses:
1310 case LayoutDocEntry::NamespaceNestedNamespaces:
1311 case LayoutDocEntry::NamespaceNestedConstantGroups:
1312 case LayoutDocEntry::NamespaceClasses:
1313 case LayoutDocEntry::NamespaceConcepts:
1314 case LayoutDocEntry::NamespaceInterfaces:
1315 case LayoutDocEntry::NamespaceStructs:
1316 case LayoutDocEntry::NamespaceExceptions:
1317 case LayoutDocEntry::NamespaceInlineClasses:
1318 case LayoutDocEntry::ConceptDefinition:
1319 case LayoutDocEntry::FileClasses:
1320 case LayoutDocEntry::FileConcepts:
1321 case LayoutDocEntry::FileInterfaces:
1322 case LayoutDocEntry::FileStructs:
1323 case LayoutDocEntry::FileExceptions:
1324 case LayoutDocEntry::FileNamespaces:
1325 case LayoutDocEntry::FileConstantGroups:
1326 case LayoutDocEntry::FileIncludes:
1327 case LayoutDocEntry::FileIncludeGraph:
1328 case LayoutDocEntry::FileIncludedByGraph:
1329 case LayoutDocEntry::FileSourceLink:
1330 case LayoutDocEntry::FileInlineClasses:
1331 case LayoutDocEntry::ModuleExports:
1332 case LayoutDocEntry::ModuleClasses:
1333 case LayoutDocEntry::ModuleConcepts:
1334 case LayoutDocEntry::ModuleUsedFiles:
1335 case LayoutDocEntry::DirSubDirs:
1336 case LayoutDocEntry::DirFiles:
1337 case LayoutDocEntry::DirGraph:
1338 err("Internal inconsistency: member '{}' should not be part of "
1339 "LayoutDocManager::Group entry list\n",lde->entryToString());
1340 break;
1341 }
1342 }
1343
1344 //---------------------------------------- end flexible part -------------------------------
1345
1346 for (auto &subgd : getSubGroups())
1347 {
1348 if (!subgd->isReference())
1349 {
1350 if (subgd->partOfGroups().front() == this)
1351 {
1352 ol.writePageLink(subgd->getOutputFileBase(), FALSE);
1353 }
1354 else
1355 {
1356 // Could write a note explaining that the subgroup belongs to another
1357 // group and add a link here.
1358 }
1359 }
1360 }
1361 if (generateTreeView && Config_getBool(PAGE_OUTLINE_PANEL))
1362 {
1365 ol.endContents();
1366 ol.writeString("</div><!-- doc-content -->\n");
1368 ol.writeString("</div><!-- container -->\n");
1370 endFile(ol,true,true);
1371 }
1372 else
1373 {
1374 endFile(ol);
1375 }
1376
1378
1379 if (Config_getBool(SEPARATE_MEMBER_PAGES))
1380 {
1381 m_allMemberList.sort();
1382 writeMemberPages(ol, hierarchyLevel + 1);
1383 }
1384}

References addGroupListToTitle, Config_getBool, OutputList::disable, OutputList::disableAllBut, DefinitionMixin< GroupDef >::docFile, OutputList::endContents, endFile, OutputList::endHeaderSection, endMemberDeclarations, endMemberDocumentation, OutputList::endTitleHead, err, FALSE, OutputList::generateDoc, DefinitionMixin< GroupDef >::getLanguage, getOutputFileBase, DefinitionMixin< GroupDef >::getStartBodyLine, getSubGroups, Html, LayoutDocManager::instance, m_allMemberList, m_title, Man, DefinitionMixin< GroupDef >::name, OutputList::parseText, Definition::partOfGroups, OutputList::popGeneratorState, OutputList::pushGeneratorState, OutputList::startContents, startFile, OutputList::startHeaderSection, startMemberDeclarations, startMemberDocumentation, OutputList::startTitleHead, LayoutDocEntryMemberDecl::title, LayoutDocEntryMemberDef::title, LayoutDocEntrySection::title, Topics, TRUE, LayoutDocEntryMemberDecl::type, LayoutDocEntryMemberDef::type, writeAuthorSection, writeBriefDescription, writeClasses, writeConcepts, writeDetailedDescription, writeDirs, writeFiles, writeGroupGraph, writeInlineClasses, writeMemberDeclarations, writeMemberDocumentation, writeMemberGroups, writeMemberPages, writeModules, writeNamespaces, writeNestedGroups, writePageDocumentation, OutputList::writePageLink, writePageNavigation, OutputList::writeString and writeSummaryLinks.

writeMemberPages()

void GroupDefImpl::writeMemberPages (OutputList & ol, int hierarchyLevel)
virtual

Definition at line 82 of file groupdef.cpp.

1386void GroupDefImpl::writeMemberPages(OutputList &ol, int hierarchyLevel)
1387{
1390
1391 for (const auto &ml : m_memberLists)
1392 {
1393 if (ml->listType().isDocumentation())
1394 {
1395 ml->writeDocumentationPage(ol,name(),this,hierarchyLevel);
1396 }
1397 }
1398
1400}

References OutputList::disableAllBut, Html, m_memberLists, DefinitionMixin< GroupDef >::name, OutputList::popGeneratorState and OutputList::pushGeneratorState.

Referenced by writeDocumentation.

writePageNavigation()

void GroupDefImpl::writePageNavigation (OutputList & ol)
virtual

Definition at line 122 of file groupdef.cpp.

1170{
1171 ol.writePageOutline();
1172}

Reference OutputList::writePageOutline.

Referenced by writeDocumentation.

writeQuickMemberLinks()

void GroupDefImpl::writeQuickMemberLinks (OutputList & ol, const MemberDef * currentMd)
virtual

Definition at line 83 of file groupdef.cpp.

1403{
1404 bool createSubDirs=Config_getBool(CREATE_SUBDIRS);
1405
1406 ol.writeString(" <div class=\"navtab\">\n");
1407 ol.writeString(" <table>\n");
1408
1409 for (const auto *md : m_allMemberList)
1410 {
1411 if (md->getGroupDef()==this && md->isLinkable() && !md->isEnumValue())
1412 {
1413 if (md->isLinkableInProject())
1414 {
1415 QCString fn = md->getOutputFileBase();
1417 if (md==currentMd) // selected item => highlight
1418 {
1419 ol.writeString(" <tr><td class=\"navtabHL\">");
1420 }
1421 else
1422 {
1423 ol.writeString(" <tr><td class=\"navtab\">");
1424 }
1425 ol.writeString("<span class=\"label\"><a ");
1426 ol.writeString("href=\"");
1427 if (createSubDirs) ol.writeString("../../");
1428 ol.writeString(fn+"#"+md->anchor());
1429 ol.writeString("\">");
1430 ol.writeString(convertToHtml(md->localName()));
1431 ol.writeString("</a></span>");
1432 ol.writeString("</td></tr>\n");
1433 }
1434 }
1435 }
1436 ol.writeString(" </table>\n");
1437 ol.writeString(" </div>\n");
1438}

References addHtmlExtensionIfMissing, Config_getBool, convertToHtml, createSubDirs, m_allMemberList and OutputList::writeString.

writeSummaryLinks()

void GroupDefImpl::writeSummaryLinks (OutputList & ol)
virtual

Definition at line 121 of file groupdef.cpp.

1118{
1121 bool first=TRUE;
1122 SrcLangExt lang = getLanguage();
1123 for (const auto &lde : LayoutDocManager::instance().docEntries(LayoutDocManager::Group))
1124 {
1125 if ((lde->kind()==LayoutDocEntry::GroupClasses && m_classes.declVisible()) ||
1126 (lde->kind()==LayoutDocEntry::GroupConcepts && m_concepts.declVisible()) ||
1127 (lde->kind()==LayoutDocEntry::GroupModules && m_modules.declVisible()) ||
1128 (lde->kind()==LayoutDocEntry::GroupNamespaces && m_namespaces.declVisible(false)) ||
1129 (lde->kind()==LayoutDocEntry::GroupFiles && !m_fileList.empty()) ||
1130 (lde->kind()==LayoutDocEntry::GroupNestedGroups && !m_groups.empty()) ||
1131 (lde->kind()==LayoutDocEntry::GroupDirs && !m_dirList.empty())
1132 )
1133 {
1134 const LayoutDocEntrySection *ls = dynamic_cast<const LayoutDocEntrySection*>(lde.get());
1135 if (ls)
1136 {
1137 QCString label = lde->kind()==LayoutDocEntry::GroupClasses ? "nested-classes" :
1138 lde->kind()==LayoutDocEntry::GroupConcepts ? "concepts" :
1139 lde->kind()==LayoutDocEntry::GroupModules ? "modules" :
1140 lde->kind()==LayoutDocEntry::GroupNamespaces ? "namespaces" :
1141 lde->kind()==LayoutDocEntry::GroupFiles ? "files" :
1142 lde->kind()==LayoutDocEntry::GroupNestedGroups ? "groups" :
1143 "dirs";
1144 ol.writeSummaryLink(QCString(),label,ls->title(lang),first);
1145 first=FALSE;
1146 }
1147 }
1148 else if (lde->kind()==LayoutDocEntry::MemberDecl)
1149 {
1150 const LayoutDocEntryMemberDecl *lmd = dynamic_cast<const LayoutDocEntryMemberDecl*>(lde.get());
1151 if (lmd)
1152 {
1153 MemberList * ml = getMemberList(lmd->type);
1154 if (ml && ml->declVisible())
1155 {
1156 ol.writeSummaryLink(QCString(),ml->listType().toLabel(),lmd->title(lang),first);
1157 first=FALSE;
1158 }
1159 }
1160 }
1161 }
1162 if (!first)
1163 {
1164 ol.writeString(" </div>\n");
1165 }
1167}

References MemberList::declVisible, OutputList::disableAllBut, FALSE, DefinitionMixin< GroupDef >::getLanguage, getMemberList, Html, LayoutDocManager::instance, MemberList::listType, m_classes, m_concepts, m_dirList, m_fileList, m_groups, m_modules, m_namespaces, OutputList::popGeneratorState, OutputList::pushGeneratorState, LayoutDocEntryMemberDecl::title, LayoutDocEntrySection::title, MemberListType::toLabel, TRUE, LayoutDocEntryMemberDecl::type, OutputList::writeString and OutputList::writeSummaryLink.

Referenced by writeDocumentation.

writeTagFile()

void GroupDefImpl::writeTagFile (TextStream & tagFile)
virtual

Definition at line 84 of file groupdef.cpp.

649{
652 tagFile << " <compound kind=\"group\">\n";
653 tagFile << " <name>" << convertToXML(name()) << "</name>\n";
654 tagFile << " <title>" << convertToXML(m_title) << "</title>\n";
655 tagFile << " <filename>" << fn << "</filename>\n";
656 for (const auto &lde : LayoutDocManager::instance().docEntries(LayoutDocManager::Group))
657 {
658 switch (lde->kind())
659 {
660 case LayoutDocEntry::GroupClasses:
661 {
662 for (const auto &cd : m_classes)
663 {
664 if (cd->isLinkableInProject())
665 {
666 tagFile << " <class kind=\"" << cd->compoundTypeString()
667 << "\">" << convertToXML(cd->name()) << "</class>\n";
668 }
669 }
670 }
671 break;
672 case LayoutDocEntry::GroupConcepts:
673 {
674 for (const auto &cd : m_concepts)
675 {
676 if (cd->isLinkableInProject())
677 {
678 tagFile << " <concept>" << convertToXML(cd->name())
679 << "</concept>\n";
680 }
681 }
682 }
683 break;
684 case LayoutDocEntry::GroupModules:
685 {
686 for (const auto &mod : m_modules)
687 {
688 if (mod->isLinkableInProject())
689 {
690 tagFile << " <module>" << convertToXML(mod->name())
691 << "</module>\n";
692 }
693 }
694 }
695 break;
696 case LayoutDocEntry::GroupNamespaces:
697 {
698 for (const auto &nd : m_namespaces)
699 {
700 if (nd->isLinkableInProject())
701 {
702 tagFile << " <namespace>" << convertToXML(nd->name())
703 << "</namespace>\n";
704 }
705 }
706 }
707 break;
708 case LayoutDocEntry::GroupFiles:
709 {
710 for (const auto &fd : m_fileList)
711 {
712 if (fd->isLinkableInProject())
713 {
714 tagFile << " <file>" << convertToXML(fd->name()) << "</file>\n";
715 }
716 }
717 }
718 break;
719 case LayoutDocEntry::GroupPageDocs:
720 {
721 for (const auto &pd : m_pages)
722 {
723 QCString pageName = pd->getOutputFileBase();
724 if (pd->isLinkableInProject())
725 {
726 tagFile << " <page>" << convertToXML(pageName) << "</page>\n";
727 }
728 }
729 }
730 break;
731 case LayoutDocEntry::GroupDirs:
732 {
733 for (const auto &dd : m_dirList)
734 {
735 if (dd->isLinkableInProject())
736 {
737 tagFile << " <dir>" << convertToXML(dd->displayName()) << "</dir>\n";
738 }
739 }
740 }
741 break;
742 case LayoutDocEntry::GroupNestedGroups:
743 {
744 for (const auto &gd : m_groups)
745 {
746 if (gd->isVisible())
747 {
748 tagFile << " <subgroup>" << convertToXML(gd->name()) << "</subgroup>\n";
749 }
750 }
751 }
752 break;
753 case LayoutDocEntry::MemberDecl:
754 {
755 const LayoutDocEntryMemberDecl *lmd = dynamic_cast<const LayoutDocEntryMemberDecl*>(lde.get());
756 if (lmd)
757 {
758 MemberList * ml = getMemberList(lmd->type);
759 if (ml)
760 {
761 ml->writeTagFile(tagFile,true);
762 }
763 }
764 }
765 break;
766 case LayoutDocEntry::MemberGroups:
767 {
768 for (const auto &mg : m_memberGroups)
769 {
770 mg->writeTagFile(tagFile,true);
771 }
772 }
773 break;
774 default:
775 break;
776 }
777 }
779 tagFile << " </compound>\n";
780}

References addHtmlExtensionIfMissing, convertToXML, getMemberList, getOutputFileBase, LayoutDocManager::instance, m_classes, m_concepts, m_dirList, m_fileList, m_groups, m_memberGroups, m_modules, m_namespaces, m_pages, m_title, DefinitionMixin< GroupDef >::name, LayoutDocEntryMemberDecl::type, DefinitionMixin< GroupDef >::writeDocAnchorsToTagFile and MemberList::writeTagFile.

Private Member Functions

addMemberListToGroup()

void GroupDefImpl::addMemberListToGroup (MemberList *, bool(MemberDef::*)() const)

Definition at line 127 of file groupdef.cpp.

addMemberToList()

void GroupDefImpl::addMemberToList (MemberListType lt, MemberDef * md)

Definition at line 128 of file groupdef.cpp.

1776{
1777 bool sortBriefDocs = Config_getBool(SORT_BRIEF_DOCS);
1778 bool sortMemberDocs = Config_getBool(SORT_MEMBER_DOCS);
1779 const auto &ml = m_memberLists.get(lt,MemberListContainer::Group);
1780 ml->setNeedsSorting(
1781 (ml->listType().isDeclaration() && sortBriefDocs) ||
1782 (ml->listType().isDocumentation() && sortMemberDocs));
1783 ml->push_back(md);
1784}

References Config_getBool, Group and m_memberLists.

Referenced by insertMember.

endMemberDeclarations()

void GroupDefImpl::endMemberDeclarations (OutputList & ol)

Definition at line 146 of file groupdef.cpp.

Reference OutputList::endMemberSections.

Referenced by writeDocumentation.

endMemberDocumentation()

void GroupDefImpl::endMemberDocumentation (OutputList & ol)

Definition at line 148 of file groupdef.cpp.

1096{
1097 //printf("** GroupDefImpl::endMemberDocumentation()\n");
1098 if (Config_getBool(SEPARATE_MEMBER_PAGES))
1099 {
1102 }
1103}

References Config_getBool, FALSE, OutputList::popGeneratorState and Doxygen::suppressDocWarnings.

Referenced by writeDocumentation.

removeMemberFromList()

void GroupDefImpl::removeMemberFromList (MemberListType lt, MemberDef * md)

Definition at line 131 of file groupdef.cpp.

1913{
1914 MemberList *ml = getMemberList(lt);
1915 if (ml) ml->remove(md);
1916}

References getMemberList and MemberVector::remove.

Referenced by removeMember.

setGroupTitleLocal()

void GroupDefImpl::setGroupTitleLocal (const QCString & title)

Definition at line 151 of file groupdef.cpp.

209{
210 if ( !t.isEmpty())
211 {
212 m_title = t;
214 }
215 else
216 {
217 m_title = name();
218 m_title[0]=static_cast<char>(toupper(m_title[0]));
220 }
221}

References FALSE, QCString::isEmpty, m_title, m_titleSet, DefinitionMixin< GroupDef >::name and TRUE.

Referenced by GroupDefImpl and setGroupTitle.

startMemberDeclarations()

void GroupDefImpl::startMemberDeclarations (OutputList & ol)

Definition at line 145 of file groupdef.cpp.

Reference OutputList::startMemberSections.

Referenced by writeDocumentation.

startMemberDocumentation()

void GroupDefImpl::startMemberDocumentation (OutputList & ol)

Definition at line 147 of file groupdef.cpp.

1085{
1086 //printf("** GroupDefImpl::startMemberDocumentation()\n");
1087 if (Config_getBool(SEPARATE_MEMBER_PAGES))
1088 {
1092 }
1093}

References Config_getBool, OutputList::disable, Html, OutputList::pushGeneratorState, Doxygen::suppressDocWarnings and TRUE.

Referenced by writeDocumentation.

updateLanguage()

void GroupDefImpl::updateLanguage (const Definition * d)

Definition at line 150 of file groupdef.cpp.

1968{
1969 if (getLanguage()==SrcLangExt::Unknown && d->getLanguage()!=SrcLangExt::Unknown)
1970 {
1972 }
1973}

References Definition::getLanguage, DefinitionMixin< GroupDef >::getLanguage and DefinitionMixin< GroupDef >::setLanguage.

Referenced by addClass, addFile, addNamespace and insertMember.

writeAuthorSection()

void GroupDefImpl::writeAuthorSection (OutputList & ol)

writeBriefDescription()

void GroupDefImpl::writeBriefDescription (OutputList & ol)

Definition at line 143 of file groupdef.cpp.

846{
848 {
849 auto parser { createDocParser() };
850 auto ast { validatingParseDoc(*parser.get(),
851 briefFile(),briefLine(),this,nullptr,
853 QCString(),TRUE,FALSE) };
854 if (!ast->isEmpty())
855 {
856 ol.startParagraph();
859 ol.writeString(" - ");
861 ol.writeDoc(ast.get(),this,nullptr);
864 ol.writeString(" \n");
866
868 {
870 ol.startTextLink(QCString(),"details");
871 ol.parseText(theTranslator->trMore());
872 ol.endTextLink();
873 }
875 ol.endParagraph();
876 }
877 }
878 ol.writeSynopsis();
879}

References DefinitionMixin< GroupDef >::briefDescription, DefinitionMixin< GroupDef >::briefFile, DefinitionMixin< GroupDef >::briefLine, createDocParser, OutputList::disable, OutputList::disableAllBut, OutputList::enable, OutputList::endParagraph, OutputList::endTextLink, FALSE, DefinitionMixin< GroupDef >::hasBriefDescription, hasDetailedDescription, Html, Man, OutputList::parseText, OutputList::popGeneratorState, OutputList::pushGeneratorState, RTF, OutputList::startParagraph, OutputList::startTextLink, theTranslator, TRUE, validatingParseDoc, OutputList::writeDoc, OutputList::writeString and OutputList::writeSynopsis.

Referenced by writeDocumentation.

writeClasses()

void GroupDefImpl::writeClasses (OutputList & ol, const QCString & title)

Definition at line 137 of file groupdef.cpp.

1020{
1021 // write list of classes
1022 m_classes.writeDeclaration(ol,nullptr,title,FALSE);
1023}

References FALSE and m_classes.

Referenced by writeDocumentation.

writeConcepts()

void GroupDefImpl::writeConcepts (OutputList & ol, const QCString & title)

Definition at line 138 of file groupdef.cpp.

1026{
1027 // write list of concepts
1028 m_concepts.writeDeclaration(ol,title,FALSE);
1029}

References FALSE and m_concepts.

Referenced by writeDocumentation.

writeDetailedDescription()

void GroupDefImpl::writeDetailedDescription (OutputList & ol, const QCString & title)

Definition at line 142 of file groupdef.cpp.

783{
784 if ((!briefDescription().isEmpty() && Config_getBool(REPEAT_BRIEF))
785 || !documentation().isEmpty() || !inbodyDocumentation().isEmpty()
786 )
787 {
789 if (m_pages.size()!=numDocMembers()) // not only pages -> classical layout
790 {
793 ol.writeRuler();
797 ol.writeAnchor(QCString(),"details");
799 }
800 else
801 {
802 ol.disableAllBut(OutputType::Man); // always print title for man page
803 }
804 ol.startGroupHeader("details");
805 ol.parseText(title);
806 ol.endGroupHeader();
808
809 // repeat brief description
810 if (!briefDescription().isEmpty() && Config_getBool(REPEAT_BRIEF))
811 {
814 }
815 // write separator between brief and details
816 if (!briefDescription().isEmpty() && Config_getBool(REPEAT_BRIEF) &&
817 !documentation().isEmpty())
818 {
822 ol.enableAll();
825 ol.writeString("\n\n");
827 }
828
829 // write detailed documentation
830 if (!documentation().isEmpty())
831 {
832 ol.generateDoc(docFile(),docLine(),this,nullptr,documentation()+"\n",TRUE,FALSE,
834 }
835
836 // write inbody documentation
837 if (!inbodyDocumentation().isEmpty())
838 {
841 }
842 }
843}

References DefinitionMixin< GroupDef >::briefDescription, DefinitionMixin< GroupDef >::briefFile, DefinitionMixin< GroupDef >::briefLine, Config_getBool, OutputList::disable, OutputList::disableAllBut, DefinitionMixin< GroupDef >::docFile, DefinitionMixin< GroupDef >::docLine, DefinitionMixin< GroupDef >::documentation, OutputList::enable, OutputList::enableAll, OutputList::endGroupHeader, FALSE, OutputList::generateDoc, Html, DefinitionMixin< GroupDef >::inbodyDocumentation, DefinitionMixin< GroupDef >::inbodyFile, DefinitionMixin< GroupDef >::inbodyLine, Latex, m_pages, Man, numDocMembers, OutputList::parseText, OutputList::popGeneratorState, OutputList::pushGeneratorState, RTF, OutputList::startGroupHeader, TRUE, OutputList::writeAnchor, OutputList::writeRuler and OutputList::writeString.

Referenced by writeDocumentation.

writeDirs()

void GroupDefImpl::writeDirs (OutputList & ol, const QCString & title)

Definition at line 136 of file groupdef.cpp.

986{
987 // write list of directories
988 if (!m_dirList.empty())
989 {
990 ol.startMemberHeader("dirs");
991 ol.parseText(title);
992 ol.endMemberHeader();
993 ol.startMemberList();
994 for(const auto dd : m_dirList)
995 {
996 if (!dd->hasDocumentation()) continue;
998 QCString anc = dd->anchor();
999 if (anc.isEmpty()) anc=dd->shortName(); else anc.prepend(dd->shortName()+"_");
1001 ol.parseText(theTranslator->trDir(FALSE,TRUE));
1003 ol.writeObjectLink(dd->getReference(),dd->getOutputFileBase(),QCString(),dd->shortName());
1005 if (!dd->briefDescription().isEmpty() && Config_getBool(BRIEF_MEMBER_DESC))
1006 {
1007 ol.startMemberDescription(dd->getOutputFileBase());
1008 ol.generateDoc(briefFile(),briefLine(),dd,nullptr,dd->briefDescription(),FALSE,FALSE,
1011 }
1013 }
1014
1015 ol.endMemberList();
1016 }
1017}

References DefinitionMixin< GroupDef >::briefFile, DefinitionMixin< GroupDef >::briefLine, Config_getBool, OutputList::endMemberDeclaration, OutputList::endMemberDescription, OutputList::endMemberHeader, OutputList::endMemberItem, OutputList::endMemberList, FALSE, OutputList::generateDoc, OutputList::insertMemberAlign, QCString::isEmpty, m_dirList, OutputGenerator::Normal, OutputList::parseText, QCString::prepend, OutputList::startMemberDeclaration, OutputList::startMemberDescription, OutputList::startMemberHeader, OutputList::startMemberItem, OutputList::startMemberList, theTranslator, TRUE and OutputList::writeObjectLink.

Referenced by writeDocumentation.

writeFiles()

void GroupDefImpl::writeFiles (OutputList & ol, const QCString & title)

Definition at line 133 of file groupdef.cpp.

907{
908 // write list of files
909 if (!m_fileList.empty())
910 {
911 ol.startMemberHeader("files");
912 ol.parseText(title);
913 ol.endMemberHeader();
914 ol.startMemberList();
915 for (const auto &fd : m_fileList)
916 {
917 if (!fd->hasDocumentation()) continue;
919 QCString anc = fd->anchor();
920 if (anc.isEmpty()) anc=fd->displayName(); else anc.prepend(fd->displayName()+"_");
922 ol.docify(theTranslator->trFile(FALSE,TRUE)+" ");
924 ol.writeObjectLink(fd->getReference(),fd->getOutputFileBase(),QCString(),fd->displayName());
926 if (!fd->briefDescription().isEmpty() && Config_getBool(BRIEF_MEMBER_DESC))
927 {
928 ol.startMemberDescription(fd->getOutputFileBase());
929 ol.generateDoc(briefFile(),briefLine(),fd,nullptr,fd->briefDescription(),FALSE,FALSE,
932 }
934 }
935 ol.endMemberList();
936 }
937}

References DefinitionMixin< GroupDef >::briefFile, DefinitionMixin< GroupDef >::briefLine, Config_getBool, OutputList::docify, OutputList::endMemberDeclaration, OutputList::endMemberDescription, OutputList::endMemberHeader, OutputList::endMemberItem, OutputList::endMemberList, FALSE, OutputList::generateDoc, OutputList::insertMemberAlign, QCString::isEmpty, m_fileList, OutputGenerator::Normal, OutputList::parseText, QCString::prepend, OutputList::startMemberDeclaration, OutputList::startMemberDescription, OutputList::startMemberHeader, OutputList::startMemberItem, OutputList::startMemberList, theTranslator, TRUE and OutputList::writeObjectLink.

Referenced by writeDocumentation.

writeGroupGraph()

void GroupDefImpl::writeGroupGraph (OutputList & ol)

Definition at line 132 of file groupdef.cpp.

882{
883 if (Config_getBool(HAVE_DOT) && m_hasGroupGraph /*&& Config_getBool(GROUP_GRAPHS)*/)
884 {
885 DotGroupCollaboration graph(this);
886 if (graph.isTooBig())
887 {
888 warn_uncond("Group dependency graph for '{}' not generated, too many nodes ({}), threshold is {}. Consider increasing DOT_GRAPH_MAX_NODES.\n",
889 name(), graph.numNodes(), Config_getInt(DOT_GRAPH_MAX_NODES));
890 }
891 else if (!graph.isTrivial())
892 {
893 msg("Generating dependency graph for group {}\n",qualifiedName());
896 //ol.startParagraph();
898 ol.parseText(theTranslator->trCollaborationDiagram(m_title));
899 ol.endGroupCollaboration(graph);
900 //ol.endParagraph();
902 }
903 }
904}

References Config_getBool, Config_getInt, OutputList::disable, OutputList::endGroupCollaboration, DotGroupCollaboration::isTooBig, DotGroupCollaboration::isTrivial, m_hasGroupGraph, m_title, Man, msg, DefinitionMixin< GroupDef >::name, DotGroupCollaboration::numNodes, OutputList::parseText, OutputList::popGeneratorState, OutputList::pushGeneratorState, DefinitionMixin< GroupDef >::qualifiedName, OutputList::startGroupCollaboration, theTranslator and warn_uncond.

Referenced by writeDocumentation.

writeInlineClasses()

void GroupDefImpl::writeInlineClasses (OutputList & ol)

Definition at line 140 of file groupdef.cpp.

1039{
1040 m_classes.writeDocumentation(ol);
1041}

Reference m_classes.

Referenced by writeDocumentation.

writeMemberDeclarations()

void GroupDefImpl::writeMemberDeclarations (OutputList & ol, MemberListType lt, const QCString & title)

Definition at line 129 of file groupdef.cpp.

1891{
1892 bool optimizeVhdl = Config_getBool(OPTIMIZE_OUTPUT_VHDL);
1893
1894 MemberList * ml = getMemberList(lt);
1895 if (optimizeVhdl && ml)
1896 {
1897 VhdlDocGen::writeVhdlDeclarations(ml,ol,this,nullptr,nullptr,nullptr,nullptr);
1898 return;
1899 }
1900 if (ml)
1901 {
1902 ml->writeDeclarations(ol,nullptr,nullptr,nullptr,this,nullptr,title,QCString());
1903 }
1904}

References Config_getBool, getMemberList, MemberList::writeDeclarations and VhdlDocGen::writeVhdlDeclarations.

Referenced by writeDocumentation.

writeMemberDocumentation()

void GroupDefImpl::writeMemberDocumentation (OutputList & ol, MemberListType lt, const QCString & title)

writeMemberGroups()

void GroupDefImpl::writeMemberGroups (OutputList & ol)

Definition at line 144 of file groupdef.cpp.

1066{
1067 /* write user defined member groups */
1068 for (const auto &mg : m_memberGroups)
1069 {
1070 mg->writeDeclarations(ol,nullptr,nullptr,nullptr,this,nullptr);
1071 }
1072}

Reference m_memberGroups.

Referenced by writeDocumentation.

writeModules()

void GroupDefImpl::writeModules (OutputList & ol, const QCString & title)

Definition at line 139 of file groupdef.cpp.

1032{
1033 // write list of modules
1034 m_modules.writeDeclaration(ol,title,FALSE);
1035}

References FALSE and m_modules.

Referenced by writeDocumentation.

writeNamespaces()

void GroupDefImpl::writeNamespaces (OutputList & ol, const QCString & title)

Definition at line 134 of file groupdef.cpp.

940{
941 // write list of namespaces
942 m_namespaces.writeDeclaration(ol,title);
943}

Reference m_namespaces.

Referenced by writeDocumentation.

writeNestedGroups()

void GroupDefImpl::writeNestedGroups (OutputList & ol, const QCString & title)

Definition at line 135 of file groupdef.cpp.

946{
947 // write list of groups
948 int count=0;
949 for (const auto &gd : m_groups)
950 {
951 if (gd->isVisible()) count++;
952 }
953 if (count>0)
954 {
955 ol.startMemberHeader("groups");
956 ol.parseText(title);
957 ol.endMemberHeader();
958 ol.startMemberList();
959 for (const auto &gd : m_groups)
960 {
961 if (gd->isVisible())
962 {
963 if (!gd->hasDocumentation()) continue;
965 QCString anc = gd->anchor();
966 if (anc.isEmpty()) anc=gd->name(); else anc.prepend(gd->name()+"_");
969 ol.writeObjectLink(gd->getReference(),gd->getOutputFileBase(),QCString(),gd->groupTitle());
971 if (!gd->briefDescription().isEmpty() && Config_getBool(BRIEF_MEMBER_DESC))
972 {
973 ol.startMemberDescription(gd->getOutputFileBase());
974 ol.generateDoc(briefFile(),briefLine(),gd,nullptr,gd->briefDescription(),FALSE,FALSE,
977 }
979 }
980 }
981 ol.endMemberList();
982 }
983}

References DefinitionMixin< GroupDef >::briefFile, DefinitionMixin< GroupDef >::briefLine, Config_getBool, OutputList::endMemberDeclaration, OutputList::endMemberDescription, OutputList::endMemberHeader, OutputList::endMemberItem, OutputList::endMemberList, FALSE, OutputList::generateDoc, OutputList::insertMemberAlign, QCString::isEmpty, m_groups, OutputGenerator::Normal, OutputList::parseText, QCString::prepend, OutputList::startMemberDeclaration, OutputList::startMemberDescription, OutputList::startMemberHeader, OutputList::startMemberItem, OutputList::startMemberList, TRUE and OutputList::writeObjectLink.

Referenced by writeDocumentation.

writePageDocumentation()

void GroupDefImpl::writePageDocumentation (OutputList & ol)

Definition at line 141 of file groupdef.cpp.

1044{
1045 for (const auto *pd : m_pages)
1046 {
1047 if (!pd->isReference())
1048 {
1049 const SectionInfo *si=nullptr;
1050 if (pd->hasTitle() && !pd->name().isEmpty() &&
1051 (si=SectionManager::instance().find(pd->name()))!=nullptr)
1052 {
1054 ol.docify(si->title());
1056 }
1057 ol.startTextBlock();
1058 ol.generateDoc(pd->docFile(),pd->docLine(),pd,nullptr,(pd->documentation()+pd->inbodyDocumentation()),TRUE,FALSE,
1060 ol.endTextBlock();
1061 }
1062 }
1063}

References OutputList::docify, OutputList::endSection, OutputList::endTextBlock, FALSE, OutputList::generateDoc, SectionManager::instance, SectionInfo::label, m_pages, OutputList::startSection, OutputList::startTextBlock, SectionType::Subsection, SectionInfo::title and TRUE.

Referenced by writeDocumentation.

Private Member Attributes

m_allMemberList

MemberList GroupDefImpl::m_allMemberList

m_allMemberNameInfoLinkedMap

MemberNameInfoLinkedMap GroupDefImpl::m_allMemberNameInfoLinkedMap

m_classes

ClassLinkedRefMap GroupDefImpl::m_classes

Definition at line 157 of file groupdef.cpp.

157 ClassLinkedRefMap m_classes; // list of classes in the group

Referenced by addClass, getClasses, numDocMembers, sortMemberLists, writeClasses, writeInlineClasses, writeSummaryLinks and writeTagFile.

m_concepts

ConceptLinkedRefMap GroupDefImpl::m_concepts

Definition at line 158 of file groupdef.cpp.

158 ConceptLinkedRefMap m_concepts; // list of concepts in the group

Referenced by addConcept, getConcepts, writeConcepts, writeSummaryLinks and writeTagFile.

m_dirList

DirList GroupDefImpl::m_dirList

Definition at line 164 of file groupdef.cpp.

164 DirList m_dirList; // list of directories in the group

Referenced by addDir, getDirs, sortMemberLists, writeDirs, writeSummaryLinks and writeTagFile.

m_examples

PageLinkedRefMap GroupDefImpl::m_examples

Definition at line 163 of file groupdef.cpp.

163 PageLinkedRefMap m_examples; // list of examples in the group

Referenced by addExample, getExamples and numDocMembers.

m_fileList

FileList GroupDefImpl::m_fileList

Definition at line 156 of file groupdef.cpp.

156 FileList m_fileList; // list of files in the group

Referenced by addFile, containsFile, getFiles, numDocMembers, writeFiles, writeSummaryLinks and writeTagFile.

m_fileName

QCString GroupDefImpl::m_fileName

Definition at line 155 of file groupdef.cpp.

155 QCString m_fileName; // base name of the generated file

Referenced by getOutputFileBase.

m_groups

GroupList GroupDefImpl::m_groups

Definition at line 161 of file groupdef.cpp.

161 GroupList m_groups; // list of sub groups.

Referenced by addGroup, findGroup, getSubGroups, numDocMembers, sortSubGroups, writeNestedGroups, writeSummaryLinks and writeTagFile.

m_groupScope

Definition* GroupDefImpl::m_groupScope

Definition at line 167 of file groupdef.cpp.

Referenced by getGroupScope, GroupDefImpl and setGroupScope.

m_hasGroupGraph

bool GroupDefImpl::m_hasGroupGraph = false

Definition at line 171 of file groupdef.cpp.

171 bool m_hasGroupGraph = false;

Referenced by GroupDefImpl, hasGroupGraph, overrideGroupGraph and writeGroupGraph.

m_memberGroups

m_memberLists

m_modules

ModuleLinkedRefMap GroupDefImpl::m_modules

Definition at line 159 of file groupdef.cpp.

159 ModuleLinkedRefMap m_modules; // list of modules in the group

Referenced by addModule, getModules, writeModules, writeSummaryLinks and writeTagFile.

m_namespaces

NamespaceLinkedRefMap GroupDefImpl::m_namespaces

Definition at line 160 of file groupdef.cpp.

160 NamespaceLinkedRefMap m_namespaces; // list of namespaces in the group

Referenced by addNamespace, getNamespaces, numDocMembers, sortMemberLists, writeNamespaces, writeSummaryLinks and writeTagFile.

m_pages

PageLinkedRefMap GroupDefImpl::m_pages

Definition at line 162 of file groupdef.cpp.

162 PageLinkedRefMap m_pages; // list of pages in the group

Referenced by addPage, getPages, hasDetailedDescription, numDocMembers, writeDetailedDescription, writePageDocumentation and writeTagFile.

m_subGrouping

bool GroupDefImpl::m_subGrouping

Definition at line 170 of file groupdef.cpp.

Referenced by GroupDefImpl and subGrouping.

m_title

QCString GroupDefImpl::m_title

Definition at line 153 of file groupdef.cpp.

153 QCString m_title; // title of the group

Referenced by displayName, groupTitle, setGroupTitleLocal, writeDocumentation, writeGroupGraph and writeTagFile.

m_titleSet

bool GroupDefImpl::m_titleSet

Definition at line 154 of file groupdef.cpp.

154 bool m_titleSet; // true if title is not the same as the name

Referenced by hasGroupTitle and setGroupTitleLocal.


The documentation for this class was generated from the following file:


Generated via doxygen2docusaurus by Doxygen 1.14.0.