Imported Upstream version 2.8.12.2
[platform/upstream/cmake.git] / Source / cmDocumentationFormatterHTML.h
1 /*============================================================================
2   CMake - Cross Platform Makefile Generator
3   Copyright 2000-2009 Kitware, Inc., Insight Software Consortium
4
5   Distributed under the OSI-approved BSD License (the "License");
6   see accompanying file Copyright.txt for details.
7
8   This software is distributed WITHOUT ANY WARRANTY; without even the
9   implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
10   See the License for more information.
11 ============================================================================*/
12 #ifndef _cmDocumentationFormatterHTML_h
13 #define _cmDocumentationFormatterHTML_h
14
15 #include "cmStandardIncludes.h"
16
17 #include "cmDocumentationFormatter.h"
18
19 /** Class to print the documentation as HTML.  */
20 class cmDocumentationFormatterHTML : public cmDocumentationFormatter
21 {
22 public:
23   cmDocumentationFormatterHTML();
24
25   virtual cmDocumentationEnums::Form GetForm() const
26                                       { return cmDocumentationEnums::HTMLForm;}
27
28   virtual void PrintHeader(const char* docname, const char* appname,
29                            std::ostream& os);
30   virtual void PrintFooter(std::ostream& os);
31   virtual void PrintSection(std::ostream& os,
32                     const cmDocumentationSection& section,
33                     const char* name);
34   virtual void PrintPreformatted(std::ostream& os, const char* text);
35   virtual void PrintParagraph(std::ostream& os, const char* text);
36   virtual void PrintIndex(std::ostream& ,
37                           std::vector<const cmDocumentationSection *>&);
38 private:
39   void PrintHTMLEscapes(std::ostream& os, const char* text);
40 };
41
42 #endif