diff options
author | Dimitri van Heesch <dimitri@stack.nl> | 2005-02-27 20:01:29 (GMT) |
---|---|---|
committer | Dimitri van Heesch <dimitri@stack.nl> | 2005-02-27 20:01:29 (GMT) |
commit | 47b04448404f708d25de41246b04fb2219cc81df (patch) | |
tree | 2d189d04d6f9413eb324fae5f56f273f3855ff8b /src/classdef.cpp | |
parent | 2ed43d4c3890c98475d4deb87d4a14ab949f90c4 (diff) | |
download | Doxygen-47b04448404f708d25de41246b04fb2219cc81df.zip Doxygen-47b04448404f708d25de41246b04fb2219cc81df.tar.gz Doxygen-47b04448404f708d25de41246b04fb2219cc81df.tar.bz2 |
Release-1.4.1-20050227
Diffstat (limited to 'src/classdef.cpp')
-rw-r--r-- | src/classdef.cpp | 134 |
1 files changed, 114 insertions, 20 deletions
diff --git a/src/classdef.cpp b/src/classdef.cpp index 5d7da7c..b50931a 100644 --- a/src/classdef.cpp +++ b/src/classdef.cpp @@ -1340,6 +1340,11 @@ void ClassDef::writeDocumentation(OutputList &ol) writeDetailedDescription(ol,pageType,exampleFlag); } + + /////////////////////////////////////////////////////////////////////////// + //// Member declarations + brief descriptions + /////////////////////////////////////////////////////////////////////////// + // write member groups ol.startMemberSections(); @@ -1428,7 +1433,7 @@ void ClassDef::writeDocumentation(OutputList &ol) // nested classes m_innerClasses->writeDeclaration(ol,0,0,TRUE); - + ol.endMemberSections(); // write detailed description @@ -1436,6 +1441,54 @@ void ClassDef::writeDocumentation(OutputList &ol) writeDetailedDescription(ol,pageType,exampleFlag); } + writeMemberDocumentation(ol); + + ///////////////////////////////////////////////////////////////////// + ol.startTextBlock(); + + // write the list of used files (not for man pages) + ol.pushGeneratorState(); + ol.disable(OutputGenerator::Man); + + showUsedFiles(ol); + + // write Author section (Man only) + ol.enable(OutputGenerator::Man); + ol.disableAllBut(OutputGenerator::Man); + ol.writeString("\n"); + ol.startGroupHeader(); + ol.parseText(theTranslator->trAuthor(TRUE,TRUE)); + ol.endGroupHeader(); + ol.parseText(theTranslator->trGeneratedAutomatically(Config_getString("PROJECT_NAME"))); + ol.popGeneratorState(); + + ol.endTextBlock(); + ///////////////////////////////////////////////////////////////////// + + if (!Config_getString("GENERATE_TAGFILE").isEmpty()) + { + writeDocAnchorsToTagFile(); + Doxygen::tagFile << " </compound>" << endl; + } + + endFile(ol); + + if (Config_getBool("SEPARATE_MEMBER_PAGES")) + { + writeMemberPages(ol); + } +} + +void ClassDef::writeMemberDocumentation(OutputList &ol) +{ + /////////////////////////////////////////////////////////////////////////// + //// Member definitions + detailed documentation + /////////////////////////////////////////////////////////////////////////// + + if (Config_getBool("SEPARATE_MEMBER_PAGES")) + { + ol.disable(OutputGenerator::Html); + } typedefMembers.writeDocumentation(ol,name(),this, theTranslator->trMemberTypedefDocumentation()); @@ -1461,36 +1514,77 @@ void ClassDef::writeDocumentation(OutputList &ol) eventMembers.writeDocumentation(ol,name(),this, theTranslator->trEventDocumentation()); - ol.startTextBlock(); + if (Config_getBool("SEPARATE_MEMBER_PAGES")) + { + ol.enable(OutputGenerator::Html); + } +} - // write the list of used files (not for man pages) - ol.pushGeneratorState(); - ol.disable(OutputGenerator::Man); +void ClassDef::writeMemberPages(OutputList &ol) +{ + /////////////////////////////////////////////////////////////////////////// + //// Member definitions on separate pages + /////////////////////////////////////////////////////////////////////////// - showUsedFiles(ol); + ol.pushGeneratorState(); + ol.disableAllBut(OutputGenerator::Html); + + typedefMembers.writeDocumentationPage(ol,name(),this); + enumMembers.writeDocumentationPage(ol,name(),this); + constructors.writeDocumentationPage(ol,name(),this); + functionMembers.writeDocumentationPage(ol,name(),this); + relatedMembers.writeDocumentationPage(ol,name(),this); + variableMembers.writeDocumentationPage(ol,name(),this); + propertyMembers.writeDocumentationPage(ol,name(),this); + eventMembers.writeDocumentationPage(ol,name(),this); - // write Author section (Man only) - ol.enable(OutputGenerator::Man); - ol.disableAllBut(OutputGenerator::Man); - ol.writeString("\n"); - ol.startGroupHeader(); - ol.parseText(theTranslator->trAuthor(TRUE,TRUE)); - ol.endGroupHeader(); - ol.parseText(theTranslator->trGeneratedAutomatically(Config_getString("PROJECT_NAME"))); ol.popGeneratorState(); +} - ol.endTextBlock(); +void ClassDef::writeQuickMemberLinks(OutputList &ol,MemberDef *currentMd) const +{ + ol.writeString(" <div class=\"navtab\">\n"); + ol.writeString(" <table>\n"); - if (!Config_getString("GENERATE_TAGFILE").isEmpty()) + MemberNameInfoSDict::Iterator mnili(*m_allMemberNameInfoSDict); + MemberNameInfo *mni; + for (;(mni=mnili.current());++mnili) { - writeDocAnchorsToTagFile(); - Doxygen::tagFile << " </compound>" << endl; + MemberNameInfoIterator mnii(*mni); + MemberInfo *mi; + for (mnii.toFirst();(mi=mnii.current());++mnii) + { + MemberDef *md=mi->memberDef; + if (md->getClassDef()==this && 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"); } + + void ClassDef::writeDocumentationForInnerClasses(OutputList &ol) { // write inner classes after the parent, so the tag files contain |