summaryrefslogtreecommitdiffstats
path: root/src/classdef.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/classdef.cpp')
-rw-r--r--src/classdef.cpp134
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