Line data Source code
1 : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 : /*
3 : * This file is part of the LibreOffice project.
4 : *
5 : * This Source Code Form is subject to the terms of the Mozilla Public
6 : * License, v. 2.0. If a copy of the MPL was not distributed with this
7 : * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 : *
9 : * This file incorporates work covered by the following license notice:
10 : *
11 : * Licensed to the Apache Software Foundation (ASF) under one or more
12 : * contributor license agreements. See the NOTICE file distributed
13 : * with this work for additional information regarding copyright
14 : * ownership. The ASF licenses this file to you under the Apache
15 : * License, Version 2.0 (the "License"); you may not use this file
16 : * except in compliance with the License. You may obtain a copy of
17 : * the License at http://www.apache.org/licenses/LICENSE-2.0 .
18 : */
19 :
20 : #ifndef CSI_HTML_HTMLITEM_HXX
21 : #define CSI_HTML_HTMLITEM_HXX
22 :
23 : // USED SERVICES
24 : // BASE CLASSES
25 : #include <udm/xml/xmlitem.hxx>
26 : // COMPONENTS
27 : // PARAMETERS
28 :
29 :
30 : namespace csi
31 : {
32 : namespace html
33 : {
34 :
35 : /** <BODY>
36 : */
37 1 : class Body : public csi::xml::AnElement
38 : {
39 : public:
40 1 : Body()
41 1 : : csi::xml::AnElement( "body" ) {}
42 : private:
43 : virtual bool LineBreakAfterBeginTag() const;
44 : };
45 :
46 : /** <BR>
47 : */
48 62434 : class HorizontalLine : public xml::XmlCode
49 : {
50 : public:
51 31217 : HorizontalLine()
52 31217 : : xml::XmlCode("<hr>\n") {}
53 : };
54 :
55 : /** <A name="">
56 : */
57 80058 : class Label : public csi::xml::AnElement
58 : {
59 : public:
60 40029 : Label(
61 : const ::csv::String & i_sLabel )
62 40029 : : csi::xml::AnElement("a")
63 40029 : { *this << new csi::xml::AnAttribute(String("name"), i_sLabel); }
64 : };
65 :
66 : /** <p>
67 : */
68 34646 : class Paragraph : public csi::xml::AnElement
69 : {
70 : public:
71 17323 : Paragraph()
72 17323 : : csi::xml::AnElement("p") {}
73 : private:
74 : virtual bool LineBreakAfterEndTag() const;
75 : };
76 :
77 : /** <H1-6>
78 : */
79 0 : class Headline : public csi::xml::APureElement
80 : {
81 : public:
82 : Headline(
83 : int i_nNr )
84 : : csi::xml::APureElement(sTags[i_nNr-1]) { csv_assert(1 <= i_nNr AND i_nNr < 7); }
85 : private:
86 : static const char * sTags[6];
87 : virtual bool LineBreakAfterEndTag() const;
88 : };
89 :
90 : /** <BR>
91 : */
92 102378 : class LineBreak : public xml::XmlCode
93 : {
94 : public:
95 51189 : LineBreak()
96 51189 : : xml::XmlCode("<br>\n") {}
97 : };
98 :
99 : /** <b>
100 : */
101 138212 : class Bold : public csi::xml::APureElement
102 : {
103 : public:
104 69106 : Bold()
105 69106 : : csi::xml::APureElement("b") {}
106 : };
107 :
108 : /** <i>
109 : */
110 3160 : class Italic : public csi::xml::APureElement
111 : {
112 : public:
113 1580 : Italic()
114 1580 : : csi::xml::APureElement("i") {}
115 : };
116 :
117 : /** <strong>
118 : */
119 1806 : class Strong : public csi::xml::APureElement
120 : {
121 : public:
122 903 : Strong()
123 903 : : csi::xml::APureElement("strong") {}
124 : };
125 :
126 : /** <em>
127 : */
128 0 : class Emphasized : public csi::xml::APureElement
129 : {
130 : public:
131 : Emphasized()
132 : : csi::xml::APureElement("em") {}
133 : };
134 :
135 : /** <font>
136 : */
137 0 : class Font : public csi::xml::AnElement
138 : {
139 : public:
140 : Font()
141 : : csi::xml::AnElement("font") {}
142 : };
143 :
144 :
145 : /** <A href="">
146 : */
147 428494 : class Link : public csi::xml::AnElement
148 : {
149 : public:
150 214247 : Link(
151 : const ::csv::String &i_sDestinaton )
152 214247 : : csi::xml::AnElement("a")
153 214247 : { *this << new csi::xml::AnAttribute(String("href"), i_sDestinaton); }
154 : };
155 :
156 412512 : class TableCell : public csi::xml::AnElement
157 : {
158 : public:
159 206256 : TableCell()
160 206256 : : csi::xml::AnElement("td") {}
161 : private:
162 : virtual bool LineBreakAfterEndTag() const;
163 : };
164 :
165 257494 : class TableRow : public csi::xml::AnElement
166 : {
167 : public:
168 128747 : TableRow()
169 128747 : : csi::xml::AnElement("tr") {}
170 :
171 : private:
172 : virtual bool LineBreakAfterBeginTag() const;
173 : };
174 :
175 : /** <table ....>
176 : */
177 114634 : class Table : public csi::xml::AnElement
178 : {
179 : public:
180 17702 : Table()
181 17702 : : csi::xml::AnElement("table") {}
182 : Table(
183 : const ::csv::String & i_sBorder,
184 : const ::csv::String & i_sWidth,
185 : const ::csv::String & i_sCellPadding,
186 : const ::csv::String & i_sCellSpacing );
187 : TableRow & AddRow();
188 : private:
189 : virtual bool FinishEmptyTag_XmlStyle() const;
190 : virtual bool LineBreakAfterBeginTag() const;
191 : };
192 :
193 :
194 :
195 97886 : class DefListTerm : public csi::xml::AnElement
196 : {
197 : public:
198 48943 : DefListTerm()
199 48943 : : csi::xml::AnElement("dt") {}
200 : private:
201 : virtual bool LineBreakAfterEndTag() const;
202 : };
203 :
204 106356 : class DefListDefinition : public csi::xml::AnElement
205 : {
206 : public:
207 53178 : DefListDefinition()
208 53178 : : csi::xml::AnElement("dd") {}
209 : private:
210 : virtual bool LineBreakAfterEndTag() const;
211 : };
212 :
213 : /** <DL>
214 : */
215 45656 : class DefList : public csi::xml::AnElement
216 : {
217 : public:
218 22828 : DefList()
219 22828 : : csi::xml::AnElement("dl") {}
220 :
221 : private:
222 : virtual bool LineBreakAfterBeginTag() const;
223 : virtual bool FinishEmptyTag_XmlStyle() const;
224 : };
225 :
226 :
227 0 : class ListItem : public csi::xml::AnElement
228 : {
229 : public:
230 : ListItem()
231 : : csi::xml::AnElement("li") {}
232 : private:
233 : virtual bool LineBreakAfterEndTag() const;
234 : };
235 :
236 : /** <OL>
237 : */
238 0 : class NumeratedList : public csi::xml::AnElement
239 : {
240 : public:
241 : NumeratedList()
242 : : csi::xml::AnElement("ol") {}
243 : private:
244 : virtual bool LineBreakAfterBeginTag() const;
245 : };
246 :
247 : /** <UL>
248 : */
249 0 : class SimpleList : public csi::xml::AnElement
250 : {
251 : public:
252 : SimpleList()
253 : : csi::xml::AnElement("ul") {}
254 :
255 : private:
256 : virtual bool LineBreakAfterBeginTag() const;
257 : };
258 :
259 :
260 574886 : class ClassAttr : public csi::xml::AnAttribute
261 : {
262 : public:
263 287443 : ClassAttr(
264 : const ::csv::String & i_sValue )
265 287443 : : csi::xml::AnAttribute( String("class"), i_sValue ) {}
266 : };
267 :
268 17516 : class StyleAttr : public csi::xml::AnAttribute
269 : {
270 : public:
271 8758 : StyleAttr(
272 : const ::csv::String & i_sValue )
273 8758 : : csi::xml::AnAttribute( String("style"), i_sValue ) {}
274 : };
275 :
276 0 : class SizeAttr : public csi::xml::AnAttribute
277 : {
278 : public:
279 : SizeAttr(
280 : const ::csv::String & i_sValue )
281 : : csi::xml::AnAttribute( String("size"), i_sValue ) {}
282 : };
283 :
284 0 : class ColorAttr : public csi::xml::AnAttribute
285 : {
286 : public:
287 : ColorAttr(
288 : const ::csv::String & i_sValue )
289 : : csi::xml::AnAttribute( String("color"), i_sValue ) {}
290 : };
291 :
292 36074 : class BgColorAttr : public csi::xml::AnAttribute
293 : {
294 : public:
295 18037 : BgColorAttr(
296 : const ::csv::String & i_sValue )
297 18037 : : csi::xml::AnAttribute( String("bgcolor"), i_sValue ) {}
298 : };
299 :
300 36074 : class AlignAttr : public csi::xml::AnAttribute
301 : {
302 : public:
303 18037 : AlignAttr(
304 : const ::csv::String & i_sValue )
305 18037 : : csi::xml::AnAttribute( String("align"), i_sValue ) {}
306 : };
307 :
308 52404 : class VAlignAttr : public csi::xml::AnAttribute
309 : {
310 : public:
311 26202 : VAlignAttr(
312 : const ::csv::String & i_sValue )
313 26202 : : csi::xml::AnAttribute( String("valign"), i_sValue ) {}
314 : };
315 :
316 448 : class WidthAttr : public csi::xml::AnAttribute
317 : {
318 : public:
319 224 : WidthAttr(
320 : const ::csv::String & i_sValue )
321 224 : : csi::xml::AnAttribute( String("width"), i_sValue ) {}
322 : };
323 :
324 :
325 :
326 0 : class Sbr : public csi::xml::XmlCode // Sourcefile lineBreak
327 : {
328 : public:
329 : Sbr()
330 : : csi::xml::XmlCode("\n") {}
331 : };
332 :
333 :
334 : } // namespace html
335 : } // namespace csi
336 :
337 : namespace Html = csi::html;
338 :
339 : #endif
340 :
341 :
342 : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|