xref: /AOO42X/main/autodoc/source/udm/html/htmlitem.cxx (revision b1c5455db1639c48e26c568e4fa7ee78ca5d60ee)
1*8a106958SDamjan Jovanovic /**************************************************************
2*8a106958SDamjan Jovanovic  *
3*8a106958SDamjan Jovanovic  * Licensed to the Apache Software Foundation (ASF) under one
4*8a106958SDamjan Jovanovic  * or more contributor license agreements.  See the NOTICE file
5*8a106958SDamjan Jovanovic  * distributed with this work for additional information
6*8a106958SDamjan Jovanovic  * regarding copyright ownership.  The ASF licenses this file
7*8a106958SDamjan Jovanovic  * to you under the Apache License, Version 2.0 (the
8*8a106958SDamjan Jovanovic  * "License"); you may not use this file except in compliance
9*8a106958SDamjan Jovanovic  * with the License.  You may obtain a copy of the License at
10*8a106958SDamjan Jovanovic  *
11*8a106958SDamjan Jovanovic  *   http://www.apache.org/licenses/LICENSE-2.0
12*8a106958SDamjan Jovanovic  *
13*8a106958SDamjan Jovanovic  * Unless required by applicable law or agreed to in writing,
14*8a106958SDamjan Jovanovic  * software distributed under the License is distributed on an
15*8a106958SDamjan Jovanovic  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*8a106958SDamjan Jovanovic  * KIND, either express or implied.  See the License for the
17*8a106958SDamjan Jovanovic  * specific language governing permissions and limitations
18*8a106958SDamjan Jovanovic  * under the License.
19*8a106958SDamjan Jovanovic  *
20*8a106958SDamjan Jovanovic  *************************************************************/
21*8a106958SDamjan Jovanovic 
22*8a106958SDamjan Jovanovic 
23*8a106958SDamjan Jovanovic 
24*8a106958SDamjan Jovanovic #include <precomp.h>
25*8a106958SDamjan Jovanovic #include <udm/html/htmlitem.hxx>
26*8a106958SDamjan Jovanovic 
27*8a106958SDamjan Jovanovic // NOT FULLY DECLARED SERVICES
28*8a106958SDamjan Jovanovic 
29*8a106958SDamjan Jovanovic 
30*8a106958SDamjan Jovanovic namespace csi
31*8a106958SDamjan Jovanovic {
32*8a106958SDamjan Jovanovic namespace html
33*8a106958SDamjan Jovanovic {
34*8a106958SDamjan Jovanovic 
35*8a106958SDamjan Jovanovic using namespace csi::xml;
36*8a106958SDamjan Jovanovic 
37*8a106958SDamjan Jovanovic template <class ELEM>
38*8a106958SDamjan Jovanovic inline ELEM &
PushElem(Element & i_rMain,DYN ELEM * let_dpSub,DYN Item * let_dpItem)39*8a106958SDamjan Jovanovic PushElem( Element &     i_rMain,
40*8a106958SDamjan Jovanovic           DYN ELEM *    let_dpSub,
41*8a106958SDamjan Jovanovic           DYN Item *    let_dpItem )
42*8a106958SDamjan Jovanovic {
43*8a106958SDamjan Jovanovic     i_rMain << let_dpSub;
44*8a106958SDamjan Jovanovic     if ( let_dpItem != 0 )
45*8a106958SDamjan Jovanovic         *let_dpSub << let_dpItem;
46*8a106958SDamjan Jovanovic     return *let_dpSub;
47*8a106958SDamjan Jovanovic }
48*8a106958SDamjan Jovanovic 
49*8a106958SDamjan Jovanovic 
50*8a106958SDamjan Jovanovic bool
LineBreakAfterBeginTag() const51*8a106958SDamjan Jovanovic Body::LineBreakAfterBeginTag() const
52*8a106958SDamjan Jovanovic {
53*8a106958SDamjan Jovanovic     return true;
54*8a106958SDamjan Jovanovic }
55*8a106958SDamjan Jovanovic 
56*8a106958SDamjan Jovanovic #ifndef COMPATIBLE_NETSCAPE_47
57*8a106958SDamjan Jovanovic bool
LineBreakAfterBeginTag() const58*8a106958SDamjan Jovanovic HorizontalLine::LineBreakAfterBeginTag() const
59*8a106958SDamjan Jovanovic {
60*8a106958SDamjan Jovanovic     return true;
61*8a106958SDamjan Jovanovic }
62*8a106958SDamjan Jovanovic #endif
63*8a106958SDamjan Jovanovic 
64*8a106958SDamjan Jovanovic 
Image(const String & i_sSrc,const String & i_sWidth,const String & i_sHeight,const String & i_sAlign,const String & i_sBorder)65*8a106958SDamjan Jovanovic Image::Image( const String &   i_sSrc,
66*8a106958SDamjan Jovanovic               const String &   i_sWidth,
67*8a106958SDamjan Jovanovic               const String &   i_sHeight,
68*8a106958SDamjan Jovanovic               const String &   i_sAlign,
69*8a106958SDamjan Jovanovic               const String &   i_sBorder )
70*8a106958SDamjan Jovanovic     :   AnEmptyElement( "img" )
71*8a106958SDamjan Jovanovic {
72*8a106958SDamjan Jovanovic     *this << new AnAttribute(String("src"),i_sSrc)
73*8a106958SDamjan Jovanovic           << new AnAttribute(String("width"),i_sWidth)
74*8a106958SDamjan Jovanovic           << new AnAttribute(String("height"),i_sHeight)
75*8a106958SDamjan Jovanovic           << new AnAttribute(String("align"),i_sAlign)
76*8a106958SDamjan Jovanovic           << new AnAttribute(String("border"),i_sBorder);
77*8a106958SDamjan Jovanovic }
78*8a106958SDamjan Jovanovic 
79*8a106958SDamjan Jovanovic bool
LineBreakAfterEndTag() const80*8a106958SDamjan Jovanovic Paragraph::LineBreakAfterEndTag() const
81*8a106958SDamjan Jovanovic {
82*8a106958SDamjan Jovanovic     return true;
83*8a106958SDamjan Jovanovic }
84*8a106958SDamjan Jovanovic 
85*8a106958SDamjan Jovanovic const char *
86*8a106958SDamjan Jovanovic Headline::sTags[6] = { "h1", "h2", "h3", "h4", "h5", "h6" };
87*8a106958SDamjan Jovanovic 
88*8a106958SDamjan Jovanovic bool
LineBreakAfterEndTag() const89*8a106958SDamjan Jovanovic Headline::LineBreakAfterEndTag() const
90*8a106958SDamjan Jovanovic {
91*8a106958SDamjan Jovanovic     return true;
92*8a106958SDamjan Jovanovic }
93*8a106958SDamjan Jovanovic 
94*8a106958SDamjan Jovanovic #ifndef COMPATIBLE_NETSCAPE_47
95*8a106958SDamjan Jovanovic bool
LineBreakAfterBeginTag() const96*8a106958SDamjan Jovanovic LineBreak::LineBreakAfterBeginTag() const
97*8a106958SDamjan Jovanovic {
98*8a106958SDamjan Jovanovic     return true;
99*8a106958SDamjan Jovanovic }
100*8a106958SDamjan Jovanovic #endif
101*8a106958SDamjan Jovanovic 
102*8a106958SDamjan Jovanovic 
103*8a106958SDamjan Jovanovic bool
LineBreakAfterEndTag() const104*8a106958SDamjan Jovanovic TableCell::LineBreakAfterEndTag() const
105*8a106958SDamjan Jovanovic {
106*8a106958SDamjan Jovanovic     return true;
107*8a106958SDamjan Jovanovic }
108*8a106958SDamjan Jovanovic 
109*8a106958SDamjan Jovanovic 
110*8a106958SDamjan Jovanovic 
111*8a106958SDamjan Jovanovic TableCell &
AddCell(DYN Item * let_dpItem)112*8a106958SDamjan Jovanovic TableRow::AddCell( DYN Item * let_dpItem )
113*8a106958SDamjan Jovanovic {
114*8a106958SDamjan Jovanovic     return PushElem( *this, new TableCell, let_dpItem );
115*8a106958SDamjan Jovanovic }
116*8a106958SDamjan Jovanovic 
117*8a106958SDamjan Jovanovic bool
LineBreakAfterBeginTag() const118*8a106958SDamjan Jovanovic TableRow::LineBreakAfterBeginTag() const
119*8a106958SDamjan Jovanovic {
120*8a106958SDamjan Jovanovic     return true;
121*8a106958SDamjan Jovanovic }
122*8a106958SDamjan Jovanovic 
123*8a106958SDamjan Jovanovic 
Table(const String & i_sBorder,const String & i_sWidth,const String & i_sCellPadding,const String & i_sCellSpacing)124*8a106958SDamjan Jovanovic Table::Table( const String &   i_sBorder,
125*8a106958SDamjan Jovanovic               const String &   i_sWidth,
126*8a106958SDamjan Jovanovic               const String &   i_sCellPadding,
127*8a106958SDamjan Jovanovic               const String &   i_sCellSpacing  )
128*8a106958SDamjan Jovanovic     :   csi::xml::AnElement("table")
129*8a106958SDamjan Jovanovic {
130*8a106958SDamjan Jovanovic     if ( i_sBorder.length() > 0 )
131*8a106958SDamjan Jovanovic         *this << new AnAttribute(String("border"),i_sBorder);
132*8a106958SDamjan Jovanovic     if ( i_sBorder.length() > 0 )
133*8a106958SDamjan Jovanovic         *this << new AnAttribute(String("width"),i_sWidth);
134*8a106958SDamjan Jovanovic     if ( i_sBorder.length() > 0 )
135*8a106958SDamjan Jovanovic         *this << new AnAttribute(String("cellpadding"),i_sCellPadding);
136*8a106958SDamjan Jovanovic     if ( i_sBorder.length() > 0 )
137*8a106958SDamjan Jovanovic         *this << new AnAttribute(String("cellspacing"),i_sCellSpacing);
138*8a106958SDamjan Jovanovic }
139*8a106958SDamjan Jovanovic 
140*8a106958SDamjan Jovanovic TableRow &
AddRow()141*8a106958SDamjan Jovanovic Table::AddRow()
142*8a106958SDamjan Jovanovic {
143*8a106958SDamjan Jovanovic     TableRow * ret = new TableRow;
144*8a106958SDamjan Jovanovic     *this << ret;
145*8a106958SDamjan Jovanovic     return *ret;
146*8a106958SDamjan Jovanovic }
147*8a106958SDamjan Jovanovic 
148*8a106958SDamjan Jovanovic bool
FinishEmptyTag_XmlStyle() const149*8a106958SDamjan Jovanovic Table::FinishEmptyTag_XmlStyle() const
150*8a106958SDamjan Jovanovic {
151*8a106958SDamjan Jovanovic     return false;
152*8a106958SDamjan Jovanovic }
153*8a106958SDamjan Jovanovic 
154*8a106958SDamjan Jovanovic bool
LineBreakAfterBeginTag() const155*8a106958SDamjan Jovanovic Table::LineBreakAfterBeginTag() const
156*8a106958SDamjan Jovanovic {
157*8a106958SDamjan Jovanovic     return true;
158*8a106958SDamjan Jovanovic }
159*8a106958SDamjan Jovanovic 
160*8a106958SDamjan Jovanovic 
161*8a106958SDamjan Jovanovic 
162*8a106958SDamjan Jovanovic bool
LineBreakAfterEndTag() const163*8a106958SDamjan Jovanovic DefListTerm::LineBreakAfterEndTag() const
164*8a106958SDamjan Jovanovic {
165*8a106958SDamjan Jovanovic     return true;
166*8a106958SDamjan Jovanovic }
167*8a106958SDamjan Jovanovic 
168*8a106958SDamjan Jovanovic bool
LineBreakAfterEndTag() const169*8a106958SDamjan Jovanovic DefListDefinition::LineBreakAfterEndTag() const
170*8a106958SDamjan Jovanovic {
171*8a106958SDamjan Jovanovic     return true;
172*8a106958SDamjan Jovanovic }
173*8a106958SDamjan Jovanovic 
174*8a106958SDamjan Jovanovic 
175*8a106958SDamjan Jovanovic 
176*8a106958SDamjan Jovanovic 
177*8a106958SDamjan Jovanovic 
178*8a106958SDamjan Jovanovic DefListTerm &
AddTerm(DYN csi::xml::Item * let_dpItem)179*8a106958SDamjan Jovanovic DefList::AddTerm( DYN csi::xml::Item* let_dpItem )
180*8a106958SDamjan Jovanovic {
181*8a106958SDamjan Jovanovic     return PushElem( *this, new DefListTerm, let_dpItem );
182*8a106958SDamjan Jovanovic }
183*8a106958SDamjan Jovanovic 
184*8a106958SDamjan Jovanovic DefListDefinition &
AddDefinition(DYN csi::xml::Item * let_dpItem)185*8a106958SDamjan Jovanovic DefList::AddDefinition( DYN csi::xml::Item* let_dpItem )
186*8a106958SDamjan Jovanovic {
187*8a106958SDamjan Jovanovic     return PushElem( *this, new DefListDefinition, let_dpItem );
188*8a106958SDamjan Jovanovic }
189*8a106958SDamjan Jovanovic 
190*8a106958SDamjan Jovanovic bool
LineBreakAfterBeginTag() const191*8a106958SDamjan Jovanovic DefList::LineBreakAfterBeginTag() const
192*8a106958SDamjan Jovanovic {
193*8a106958SDamjan Jovanovic     return true;
194*8a106958SDamjan Jovanovic }
195*8a106958SDamjan Jovanovic 
196*8a106958SDamjan Jovanovic bool
FinishEmptyTag_XmlStyle() const197*8a106958SDamjan Jovanovic DefList::FinishEmptyTag_XmlStyle() const
198*8a106958SDamjan Jovanovic {
199*8a106958SDamjan Jovanovic     return false;
200*8a106958SDamjan Jovanovic }
201*8a106958SDamjan Jovanovic 
202*8a106958SDamjan Jovanovic bool
LineBreakAfterEndTag() const203*8a106958SDamjan Jovanovic ListItem::LineBreakAfterEndTag() const
204*8a106958SDamjan Jovanovic {
205*8a106958SDamjan Jovanovic     return true;
206*8a106958SDamjan Jovanovic }
207*8a106958SDamjan Jovanovic 
208*8a106958SDamjan Jovanovic 
209*8a106958SDamjan Jovanovic 
210*8a106958SDamjan Jovanovic 
211*8a106958SDamjan Jovanovic ListItem &
AddItem(DYN csi::xml::Item * let_dpItem)212*8a106958SDamjan Jovanovic NumeratedList::AddItem( DYN csi::xml::Item* let_dpItem )
213*8a106958SDamjan Jovanovic {
214*8a106958SDamjan Jovanovic     return PushElem( *this, new ListItem, let_dpItem );
215*8a106958SDamjan Jovanovic }
216*8a106958SDamjan Jovanovic 
217*8a106958SDamjan Jovanovic bool
LineBreakAfterBeginTag() const218*8a106958SDamjan Jovanovic NumeratedList::LineBreakAfterBeginTag() const
219*8a106958SDamjan Jovanovic {
220*8a106958SDamjan Jovanovic     return true;
221*8a106958SDamjan Jovanovic }
222*8a106958SDamjan Jovanovic 
223*8a106958SDamjan Jovanovic 
224*8a106958SDamjan Jovanovic ListItem &
AddItem(DYN csi::xml::Item * let_dpItem)225*8a106958SDamjan Jovanovic SimpleList::AddItem( DYN csi::xml::Item* let_dpItem )
226*8a106958SDamjan Jovanovic {
227*8a106958SDamjan Jovanovic     return PushElem( *this, new ListItem, let_dpItem );
228*8a106958SDamjan Jovanovic }
229*8a106958SDamjan Jovanovic 
230*8a106958SDamjan Jovanovic bool
LineBreakAfterBeginTag() const231*8a106958SDamjan Jovanovic SimpleList::LineBreakAfterBeginTag() const
232*8a106958SDamjan Jovanovic {
233*8a106958SDamjan Jovanovic     return true;
234*8a106958SDamjan Jovanovic }
235*8a106958SDamjan Jovanovic 
236*8a106958SDamjan Jovanovic 
237*8a106958SDamjan Jovanovic 
238*8a106958SDamjan Jovanovic }   // namespace html
239*8a106958SDamjan Jovanovic }   // namespace csi
240