Commit 7173f2db authored by Bill Hoffman's avatar Bill Hoffman
Browse files

ENH: add master index into html full help

parent 68bcb056
......@@ -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]->
......
......@@ -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
......@@ -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";
}
......@@ -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);
};
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment