LibreOffice Module xmloff (master)  1
prhdlfac.cxx
Go to the documentation of this file.
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 #include <xmloff/prhdlfac.hxx>
21 
22 #include <com/sun/star/drawing/ColorMode.hpp>
23 #include <com/sun/star/text/HorizontalAdjust.hpp>
24 #include <com/sun/star/text/WritingMode2.hpp>
25 #include <com/sun/star/text/VertOrientation.hpp>
26 
27 
28 #include <sal/log.hxx>
29 #include <xmloff/xmlement.hxx>
30 #include <xmloff/xmltypes.hxx>
31 #include <xmloff/xmltoken.hxx>
32 #include <xmloff/xmlprhdl.hxx>
33 #include "xmlbahdl.hxx"
36 #include "cdouthdl.hxx"
37 #include "csmaphdl.hxx"
38 #include "fonthdl.hxx"
39 #include "kernihdl.hxx"
40 #include "postuhdl.hxx"
41 #include "shadwhdl.hxx"
42 #include "shdwdhdl.hxx"
43 #include "undlihdl.hxx"
44 #include "weighhdl.hxx"
45 #include "breakhdl.hxx"
46 #include "adjushdl.hxx"
47 #include "escphdl.hxx"
48 #include "chrhghdl.hxx"
49 #include "chrlohdl.hxx"
50 #include "lspachdl.hxx"
51 #include "bordrhdl.hxx"
52 #include "tabsthdl.hxx"
55 #include "durationhdl.hxx"
58 #include "DrawAspectHdl.hxx"
59 
60 #include <map>
61 
62 using namespace ::com::sun::star;
63 using namespace ::xmloff::token;
64 
66 {
67  { XML_GREYSCALE, drawing::ColorMode_GREYS },
68  { XML_MONO, drawing::ColorMode_MONO },
69  { XML_WATERMARK, drawing::ColorMode_WATERMARK },
70  { XML_STANDARD, drawing::ColorMode_STANDARD },
71  { XML_TOKEN_INVALID, drawing::ColorMode(0) }
72 };
73 
75 {
76  { XML_LEFT, text::HorizontalAdjust_LEFT },
77  { XML_CENTER, text::HorizontalAdjust_CENTER },
78  { XML_RIGHT, text::HorizontalAdjust_RIGHT },
79  { XML_TOKEN_INVALID, text::HorizontalAdjust(0) }
80 };
81 
82 // aXML_WritingDirection_Enum is used with and without 'page'
83 // attribute, so you'll find uses of aXML_WritingDirection_Enum
84 // directly, as well as &(aXML_WritingDirection_Enum[1])
86 {
87  // aXML_WritingDirection_Enum
88  { XML_PAGE, text::WritingMode2::PAGE },
89 
90  // &(aXML_WritingDirection_Enum[1])
91  { XML_LR_TB, text::WritingMode2::LR_TB },
92  { XML_RL_TB, text::WritingMode2::RL_TB },
93  { XML_TB_RL, text::WritingMode2::TB_RL },
94  { XML_TB_LR, text::WritingMode2::TB_LR },
95  { XML_BT_LR, text::WritingMode2::BT_LR },
96 
97  // alternative names of the above, as accepted by XSL
98  { XML_LR, text::WritingMode2::LR_TB },
99  { XML_RL, text::WritingMode2::RL_TB },
100  { XML_TB, text::WritingMode2::TB_RL },
101 
102  { XML_TOKEN_INVALID, 0 }
103 };
104 
106 {
107  { XML_FROM_TOP, text::VertOrientation::NONE },
108  { XML_TOP, text::VertOrientation::TOP },
109  { XML_TOP, text::VertOrientation::CHAR_TOP }, // export only
110  { XML_TOP, text::VertOrientation::LINE_TOP }, // export only
111  { XML_MIDDLE, text::VertOrientation::CENTER },
112  { XML_MIDDLE, text::VertOrientation::CHAR_CENTER }, // export only
113  { XML_MIDDLE, text::VertOrientation::LINE_CENTER }, // export only
114  { XML_BOTTOM, text::VertOrientation::BOTTOM },
115  { XML_BOTTOM, text::VertOrientation::CHAR_BOTTOM }, // export only
116  { XML_BOTTOM, text::VertOrientation::LINE_BOTTOM }, // export only
117  { XML_BELOW, text::VertOrientation::CHAR_BOTTOM }, // import only
118  { XML_TOKEN_INVALID, 0 }
119 };
120 
121 typedef std::map<sal_Int32, const XMLPropertyHandler*> CacheMap;
122 
124 {
126 };
127 
129  mpImpl(new Impl) {}
130 
132 {
133  for( const auto& rCacheEntry : mpImpl->maHandlerCache )
134  delete rCacheEntry.second;
135 }
136 
137 // Interface
139 {
140  SAL_WARN_IF( (nType & ~(sal_uInt32(MID_FLAG_MASK))) != 0, "xmloff",
141  "GetPropertyHandler called with flags in type" );
142  return GetBasicHandler( nType );
143 }
144 
145 // Helper-methods to create and cache PropertyHandler
147 {
148  const XMLPropertyHandler* pRet = nullptr;
149 
150  if( mpImpl->maHandlerCache.find( nType ) != mpImpl->maHandlerCache.end() )
151  pRet = mpImpl->maHandlerCache.find( nType )->second;
152 
153  return pRet;
154 }
155 
156 void XMLPropertyHandlerFactory::PutHdlCache( sal_Int32 nType, const XMLPropertyHandler* pHdl ) const
157 {
158  mpImpl->maHandlerCache[nType] = pHdl;
159 }
160 
162 {
163  const XMLPropertyHandler* pPropHdl = GetHdlCache( nType );
164  if( pPropHdl )
165  return pPropHdl;
166 
167  std::unique_ptr<XMLPropertyHandler> pNewPropHdl = CreatePropertyHandler( nType );
168  if( pNewPropHdl )
169  PutHdlCache( nType, pNewPropHdl.get() );
170  return pNewPropHdl.release();
171 }
172 
173 std::unique_ptr<XMLPropertyHandler> XMLPropertyHandlerFactory::CreatePropertyHandler( sal_Int32 nType )
174 {
175  std::unique_ptr<XMLPropertyHandler> pPropHdl;
176 
177  switch( nType )
178  {
179  case XML_TYPE_BOOL :
180  pPropHdl.reset(new XMLBoolPropHdl);
181  break;
182  case XML_TYPE_BOOL_FALSE :
183  pPropHdl.reset(new XMLBoolFalsePropHdl);
184  break;
185  case XML_TYPE_MEASURE :
186  pPropHdl.reset(new XMLMeasurePropHdl( 4 ));
187  break;
188  case XML_TYPE_MEASURE8 :
189  pPropHdl.reset(new XMLMeasurePropHdl( 1 ));
190  break;
191  case XML_TYPE_MEASURE16:
192  pPropHdl.reset(new XMLMeasurePropHdl( 2 ));
193  break;
194  case XML_TYPE_PERCENT :
195  pPropHdl.reset(new XMLPercentPropHdl( 4 ));
196  break;
197  case XML_TYPE_PERCENT8 :
198  pPropHdl.reset(new XMLPercentPropHdl( 1 ));
199  break;
200  case XML_TYPE_PERCENT16 :
201  pPropHdl.reset(new XMLPercentPropHdl( 2 ));
202  break;
204  pPropHdl.reset(new XMLDoublePercentPropHdl);
205  break;
206  case XML_TYPE_NEG_PERCENT :
207  pPropHdl.reset(new XMLNegPercentPropHdl( 4 ));
208  break;
209  case XML_TYPE_NEG_PERCENT8 :
210  pPropHdl.reset(new XMLNegPercentPropHdl( 1 ));
211  break;
213  pPropHdl.reset(new XMLNegPercentPropHdl( 2 ));
214  break;
215  case XML_TYPE_MEASURE_PX :
216  pPropHdl.reset(new XMLMeasurePxPropHdl( 4 ));
217  break;
218  case XML_TYPE_STRING :
219  pPropHdl.reset(new XMLStringPropHdl);
220  break;
221  case XML_TYPE_COLOR :
222  pPropHdl.reset(new XMLColorPropHdl);
223  break;
224  case XML_TYPE_HEX :
225  pPropHdl.reset(new XMLHexPropHdl);
226  break;
227  case XML_TYPE_NUMBER :
228  pPropHdl.reset(new XMLNumberPropHdl( 4 ));
229  break;
230  case XML_TYPE_NUMBER8 :
231  pPropHdl.reset(new XMLNumberPropHdl( 1 ));
232  break;
233  case XML_TYPE_NUMBER16:
234  pPropHdl.reset(new XMLNumberPropHdl( 2 ));
235  break;
236  case XML_TYPE_NUMBER_NONE :
237  pPropHdl.reset(new XMLNumberNonePropHdl);
238  break;
239  case XML_TYPE_NUMBER8_NONE :
240  pPropHdl.reset(new XMLNumberNonePropHdl( 1 ));
241  break;
243  pPropHdl.reset(new XMLNumberNonePropHdl( 2 ));
244  break;
245  case XML_TYPE_DOUBLE :
246  pPropHdl.reset(new XMLDoublePropHdl);
247  break;
248  case XML_TYPE_NBOOL :
249  pPropHdl.reset(new XMLNBoolPropHdl);
250  break;
252  pPropHdl.reset(new XMLColorTransparentPropHdl);
253  break;
255  pPropHdl.reset(new XMLIsTransparentPropHdl);
256  break;
257  case XML_TYPE_COLORAUTO :
258  pPropHdl.reset(new XMLColorAutoPropHdl);
259  break;
260  case XML_TYPE_ISAUTOCOLOR :
261  pPropHdl.reset(new XMLIsAutoColorPropHdl);
262  break;
264  pPropHdl.reset(new XMLCompareOnlyPropHdl);
265  break;
266 
271  pPropHdl.reset(new XMLRectangleMembersHdl( nType ));
272  break;
273 
275  pPropHdl.reset(new XMLCrossedOutTypePropHdl) ;
276  break;
278  pPropHdl.reset(new XMLCrossedOutStylePropHdl) ;
279  break;
281  pPropHdl.reset(new XMLCrossedOutWidthPropHdl) ;
282  break;
284  pPropHdl.reset(new XMLCrossedOutTextPropHdl) ;
285  break;
287  pPropHdl.reset(new XMLNamedBoolPropertyHdl(
289  GetXMLToken(XML_NONE) ));
290  break;
292  pPropHdl.reset(new XMLEscapementPropHdl);
293  break;
295  pPropHdl.reset(new XMLEscapementHeightPropHdl);
296  break;
298  pPropHdl.reset(new XMLCaseMapPropHdl);
299  break;
301  pPropHdl.reset(new XMLCaseMapVariantHdl);
302  break;
304  pPropHdl.reset(new XMLFontFamilyNamePropHdl);
305  break;
307  pPropHdl.reset(new XMLFontFamilyPropHdl);
308  break;
310  pPropHdl.reset(new XMLFontEncodingPropHdl);
311  break;
313  pPropHdl.reset(new XMLFontPitchPropHdl);
314  break;
316  pPropHdl.reset(new XMLKerningPropHdl);
317  break;
319  pPropHdl.reset(new XMLPosturePropHdl);
320  break;
322  pPropHdl.reset(new XMLShadowedPropHdl);
323  break;
325  pPropHdl.reset(new XMLUnderlineTypePropHdl);
326  break;
328  pPropHdl.reset(new XMLUnderlineStylePropHdl);
329  break;
331  pPropHdl.reset(new XMLUnderlineWidthPropHdl);
332  break;
334  pPropHdl.reset(new XMLColorTransparentPropHdl( XML_FONT_COLOR ));
335  break;
337  pPropHdl.reset(new XMLIsTransparentPropHdl( XML_FONT_COLOR,
338  false ));
339  break;
341  pPropHdl.reset(new XMLUnderlineTypePropHdl);
342  break;
344  pPropHdl.reset(new XMLUnderlineStylePropHdl);
345  break;
347  pPropHdl.reset(new XMLUnderlineWidthPropHdl);
348  break;
350  pPropHdl.reset(new XMLColorTransparentPropHdl( XML_FONT_COLOR ));
351  break;
353  pPropHdl.reset(new XMLIsTransparentPropHdl( XML_FONT_COLOR,
354  false ));
355  break;
357  pPropHdl.reset(new XMLFontWeightPropHdl);
358  break;
359  case XML_TYPE_TEXT_SPLIT:
360  pPropHdl.reset(new XMLNamedBoolPropertyHdl(
363  break;
365  pPropHdl.reset(new XMLFmtBreakBeforePropHdl);
366  break;
368  pPropHdl.reset(new XMLFmtBreakAfterPropHdl);
369  break;
371  pPropHdl.reset(new XMLShadowPropHdl);
372  break;
374  pPropHdl.reset(new XMLParaAdjustPropHdl);
375  break;
377  pPropHdl.reset(new XMLLastLineAdjustPropHdl);
378  break;
380  pPropHdl.reset(new XMLCharHeightHdl);
381  break;
383  pPropHdl.reset(new XMLCharHeightPropHdl);
384  break;
386  pPropHdl.reset(new XMLCharHeightDiffHdl);
387  break;
389  pPropHdl.reset(new XMLCharRfcLanguageTagHdl);
390  break;
392  pPropHdl.reset(new XMLCharLanguageHdl);
393  break;
395  pPropHdl.reset(new XMLCharScriptHdl);
396  break;
398  pPropHdl.reset(new XMLCharCountryHdl);
399  break;
401  pPropHdl.reset(new XMLLineHeightHdl);
402  break;
404  pPropHdl.reset(new XMLLineHeightAtLeastHdl);
405  break;
407  pPropHdl.reset(new XMLLineSpacingHdl);
408  break;
410  pPropHdl.reset(new XMLBorderWidthHdl);
411  break;
412  case XML_TYPE_BORDER:
413  pPropHdl.reset(new XMLBorderHdl);
414  break;
416  pPropHdl.reset(new XMLTabStopPropHdl);
417  break;
419  pPropHdl.reset(new XMLAttributeContainerHandler);
420  break;
421  case XML_TYPE_COLOR_MODE:
422  pPropHdl.reset(new XMLEnumPropertyHdl(aXML_ColorMode_EnumMap));
423  break;
425  pPropHdl.reset(new XMLDurationMS16PropHdl_Impl);
426  break;
428  pPropHdl.reset(new XMLEnumPropertyHdl(aXML_HorizontalAdjust_Enum));
429  break;
431  pPropHdl.reset(new DrawAspectHdl);
432  break;
434  pPropHdl.reset(new XMLConstantsPropertyHandler(
435  &(aXML_WritingDirection_Enum[1]),
436  XML_LR_TB));
437  break;
439  pPropHdl.reset(new XMLConstantsPropertyHandler(
440  aXML_WritingDirection_Enum,
441  XML_PAGE));
442  break;
444  pPropHdl.reset(new XMLNamedBoolPropertyHdl(
446  GetXMLToken(XML_TRUE) ));
447  break;
448  case XML_TYPE_STYLENAME :
449  pPropHdl.reset(new XMLStyleNamePropHdl);
450  break;
452  pPropHdl.reset(new XMLNumberWithoutZeroPropHdl( 4 ));
453  break;
455  pPropHdl.reset(new XMLNumberWithoutZeroPropHdl( 1 ));
456  break;
458  pPropHdl.reset(new XMLNumberWithoutZeroPropHdl( 2 ));
459  break;
461  pPropHdl.reset(new XMLNumberWithAutoForVoidPropHdl);
462  break;
464  pPropHdl.reset(new XMLConstantsPropertyHandler( pXML_VertPos_Enum, XML_TOKEN_INVALID ));
465  break;
466 
467  }
468 
469  return pPropHdl;
470 }
471 
472 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
#define XML_TYPE_TEXT_HIDDEN_AS_DISPLAY
Definition: xmltypes.hxx:252
#define XML_TYPE_BORDER
Definition: xmltypes.hxx:190
#define XML_TYPE_TEXT_BREAKAFTER
Definition: xmltypes.hxx:176
#define XML_TYPE_TEXT_UNDERLINE_STYLE
Definition: xmltypes.hxx:172
PropertyHandler for the XML-data-type: XML_TYPE_ISTRANSPARENT.
Definition: xmlbahdl.hxx:236
#define XML_TYPE_PERCENT
Definition: xmltypes.hxx:129
#define XML_TYPE_NUMBER_NONE
Definition: xmltypes.hxx:137
#define XML_TYPE_MEASURE8
Definition: xmltypes.hxx:127
#define XML_TYPE_TEXT_SHADOW
Definition: xmltypes.hxx:177
virtual const XMLPropertyHandler * GetPropertyHandler(sal_Int32 nType) const
This method retrieves a PropertyHandler for the given XML-type.
Definition: prhdlfac.cxx:138
#define XML_TYPE_NUMBER8_NONE
Definition: xmltypes.hxx:143
#define XML_TYPE_BUILDIN_CMP_ONLY
Definition: xmltypes.hxx:142
#define XML_TYPE_NEG_PERCENT16
Definition: xmltypes.hxx:153
PropertyHandler for the XML-data-type:
Definition: cdouthdl.hxx:28
SvXMLEnumMapEntry< drawing::ColorMode > const aXML_ColorMode_EnumMap[]
Definition: prhdlfac.cxx:65
#define XML_TYPE_TEXT_OVERLINE_HASCOLOR
Definition: xmltypes.hxx:277
#define XML_TYPE_DOUBLE
Definition: xmltypes.hxx:138
PropertyHandler for the XML-data-type:
Definition: fonthdl.hxx:64
PropertyHandler for the XML-data-type:
Definition: adjushdl.hxx:40
#define XML_TYPE_BORDER_WIDTH
Definition: xmltypes.hxx:191
#define XML_TYPE_TEXT_OVERLINE_TYPE
Definition: xmltypes.hxx:273
#define XML_TYPE_COLOR_MODE
Definition: xmltypes.hxx:145
#define XML_TYPE_ISAUTOCOLOR
Definition: xmltypes.hxx:149
PropertyHandler for a sal_int16 duration in ms:
Definition: durationhdl.hxx:28
PropertyHandler for the XML-data-type: XML_TYPE_MEASURE.
Definition: xmlbahdl.hxx:61
#define XML_TYPE_TEXT_UNDERLINE_COLOR
Definition: xmltypes.hxx:223
#define XML_TYPE_PERCENT16
Definition: xmltypes.hxx:131
static std::unique_ptr< XMLPropertyHandler > CreatePropertyHandler(sal_Int32 nType)
helper method to statically create a property handler; this will not use the handler cache...
Definition: prhdlfac.cxx:173
#define XML_TYPE_TEXT_CASEMAP_VAR
Definition: xmltypes.hxx:180
#define XML_TYPE_TEXT_UNDERLINE_TYPE
Definition: xmltypes.hxx:256
#define XML_TYPE_NUMBER8
Definition: xmltypes.hxx:135
PropertyHandler for the XML-data-type: XML_TYPE_NUMBER_NO_ZERO Reads/writes numeric properties...
Definition: xmlbahdl.hxx:295
#define XML_TYPE_TEXT_OVERLINE_WIDTH
Definition: xmltypes.hxx:275
#define XML_TYPE_TEXT_POSTURE
Definition: xmltypes.hxx:170
#define XML_TYPE_TEXT_OVERLINE_STYLE
Definition: xmltypes.hxx:274
PropertyHandler for the XML-data-type:
Definition: shdwdhdl.hxx:28
#define XML_TYPE_LINE_SPACE_FIXED
Definition: xmltypes.hxx:187
#define XML_TYPE_NUMBER8_NO_ZERO
Definition: xmltypes.hxx:267
#define XML_TYPE_TEXT_UNDERLINE_WIDTH
Definition: xmltypes.hxx:257
#define XML_TYPE_TEXT_CROSSEDOUT_TYPE
Definition: xmltypes.hxx:258
PropertyHandler for the XML-data-type:
Definition: lspachdl.hxx:28
PropertyHandler for a named xml bool type:
PropertyHandler for a generic xml enumeration type:
#define XML_TYPE_DURATION16_MS
Definition: xmltypes.hxx:146
PropertyHandler for the XML-data-type: XML_TYPE_COLORAUTO.
Definition: xmlbahdl.hxx:253
#define XML_TYPE_NUMBER16_AUTO
Definition: xmltypes.hxx:269
#define XML_TYPE_STYLENAME
Definition: xmltypes.hxx:150
#define XML_TYPE_DOUBLE_PERCENT
Definition: xmltypes.hxx:154
#define XML_TYPE_PERCENT8
Definition: xmltypes.hxx:130
#define XML_TYPE_CHAR_RFC_LANGUAGE_TAG
Definition: xmltypes.hxx:281
#define XML_TYPE_TEXT_WRITING_MODE_WITH_DEFAULT
Definition: xmltypes.hxx:250
#define XML_TYPE_MEASURE16
Definition: xmltypes.hxx:128
#define XML_TYPE_TEXT_CASEMAP
Definition: xmltypes.hxx:164
#define XML_TYPE_TEXT_VERTICAL_POS
Definition: xmltypes.hxx:209
PropertyHandler for the XML-data-type:
Definition: weighhdl.hxx:28
PropertyHandler for the XML-data-type: XML_TYPE_NEG_PERCENT.
Definition: xmlbahdl.hxx:99
PropertyHandler for the XML-data-type:
#define XML_TYPE_RECTANGLE_HEIGHT
Definition: xmltypes.hxx:161
PropertyHandler for the XML-data-type:
Definition: postuhdl.hxx:28
#define XML_TYPE_LINE_SPACE_DISTANCE
Definition: xmltypes.hxx:189
PropertyHandler for the XML-data-type:
Definition: fonthdl.hxx:28
#define XML_TYPE_COLORAUTO
Definition: xmltypes.hxx:148
virtual ~XMLPropertyHandlerFactory() override
Definition: prhdlfac.cxx:131
SvXMLEnumMapEntry< sal_uInt16 > const aXML_WritingDirection_Enum[]
Definition: prhdlfac.cxx:85
#define XML_TYPE_CHAR_HEIGHT
Definition: xmltypes.hxx:183
PropertyHandler for the XML-data-type:
Definition: adjushdl.hxx:28
PropertyHandler for the XML-data-type: XML_TYPE_STRING.
Definition: xmlbahdl.hxx:173
PropertyHandler for the XML-data-type:
Definition: fonthdl.hxx:52
std::unique_ptr< Impl > mpImpl
Definition: prhdlfac.hxx:42
#define XML_TYPE_BOOL_FALSE
Definition: xmltypes.hxx:278
#define XML_TYPE_TEXT_KERNING
Definition: xmltypes.hxx:169
PropertyHandler for the XML-data-type:
Definition: undlihdl.hxx:28
PropertyHandler for the XML-data-type: XML_TYPE_NUMBER16_AUTO Reads/writes numeric properties with sp...
#define XML_TYPE_TEXT_ESCAPEMENT
Definition: xmltypes.hxx:181
PropertyHandler for the XML-data-type: XML_TYPE_PERCENT.
Definition: xmlbahdl.hxx:113
Abstract base-class for different XML-types.
PropertyHandler for the XML-data-type: XML_TYPE_NBOOL.
Definition: xmlbahdl.hxx:209
#define XML_TYPE_TEXT_OVERLINE_COLOR
Definition: xmltypes.hxx:276
#define XML_TYPE_TEXT_SPLIT
Definition: xmltypes.hxx:174
PropertyHandler for the XML-data-type: XML_TYPE_NUMBER.
Definition: xmlbahdl.hxx:30
#define XML_TYPE_ATTRIBUTE_CONTAINER
Definition: xmltypes.hxx:218
#define XML_TYPE_NUMBER16_NONE
Definition: xmltypes.hxx:144
const XMLPropertyHandler * GetHdlCache(sal_Int32 nType) const
Retrieves a PropertyHandler from the internal cache.
Definition: prhdlfac.cxx:146
PropertyHandler for the XML-data-type:
Definition: csmaphdl.hxx:28
#define XML_TYPE_TEXT_ADJUST
Definition: xmltypes.hxx:178
#define XML_TYPE_TEXT_BREAKBEFORE
Definition: xmltypes.hxx:175
#define XML_TYPE_NEG_PERCENT
Definition: xmltypes.hxx:151
#define XML_TYPE_MEASURE_PX
Definition: xmltypes.hxx:147
#define XML_TYPE_NUMBER
Definition: xmltypes.hxx:134
#define XML_TYPE_TEXT_ESCAPEMENT_HEIGHT
Definition: xmltypes.hxx:182
PropertyHandler for the XML-data-type: XML_TYPE_COLORISAUTO.
Definition: xmlbahdl.hxx:266
PropertyHandler for the XML-data-type: XML_TYPE_NUMBER_NONE.
Definition: xmlbahdl.hxx:45
#define XML_TYPE_TEXT_FONTFAMILY
Definition: xmltypes.hxx:166
#define XML_TYPE_TEXT_DRAW_ASPECT
Definition: xmltypes.hxx:245
#define XML_TYPE_NUMBER16
Definition: xmltypes.hxx:136
#define XML_TYPE_TEXT_BOOLCROSSEDOUT
Definition: xmltypes.hxx:194
#define XML_TYPE_HEX
Definition: xmltypes.hxx:155
#define XML_TYPE_CHAR_HEIGHT_DIFF
Definition: xmltypes.hxx:219
std::map< sal_Int32, const XMLPropertyHandler * > CacheMap
Definition: prhdlfac.cxx:121
#define XML_TYPE_TEXT_HORIZONTAL_ADJUST
Definition: xmltypes.hxx:239
PropertyHandler for properties that cannot make use of importXML and exportXML methods, but can make use of the default comparison.
Definition: xmlbahdl.hxx:281
#define XML_TYPE_TEXT_FONTPITCH
Definition: xmltypes.hxx:168
#define XML_TYPE_TEXT_WRITING_MODE
Definition: xmltypes.hxx:249
#define XML_TYPE_NEG_PERCENT8
Definition: xmltypes.hxx:152
#define XML_TYPE_RECTANGLE_WIDTH
Definition: xmltypes.hxx:160
Map an XMLTokenEnum to an enum value.
Definition: ximpshap.hxx:40
#define XML_TYPE_ISTRANSPARENT
Definition: xmltypes.hxx:141
#define XML_TYPE_STRING
Definition: xmltypes.hxx:132
PropertyHandler for the XML-data-type:
Definition: bordrhdl.hxx:28
SvXMLEnumMapEntry< sal_uInt16 > const pXML_VertPos_Enum[]
Definition: prhdlfac.cxx:105
#define XML_TYPE_TEXT_FONTENCODING
Definition: xmltypes.hxx:167
PropertyHandler for the XML-data-type: XML_TYPE_HEX.
Definition: xmlbahdl.hxx:161
#define XML_TYPE_NBOOL
Definition: xmltypes.hxx:139
PropertyHandler for the XML-data-type: XML_TYPE_DOUBLE.
Definition: xmlbahdl.hxx:197
#define SAL_WARN_IF(condition, area, stream)
PropertyHandler for the XML-data-type:
Definition: breakhdl.hxx:40
const OUString & GetXMLToken(enum XMLTokenEnum eToken)
return the OUString representation for eToken
Definition: xmltoken.cxx:3405
PropertyHandler for the XML-data-type: XML_TYPE_PERCENT that is mapped on a double from 0...
Definition: xmlbahdl.hxx:90
PropertyHandler for the XML-data-type: XML_TYPE_PERCENT.
Definition: xmlbahdl.hxx:75
#define XML_TYPE_CHAR_HEIGHT_PROP
Definition: xmltypes.hxx:184
#define MID_FLAG_MASK
Definition: xmltypes.hxx:36
PropertyHandler for the XML-data-type: XML_TYPE_BOOL.
Definition: xmlbahdl.hxx:127
SAL_DLLPRIVATE const XMLPropertyHandler * GetBasicHandler(sal_Int32 nType) const
Retrieves ( creates if necessary ) PropertyHandler for basic XML-types.
Definition: prhdlfac.cxx:161
PropertyHandler for the XML-data-type:
Definition: shadwhdl.hxx:28
Handling of tokens in XML:
PropertyHandler for the XML-data-type:
Definition: chrhghdl.hxx:28
PropertyHandler for the XML-data-type:
Definition: tabsthdl.hxx:28
PropertyHandler for the XML-data-type:
Definition: breakhdl.hxx:28
PropertyHandler for the XML-data-type: XML_TYPE_COLORTRANSPARENT.
Definition: xmlbahdl.hxx:221
PropertyHandler for the XML-data-type:
Definition: kernihdl.hxx:28
#define XML_TYPE_MEASURE
Definition: xmltypes.hxx:126
PropertyHandler for the XML-data-type: XML_TYPE_COLOR.
Definition: xmlbahdl.hxx:149
PropertyHandler for the XML-data-type:
#define XML_TYPE_TEXT_TABSTOP
Definition: xmltypes.hxx:193
#define XML_TYPE_TEXT_CROSSEDOUT_TEXT
Definition: xmltypes.hxx:260
PropertyHandler for the XML-data-type:
Definition: chrlohdl.hxx:28
#define XML_TYPE_COLORTRANSPARENT
Definition: xmltypes.hxx:140
#define XML_TYPE_CHAR_COUNTRY
Definition: xmltypes.hxx:186
#define XML_TYPE_NUMBER16_NO_ZERO
Definition: xmltypes.hxx:268
#define XML_TYPE_TEXT_CROSSEDOUT_STYLE
Definition: xmltypes.hxx:163
#define XML_TYPE_CHAR_LANGUAGE
Definition: xmltypes.hxx:185
#define XML_TYPE_TEXT_WEIGHT
Definition: xmltypes.hxx:173
Abstract base-class for different XML-types.
Definition: xmlprhdl.hxx:35
#define XML_TYPE_BOOL
Definition: xmltypes.hxx:125
#define XML_TYPE_TEXT_FONTFAMILYNAME
Definition: xmltypes.hxx:165
#define XML_TYPE_TEXT_ADJUSTLAST
Definition: xmltypes.hxx:179
#define XML_TYPE_TEXT_CROSSEDOUT_WIDTH
Definition: xmltypes.hxx:259
PropertyHandler for the XML-data-type:
Definition: fonthdl.hxx:40
#define XML_TYPE_NUMBER_NO_ZERO
Definition: xmltypes.hxx:266
#define XML_TYPE_CHAR_SCRIPT
Definition: xmltypes.hxx:280
#define XML_TYPE_TEXT_SHADOWED
Definition: xmltypes.hxx:171
SvXMLEnumMapEntry< text::HorizontalAdjust > const aXML_HorizontalAdjust_Enum[]
Definition: prhdlfac.cxx:74
Abstract base-class for different XML-types.
PropertyHandler for the XML-data-type: XML_TYPE_STYLENAME.
Definition: xmlbahdl.hxx:185
#define XML_TYPE_TEXT_UNDERLINE_HASCOLOR
Definition: xmltypes.hxx:224
#define XML_TYPE_RECTANGLE_TOP
Definition: xmltypes.hxx:159
#define XML_TYPE_RECTANGLE_LEFT
Definition: xmltypes.hxx:158
#define XML_TYPE_COLOR
Definition: xmltypes.hxx:133
void PutHdlCache(sal_Int32 nType, const XMLPropertyHandler *pHdl) const
Puts a PropertyHandler into the internal cache.
Definition: prhdlfac.cxx:156
PropertyHandler for the XML-data-type:
Definition: escphdl.hxx:28
#define XML_TYPE_LINE_SPACE_MINIMUM
Definition: xmltypes.hxx:188