merge the formfield patch from ooo-build
[ooovba.git] / xml2cmp / source / xcd / cr_html.hxx
blob4913817ad86300eb1ad21c5fb3edad4cb5b714d2
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: cr_html.hxx,v $
10 * $Revision: 1.10 $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
31 #ifndef X2C_CR_HTML_HXX
32 #define X2C_CR_HTML_HXX
35 #include <string.h>
36 #include <fstream>
37 #include "../support/sistr.hxx"
38 #include "../support/syshelp.hxx"
41 class XmlElement;
42 class SglTextElement;
43 class MultipleTextElement;
46 class HtmlCreator
48 public:
49 HtmlCreator(
50 const char * i_pOutputFileName,
51 const XmlElement & i_rDocument,
52 const Simstr & i_sIDL_BaseDirectory );
53 ~HtmlCreator();
55 void Run();
57 void StartTable();
58 void FinishTable();
59 void StartBigCell(
60 const char * i_sTitle );
61 void FinishBigCell();
63 void Write_SglTextElement(
64 const SglTextElement &
65 i_rElement,
66 bool i_bStrong = false );
67 void Write_MultiTextElement(
68 const MultipleTextElement &
69 i_rElement );
70 void Write_SglText(
71 const Simstr & i_sName,
72 const Simstr & i_sValue );
73 void Write_ReferenceDocu(
74 const Simstr & i_sName,
75 const Simstr & i_sRef,
76 const Simstr & i_sRole,
77 const Simstr & i_sTitle );
78 private:
79 void StartRow();
80 void FinishRow();
81 void StartCell(
82 const char * i_pWidth );
83 void FinishCell();
85 void WriteElementName(
86 const Simstr & i_sName,
87 bool i_bStrong );
88 void WriteStr(
89 const char * i_sStr )
90 { aFile.write( i_sStr, (int) strlen(i_sStr) ); }
91 // DATA
92 std::ofstream aFile;
93 const XmlElement & rDocument;
94 Simstr sIdl_BaseDirectory;
100 #endif