diff options
author | Bill Hoffman <bill.hoffman@kitware.com> | 2008-03-05 16:05:22 (GMT) |
---|---|---|
committer | Bill Hoffman <bill.hoffman@kitware.com> | 2008-03-05 16:05:22 (GMT) |
commit | 7173f2db0e37a1621236b3ceeb883d4f1255ee42 (patch) | |
tree | ec52c35deb6c136c8a16d0c23304934c09cd2653 | |
parent | 68bcb056eba91d317e6ba90715e67f62c1e44c54 (diff) | |
download | CMake-7173f2db0e37a1621236b3ceeb883d4f1255ee42.zip CMake-7173f2db0e37a1621236b3ceeb883d4f1255ee42.tar.gz CMake-7173f2db0e37a1621236b3ceeb883d4f1255ee42.tar.bz2 |
ENH: add master index into html full help
-rw-r--r-- | Source/cmDocumentation.cxx | 3 | ||||
-rw-r--r-- | Source/cmDocumentationFormatter.h | 3 | ||||
-rw-r--r-- | Source/cmDocumentationFormatterHTML.cxx | 15 | ||||
-rw-r--r-- | Source/cmDocumentationFormatterHTML.h | 4 |
4 files changed, 24 insertions, 1 deletions
diff --git a/Source/cmDocumentation.cxx b/Source/cmDocumentation.cxx index fca5b3e..3b3dab7 100644 --- a/Source/cmDocumentation.cxx +++ b/Source/cmDocumentation.cxx @@ -846,6 +846,9 @@ void cmDocumentation::Print(Form f, std::ostream& os) //---------------------------------------------------------------------------- void cmDocumentation::Print(std::ostream& os) { + // if the formatter supports it, print a master index for + // all sections + this->CurrentFormatter->PrintIndex(os, this->PrintSections); for(unsigned int i=0; i < this->PrintSections.size(); ++i) { std::string name = this->PrintSections[i]-> diff --git a/Source/cmDocumentationFormatter.h b/Source/cmDocumentationFormatter.h index 451215f..33f95f2 100644 --- a/Source/cmDocumentationFormatter.h +++ b/Source/cmDocumentationFormatter.h @@ -59,6 +59,9 @@ public: const char* name) = 0; virtual void PrintPreformatted(std::ostream& os, const char* text) = 0; virtual void PrintParagraph(std::ostream& os, const char* text) = 0; + virtual void PrintIndex(std::ostream& , + std::vector<const cmDocumentationSection *>&) + {} }; #endif diff --git a/Source/cmDocumentationFormatterHTML.cxx b/Source/cmDocumentationFormatterHTML.cxx index 0c44ed7..c3b0dee 100644 --- a/Source/cmDocumentationFormatterHTML.cxx +++ b/Source/cmDocumentationFormatterHTML.cxx @@ -206,3 +206,18 @@ void cmDocumentationFormatterHTML::PrintHTMLEscapes(std::ostream& os, } } } + +void cmDocumentationFormatterHTML +::PrintIndex(std::ostream& os, + std::vector<const cmDocumentationSection *>& sections) +{ + os << "<h2><a name=\"section_Index\"/>Master Index</h2>\n"; + os << "<ul>\n"; + for(unsigned int i=0; i < sections.size(); ++i) + { + std::string name = sections[i]-> + GetName((this->GetForm())); + os << " <li><a href=\"#section_" << name << "\"<b>" << name << "</b></a></li>\n"; + } + os << "</ul>\n"; +} diff --git a/Source/cmDocumentationFormatterHTML.h b/Source/cmDocumentationFormatterHTML.h index 58c2437..8e639c7 100644 --- a/Source/cmDocumentationFormatterHTML.h +++ b/Source/cmDocumentationFormatterHTML.h @@ -36,7 +36,9 @@ public: const cmDocumentationSection& section, const char* name); virtual void PrintPreformatted(std::ostream& os, const char* text); - virtual void PrintParagraph(std::ostream& os, const char* text); + virtual void PrintParagraph(std::ostream& os, const char* text); + virtual void PrintIndex(std::ostream& , + std::vector<const cmDocumentationSection *>&); private: void PrintHTMLEscapes(std::ostream& os, const char* text); }; |