diff options
Diffstat (limited to 'src/htmlgen.cpp')
-rw-r--r-- | src/htmlgen.cpp | 300 |
1 files changed, 140 insertions, 160 deletions
diff --git a/src/htmlgen.cpp b/src/htmlgen.cpp index 4ab337f..8c5b50a 100644 --- a/src/htmlgen.cpp +++ b/src/htmlgen.cpp @@ -51,77 +51,10 @@ void HtmlGenerator::init() writeLogo(htmlOutputDir); } -//void HtmlGenerator::generateExternalIndex() -//{ -// //printf("Generating external index...\n"); -// QFile f; -// f.setName(htmlOutputDir+"/header.html"); -// if (f.open(IO_WriteOnly)) -// { -// QTextStream tt(&f); -// if (header.length()==0) -// { -// tt << "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">\n" -// "<html><head><meta name=\"robots\" content=\"noindex\">\n" -// "<title>Doxysearch</title>\n" -// "</head><body bgcolor=\"#ffffff\">\n"; -// } -// else -// { -// tt << header; -// } -// if (!noIndexFlag) -// { -// tt << "<center>"; -// if (documentedGroups>0) -// tt << "<a doxygen=\"_doc:\" href=\"/modules.html\">Modules</a> "; -// if (hierarchyClasses>0) -// tt << "<a doxygen=\"_doc:\" href=\"/hierarchy.html\">Class hierarchy</a> "; -// if (annotatedClasses>0) -// tt << "<a doxygen=\"_doc:\" href=\"/annotated.html\">Compound list</a> "; -// if (documentedFiles>0) -// tt << "<a doxygen=\"_doc:\" href=\"/files.html\">File list</a> "; -// if (includeFiles.count()>0) -// tt << "<a doxygen=\"_doc:\" href=\"/headers.html\">Header files</a> "; -// if (documentedMembers>0) -// tt << "<a doxygen=\"_doc:\" href=\"/functions.html\">Compound Members</a> "; -// if (documentedFunctions>0) -// tt << "<a doxygen=\"_doc:\" href=\"/globals.html\">File Members</a> "; -// if (pageList.count()>0) -// tt << "<a doxygen=\"_doc:\" href=\"/pages.html\">Related Pages</a> "; -// if (exampleList.count()>0) -// tt << "<a doxygen=\"_doc:\" href=\"/examples.html\">Examples</a> "; -// if (searchEngineFlag) -// tt << "<a doxygen=\"_cgi:\" href=\"\">Search</a>"; -// tt << endl << "</center><hr>" << endl; -// } -// } -// f.close(); -// -// f.setName(htmlOutputDir+"/footer.html"); -// if (f.open(IO_WriteOnly)) -// { -// QTextStream tt(&f); -// if (footer.length()==0) -// { -// tt << "<hr><address><small>Generated at " << dateToString(TRUE); -// if (projectName.length()>0) tt << " for " << projectName; -// tt << " by <a href=\"http://www.stack.nl/~dimitri/doxygen/index.html\">" -// "doxygen</a> written by <a href=" -// "\"mailto:dimitri@stack.nl\">Dimitri van Heesch</a>, © " -// "1997-1999</small></address>\n</body>\n</html>\n"; -// } -// else -// { -// tt << footer; -// } -// } -// f.close(); -//} - void HtmlGenerator::startFile(const char *name,const char *title,bool external) { QString fileName=name; + lastTitle=title; if (fileName.right(5)!=".html") fileName+=".html"; startPlainFile(fileName); if (header.length()==0) @@ -139,34 +72,14 @@ void HtmlGenerator::startFile(const char *name,const char *title,bool external) } else { - t << header; + t << substitute( + substitute( + substitute(header,"$title",lastTitle), + "$datetime",dateToString(TRUE) + ), + "$date",dateToString(FALSE) + ); } - -// if (!noIndexFlag) -// { -// t << "<center>"; -// if (documentedGroups>0) -// t << "<a href=\"modules.html\">Modules</a> "; -// if (hierarchyClasses>0) -// t << "<a href=\"hierarchy.html\">Class hierarchy</a> "; -// if (annotatedClasses>0) -// t << "<a href=\"annotated.html\">Compound list</a> "; -// if (documentedFiles>0) -// t << "<a href=\"files.html\">File list</a> "; -// if (includeFiles.count()>0) -// t << "<a href=\"headers.html\">Header files</a> "; -// if (documentedMembers>0) -// t << "<a href=\"functions.html\">Compound Members</a> "; -// if (documentedFunctions>0) -// t << "<a href=\"globals.html\">File Members</a> "; -// if (pageList.count()>0) -// t << "<a href=\"pages.html\">Related Pages</a> "; -// if (exampleList.count()>0) -// t << "<a href=\"examples.html\">Examples</a> "; -// if (searchEngineFlag) -// t << "<a doxygen=\"_cgi:\" href=\"\">Search</a>"; -// t << endl << "</center><hr>" << endl; -// } } void HtmlGenerator::startQuickIndexItem(const char *s,const char *l) @@ -189,7 +102,13 @@ void HtmlGenerator::writeFooter(int part,bool external) if (footer.length()==0) t << "<hr><address><small>"; else - t << footer; + t << substitute( + substitute( + substitute(footer,"$title",lastTitle), + "$datetime",dateToString(TRUE) + ), + "$date",dateToString(FALSE) + ); break; case 1: if (footer.length()==0) @@ -219,24 +138,6 @@ void HtmlGenerator::writeFooter(int part,bool external) void HtmlGenerator::endFile() { -// if (footer.length()==0) -// { -// t << "<hr><address><small>Generated at " << dateToString(TRUE); -// if (projectName.length()>0) -// { -// t << " for "; -// docify(projectName); -// } -// t << " by <a href=\"http://www.stack.nl/~dimitri/doxygen/index.html\">" -// "<img src=\"doxygen.gif\" alt=\"doxygen\" align=center border=0 " -// "width=118 height=53></a> written by <a href=" -// "\"mailto:dimitri@stack.nl\">Dimitri van Heesch</a>, © " -// "1997-1999</small></address>\n</body>\n</html>\n"; -// } -// else -// { -// t << footer; -// } endPlainFile(); } @@ -250,45 +151,6 @@ void HtmlGenerator::endProjectNumber() t << "</h3>"; } -//void HtmlGenerator::writeIndex() -//{ -// startFile("index.html","Main Index"); -// t << "<h1 align=center>"; -// docify(projectName); -// t << " Documentation</h1>" -// << "<p>" << endl << "<p>" << endl; -// if (!projectNumber.isEmpty()) -// { -// t << "<h3 align=center>"; -// docify(projectNumber); -// t << "</h3>\n<p>\n<p>\n"; -// } -// if (noIndexFlag) -// { -// t << "<ul>" << endl; -// if (hierarchyClasses>0) -// t << "<li><a href=\"hierarchy.html\">Class hierarchy</a>" << endl; -// if (annotatedClasses>0) -// t << "<li><a href=\"annotated.html\">Compound list</a>" << endl; -// if (documentedFiles>0) -// t << "<li><a href=\"files.html\">File list</a>" << endl; -// if (includeFiles.count()>0) -// t << "<li><a href=\"headers.html\">Header files</a>" << endl; -// if (documentedMembers>0) -// t << "<li><a href=\"functions.html\">Compound Members</a>" << endl; -// if (documentedFunctions>0) -// t << "<li><a href=\"globals.html\">File Members</a>" << endl; -// if (pageList.count()>0) -// t << "<li><a href=\"pageList.html\">Related Pages</a>" << endl; -// if (exampleList.count()>0) -// t << "<li><a href=\"examples.html\">Examples</a>" << endl; -// if (searchEngineFlag) -// t << "<li><a doxygen=\"_cgi:\" href=\"\">Search</a>" << endl; -// t << "</ul>" << endl; -// } -// endFile(); -//} - void HtmlGenerator::writeStyleInfo(int part) { if (part==0) @@ -414,9 +276,9 @@ void HtmlGenerator::writeSectionRef(const char *name,const char *lab, { QString refName=name; if (refName.right(5)!=".html") refName+=".html"; - t << ""<a href=\"" << refName << "#" << lab << "\">"; + t << "<a href=\"" << refName << "#" << lab << "\">"; docify(title); - t << "</a>""; + t << "</a>"; } void HtmlGenerator::writeSectionRefItem(const char *name,const char *lab, @@ -429,12 +291,12 @@ void HtmlGenerator::writeSectionRefItem(const char *name,const char *lab, t << "</a>"; } -//void HtmlGenerator::docify(const char *str) -//{ -// docifyStatic(t,str); -//} +void HtmlGenerator::writeSectionRefAnchor(const char *name,const char *lab, + const char *title) +{ + writeSectionRef(name,lab,title); +} -//void HtmlGenerator::docifyStatic(QTextStream &t,const char *str) void HtmlGenerator::docify(const char *str) { if (str) @@ -510,3 +372,121 @@ void HtmlGenerator::writeFormula(const char *n,const char *text) t << "<img align=\"top\" src=\"" << n << "\">" << endl; if (text && text[0]=='\\') t << "</center></p>" << endl; } + +void HtmlGenerator::startMemberList() +{ + if (htmlAlignMemberFlag) + { + //t << endl << "<p><table border=0 cellspacing=2 cellpadding=0>" << endl; + } + else + { + t << "<ul>" << endl; + } +} + +void HtmlGenerator::endMemberList() +{ + if (htmlAlignMemberFlag) + { + //t << "</table>" << endl; + } + else + { + t << "</ul>" << endl; + } +} + +void HtmlGenerator::startMemberItem() +{ + if (htmlAlignMemberFlag) + { + t << "<tr><td align=right valign=top>"; + } + else + { + t << "<li>"; + } +} + +void HtmlGenerator::insertMemberAlign() +{ + if (htmlAlignMemberFlag) + { + t << "</td><td valign=top>"; + } +} + +void HtmlGenerator::endMemberItem() +{ + if (htmlAlignMemberFlag) + { + t << "</td></tr>"; + } + t << endl; +} + +void HtmlGenerator::startMemberDescription() +{ + if (htmlAlignMemberFlag) + { + t << "<tr><td></td><td><font size=-1><em>"; + } + else + { + t << "<dl class=\"el\"><dd><font size=-1><em>"; + } +} + +void HtmlGenerator::endMemberDescription() +{ + if (htmlAlignMemberFlag) + { + t << "</em></font><br><br></td></tr>" << endl; + } + else + { + t << "</em></font></dl>"; + } +} + +void HtmlGenerator::startMemberSections() +{ + if (htmlAlignMemberFlag) + { + t << "<table border=0 cellpadding=0 cellspacing=1>" << endl; + } +} + +void HtmlGenerator::endMemberSections() +{ + if (htmlAlignMemberFlag) + { + t << "</table>" << endl; + } +} + +void HtmlGenerator::startMemberHeader() +{ + if (htmlAlignMemberFlag) + { + t << "<tr><td colspan=2><br><h2>"; + } + else + { + startGroupHeader(); + } +} + +void HtmlGenerator::endMemberHeader() +{ + if (htmlAlignMemberFlag) + { + t << "</h2></td></tr>" << endl; + } + else + { + endGroupHeader(); + } +} + |