summaryrefslogtreecommitdiffstats
path: root/src/groupdef.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/groupdef.cpp')
-rw-r--r--src/groupdef.cpp178
1 files changed, 144 insertions, 34 deletions
diff --git a/src/groupdef.cpp b/src/groupdef.cpp
index ae785e7..9160538 100644
--- a/src/groupdef.cpp
+++ b/src/groupdef.cpp
@@ -546,6 +546,149 @@ void GroupDef::computeAnchors()
setAnchors(allMemberList);
}
+void GroupDef::writeTagFile(FTextStream &tagFile)
+{
+ tagFile << " <compound kind=\"group\">" << endl;
+ tagFile << " <name>" << convertToXML(name()) << "</name>" << endl;
+ tagFile << " <title>" << convertToXML(title) << "</title>" << endl;
+ tagFile << " <filename>" << convertToXML(getOutputFileBase()) << Doxygen::htmlFileExtension << "</filename>" << endl;
+ QListIterator<LayoutDocEntry> eli(
+ LayoutDocManager::instance().docEntries(LayoutDocManager::Group));
+ LayoutDocEntry *lde;
+ for (eli.toFirst();(lde=eli.current());++eli)
+ {
+ switch (lde->kind())
+ {
+ case LayoutDocEntry::GroupClasses:
+ {
+ if (classSDict)
+ {
+ SDict<ClassDef>::Iterator ci(*classSDict);
+ ClassDef *cd;
+ for (ci.toFirst();(cd=ci.current());++ci)
+ {
+ if (cd->isLinkableInProject())
+ {
+ tagFile << " <class kind=\"" << cd->compoundTypeString()
+ << "\">" << convertToXML(cd->name()) << "</class>" << endl;
+ }
+ }
+ }
+ }
+ break;
+ case LayoutDocEntry::GroupNamespaces:
+ {
+ if (namespaceSDict)
+ {
+ SDict<NamespaceDef>::Iterator ni(*namespaceSDict);
+ NamespaceDef *nd;
+ for (ni.toFirst();(nd=ni.current());++ni)
+ {
+ if (nd->isLinkableInProject())
+ {
+ tagFile << " <namespace>" << convertToXML(nd->name())
+ << "</namespace>" << endl;
+ }
+ }
+ }
+ }
+ break;
+ case LayoutDocEntry::GroupFiles:
+ {
+ if (fileList)
+ {
+ QListIterator<FileDef> it(*fileList);
+ FileDef *fd;
+ for (;(fd=it.current());++it)
+ {
+ if (fd->isLinkableInProject())
+ {
+ tagFile << " <file>" << convertToXML(fd->name()) << "</file>" << endl;
+ }
+ }
+ }
+ }
+ break;
+ case LayoutDocEntry::GroupPageDocs:
+ {
+ if (pageDict)
+ {
+ PageSDict::Iterator pdi(*pageDict);
+ PageDef *pd=0;
+ for (pdi.toFirst();(pd=pdi.current());++pdi)
+ {
+ QCString pageName = pd->getOutputFileBase();
+ if (pd->isLinkableInProject())
+ {
+ tagFile << " <page>" << convertToXML(pageName) << "</page>" << endl;
+ }
+ }
+ }
+ }
+ break;
+ case LayoutDocEntry::GroupDirs:
+ {
+ if (dirList)
+ {
+ QListIterator<DirDef> it(*dirList);
+ DirDef *dd;
+ for (;(dd=it.current());++it)
+ {
+ if (dd->isLinkableInProject())
+ {
+ tagFile << " <dir>" << convertToXML(dd->displayName()) << "</dir>" << endl;
+ }
+ }
+ }
+ }
+ break;
+ case LayoutDocEntry::GroupNestedGroups:
+ {
+ if (groupList)
+ {
+ QListIterator<GroupDef> it(*groupList);
+ GroupDef *gd;
+ for (;(gd=it.current());++it)
+ {
+ if (gd->isVisible())
+ {
+ tagFile << " <subgroup>" << convertToXML(gd->name()) << "</subgroup>" << endl;
+ }
+ }
+ }
+ }
+ break;
+ case LayoutDocEntry::MemberDecl:
+ {
+ LayoutDocEntryMemberDecl *lmd = (LayoutDocEntryMemberDecl*)lde;
+ MemberList * ml = getMemberList(lmd->type);
+ if (ml)
+ {
+ ml->writeTagFile(tagFile);
+ }
+ }
+ break;
+ case LayoutDocEntry::MemberGroups:
+ {
+ if (memberGroupSDict)
+ {
+ MemberGroupSDict::Iterator mgli(*memberGroupSDict);
+ MemberGroup *mg;
+ for (;(mg=mgli.current());++mgli)
+ {
+ mg->writeTagFile(tagFile);
+ }
+ }
+ }
+ break;
+ default:
+ break;
+ }
+ }
+ writeDocAnchorsToTagFile(tagFile);
+ tagFile << " </compound>" << endl;
+}
+
void GroupDef::writeDetailedDescription(OutputList &ol,const QCString &title)
{
if ((!briefDescription().isEmpty() && Config_getBool("REPEAT_BRIEF"))
@@ -670,10 +813,6 @@ void GroupDef::writeFiles(OutputList &ol,const QCString &title)
ol.docify(theTranslator->trFile(FALSE,TRUE)+" ");
ol.insertMemberAlign();
ol.writeObjectLink(fd->getReference(),fd->getOutputFileBase(),0,fd->name());
- if (!Config_getString("GENERATE_TAGFILE").isEmpty())
- {
- Doxygen::tagFile << " <file>" << convertToXML(fd->name()) << "</file>" << endl;
- }
ol.endMemberItem();
if (!fd->briefDescription().isEmpty() && Config_getBool("BRIEF_MEMBER_DESC"))
{
@@ -728,10 +867,6 @@ void GroupDef::writeNestedGroups(OutputList &ol,const QCString &title)
//ol.docify(" ");
ol.insertMemberAlign();
ol.writeObjectLink(gd->getReference(),gd->getOutputFileBase(),0,gd->groupTitle());
- if (!Config_getString("GENERATE_TAGFILE").isEmpty())
- {
- Doxygen::tagFile << " <subgroup>" << convertToXML(gd->name()) << "</subgroup>" << endl;
- }
ol.endMemberItem();
if (!gd->briefDescription().isEmpty() && Config_getBool("BRIEF_MEMBER_DESC"))
{
@@ -765,10 +900,6 @@ void GroupDef::writeDirs(OutputList &ol,const QCString &title)
ol.insertMemberAlign();
ol.writeObjectLink(dd->getReference(),dd->getOutputFileBase(),0,dd->shortName());
ol.endMemberItem();
- if (!Config_getString("GENERATE_TAGFILE").isEmpty())
- {
- Doxygen::tagFile << " <dir>" << convertToXML(dd->displayName()) << "</dir>" << endl;
- }
if (!dd->briefDescription().isEmpty() && Config_getBool("BRIEF_MEMBER_DESC"))
{
ol.startMemberDescription(dd->getOutputFileBase());
@@ -801,13 +932,6 @@ void GroupDef::writePageDocumentation(OutputList &ol)
{
if (!pd->isReference())
{
- QCString pageName = pd->getOutputFileBase();
-
- if (!Config_getString("GENERATE_TAGFILE").isEmpty())
- {
- Doxygen::tagFile << " <page>" << convertToXML(pageName) << "</page>" << endl;
- }
-
SectionInfo *si=0;
if (!pd->title().isEmpty() && !pd->name().isEmpty() &&
(si=Doxygen::sectionDict->find(pd->name()))!=0)
@@ -967,15 +1091,6 @@ void GroupDef::writeDocumentation(OutputList &ol)
Doxygen::indexList->addIndexItem(this,0,0,title);
- if (!Config_getString("GENERATE_TAGFILE").isEmpty())
- {
- Doxygen::tagFile << " <compound kind=\"group\">" << endl;
- Doxygen::tagFile << " <name>" << convertToXML(name()) << "</name>" << endl;
- Doxygen::tagFile << " <title>" << convertToXML(title) << "</title>" << endl;
- Doxygen::tagFile << " <filename>" << convertToXML(getOutputFileBase()) << Doxygen::htmlFileExtension << "</filename>" << endl;
- }
-
-
//---------------------------------------- start flexible part -------------------------------
SrcLangExt lang=getLanguage();
@@ -1100,12 +1215,6 @@ void GroupDef::writeDocumentation(OutputList &ol)
ol.popGeneratorState();
- if (!Config_getString("GENERATE_TAGFILE").isEmpty())
- {
- writeDocAnchorsToTagFile();
- Doxygen::tagFile << " </compound>" << endl;
- }
-
if (Config_getBool("SEPARATE_MEMBER_PAGES"))
{
allMemberList->sort();
@@ -1527,3 +1636,4 @@ bool GroupDef::hasDetailedDescription() const
return ((!briefDescription().isEmpty() && repeatBrief) ||
!documentation().isEmpty());
}
+