diff options
author | Alexander Neundorf <neundorf@kde.org> | 2008-02-19 14:33:43 -0500 |
---|---|---|
committer | Alexander Neundorf <neundorf@kde.org> | 2008-02-19 14:33:43 -0500 |
commit | 969ea3f4491a8c3408bf59744545674b3a647657 (patch) | |
tree | 69b48e1c71c000d6723f9047427b69e7c92ee916 /Source/cmDocumentationFormatterDocbook.h | |
parent | ee2a13b11f08efcde4ec3579763ae3236b278693 (diff) | |
download | cmake-969ea3f4491a8c3408bf59744545674b3a647657.tar.gz |
ENH: add support for creating the documentation in docbook format
(http://www.oasis-open.org/docbook/xml/4.2/), which users can then convert
to other formats.
Tested with meinproc from KDE, which generates HTML pages which look good.
Alex
Diffstat (limited to 'Source/cmDocumentationFormatterDocbook.h')
-rw-r--r-- | Source/cmDocumentationFormatterDocbook.h | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/Source/cmDocumentationFormatterDocbook.h b/Source/cmDocumentationFormatterDocbook.h new file mode 100644 index 0000000000..2955b6e3a5 --- /dev/null +++ b/Source/cmDocumentationFormatterDocbook.h @@ -0,0 +1,45 @@ +/*========================================================================= + + Program: CMake - Cross-Platform Makefile Generator + Module: $RCSfile$ + Language: C++ + Date: $Date$ + Version: $Revision$ + + Copyright (c) 2002 Kitware, Inc., Insight Consortium. All rights reserved. + See Copyright.txt or http://www.cmake.org/HTML/Copyright.html for details. + + This software is distributed WITHOUT ANY WARRANTY; without even + the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + PURPOSE. See the above copyright notices for more information. + +=========================================================================*/ +#ifndef _cmDocumentationFormatterDocbook_h +#define _cmDocumentationFormatterDocbook_h + +#include "cmStandardIncludes.h" + +#include "cmDocumentationFormatter.h" + +/** Class to print the documentation as Docbook. + http://www.oasis-open.org/docbook/xml/4.2/ */ +class cmDocumentationFormatterDocbook : public cmDocumentationFormatter +{ +public: + cmDocumentationFormatterDocbook(); + + virtual cmDocumentationEnums::Form GetForm() const + { return cmDocumentationEnums::DocbookForm;} + + virtual void PrintHeader(const char* name, std::ostream& os); + virtual void PrintFooter(std::ostream& os); + virtual void PrintSection(std::ostream& os, + const cmDocumentationSection& section, + const char* name); + virtual void PrintPreformatted(std::ostream& os, const char* text); + virtual void PrintParagraph(std::ostream& os, const char* text); +private: + std::set<std::string> EmittedLinkIds; +}; + +#endif |