diff options
Diffstat (limited to 'src/filedef.cpp')
-rw-r--r-- | src/filedef.cpp | 94 |
1 files changed, 83 insertions, 11 deletions
diff --git a/src/filedef.cpp b/src/filedef.cpp index ce8a38d..fba0573 100644 --- a/src/filedef.cpp +++ b/src/filedef.cpp @@ -501,6 +501,38 @@ void FileDef::writeDocumentation(OutputList &ol) writeDetailedDocumentation(ol); } + writeMemberDocumentation(ol); + + // write Author section (Man only) + ol.disableAllBut(OutputGenerator::Man); + ol.startGroupHeader(); + ol.parseText(theTranslator->trAuthor(TRUE,TRUE)); + ol.endGroupHeader(); + ol.parseText(theTranslator->trGeneratedAutomatically(Config_getString("PROJECT_NAME"))); + ol.enableAll(); + + if (!Config_getString("GENERATE_TAGFILE").isEmpty()) + { + writeDocAnchorsToTagFile(); + Doxygen::tagFile << " </compound>" << endl; + } + + endFile(ol); + + if (Config_getBool("SEPARATE_MEMBER_PAGES")) + { + allMemberList.sort(); + writeMemberPages(ol); + } +} + +void FileDef::writeMemberDocumentation(OutputList &ol) +{ + if (Config_getBool("SEPARATE_MEMBER_PAGES")) + { + ol.disable(OutputGenerator::Html); + } + docDefineMembers.writeDocumentation(ol,name(),this, theTranslator->trDefineDocumentation()); @@ -518,22 +550,62 @@ void FileDef::writeDocumentation(OutputList &ol) docVarMembers.writeDocumentation(ol,name(),this, theTranslator->trVariableDocumentation()); + + if (Config_getBool("SEPARATE_MEMBER_PAGES")) + { + ol.enable(OutputGenerator::Html); + } +} + +void FileDef::writeMemberPages(OutputList &ol) +{ + ol.pushGeneratorState(); + ol.disableAllBut(OutputGenerator::Html); - // write Author section (Man only) - ol.disableAllBut(OutputGenerator::Man); - ol.startGroupHeader(); - ol.parseText(theTranslator->trAuthor(TRUE,TRUE)); - ol.endGroupHeader(); - ol.parseText(theTranslator->trGeneratedAutomatically(Config_getString("PROJECT_NAME"))); - ol.enableAll(); + docDefineMembers.writeDocumentationPage(ol,name(),this); + docProtoMembers.writeDocumentationPage(ol,name(),this); + docTypedefMembers.writeDocumentationPage(ol,name(),this); + docEnumMembers.writeDocumentationPage(ol,name(),this); + docFuncMembers.writeDocumentationPage(ol,name(),this); + docVarMembers.writeDocumentationPage(ol,name(),this); + + ol.popGeneratorState(); +} - if (!Config_getString("GENERATE_TAGFILE").isEmpty()) +void FileDef::writeQuickMemberLinks(OutputList &ol,MemberDef *currentMd) const +{ + ol.writeString(" <div class=\"navtab\">\n"); + ol.writeString(" <table>\n"); + + MemberListIterator mli(allMemberList); + MemberDef *md; + for (mli.toFirst();(md=mli.current());++mli) { - writeDocAnchorsToTagFile(); - Doxygen::tagFile << " </compound>" << endl; + if (md->getFileDef()==this && md->getNamespaceDef()==0 && md->isLinkable()) + { + ol.writeString(" <tr><td class=\"navtab\">"); + if (md->isLinkableInProject()) + { + if (md==currentMd) // selected item => highlight + { + ol.writeString("<a class=\"qindexHL\" "); + } + else + { + ol.writeString("<a class=\"qindex\" "); + } + ol.writeString("href=\""); + ol.writeString(md->getOutputFileBase()+Doxygen::htmlFileExtension+"#"+md->anchor()); + ol.writeString("\">"); + ol.writeString(md->localName()); + ol.writeString("</a>"); + } + ol.writeString("</td></tr>\n"); + } } - endFile(ol); + ol.writeString(" </table>\n"); + ol.writeString(" </div>\n"); } /*! Write a source listing of this file to the output */ |