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;
203  case XML_TYPE_PERCENT100:
204  pPropHdl.reset(new XML100thPercentPropHdl);
205  break;
207  pPropHdl.reset(new XMLDoublePercentPropHdl);
208  break;
209  case XML_TYPE_NEG_PERCENT :
210  pPropHdl.reset(new XMLNegPercentPropHdl( 4 ));
211  break;
212  case XML_TYPE_NEG_PERCENT8 :
213  pPropHdl.reset(new XMLNegPercentPropHdl( 1 ));
214  break;
216  pPropHdl.reset(new XMLNegPercentPropHdl( 2 ));
217  break;
218  case XML_TYPE_MEASURE_PX :
219  pPropHdl.reset(new XMLMeasurePxPropHdl( 4 ));
220  break;
221  case XML_TYPE_STRING :
222  pPropHdl.reset(new XMLStringPropHdl);
223  break;
224  case XML_TYPE_COLOR :
225  pPropHdl.reset(new XMLColorPropHdl);
226  break;
227  case XML_TYPE_HEX :
228  pPropHdl.reset(new XMLHexPropHdl);
229  break;
230  case XML_TYPE_NUMBER :
231  pPropHdl.reset(new XMLNumberPropHdl( 4 ));
232  break;
233  case XML_TYPE_NUMBER8 :
234  pPropHdl.reset(new XMLNumberPropHdl( 1 ));
235  break;
236  case XML_TYPE_NUMBER16:
237  pPropHdl.reset(new XMLNumberPropHdl( 2 ));
238  break;
239  case XML_TYPE_NUMBER_NONE :
240  pPropHdl.reset(new XMLNumberNonePropHdl);
241  break;
242  case XML_TYPE_NUMBER8_NONE :
243  pPropHdl.reset(new XMLNumberNonePropHdl( 1 ));
244  break;
246  pPropHdl.reset(new XMLNumberNonePropHdl( 2 ));
247  break;
248  case XML_TYPE_DOUBLE :
249  pPropHdl.reset(new XMLDoublePropHdl);
250  break;
251  case XML_TYPE_NBOOL :
252  pPropHdl.reset(new XMLNBoolPropHdl);
253  break;
255  pPropHdl.reset(new XMLColorTransparentPropHdl);
256  break;
258  pPropHdl.reset(new XMLIsTransparentPropHdl);
259  break;
260  case XML_TYPE_COLORAUTO :
261  pPropHdl.reset(new XMLColorAutoPropHdl);
262  break;
263  case XML_TYPE_ISAUTOCOLOR :
264  pPropHdl.reset(new XMLIsAutoColorPropHdl);
265  break;
267  pPropHdl.reset(new XMLCompareOnlyPropHdl);
268  break;
269 
274  pPropHdl.reset(new XMLRectangleMembersHdl( nType ));
275  break;
276 
278  pPropHdl.reset(new XMLCrossedOutTypePropHdl) ;
279  break;
281  pPropHdl.reset(new XMLCrossedOutStylePropHdl) ;
282  break;
284  pPropHdl.reset(new XMLCrossedOutWidthPropHdl) ;
285  break;
287  pPropHdl.reset(new XMLCrossedOutTextPropHdl) ;
288  break;
290  pPropHdl.reset(new XMLNamedBoolPropertyHdl(
292  GetXMLToken(XML_NONE) ));
293  break;
295  pPropHdl.reset(new XMLEscapementPropHdl);
296  break;
298  pPropHdl.reset(new XMLEscapementHeightPropHdl);
299  break;
301  pPropHdl.reset(new XMLCaseMapPropHdl);
302  break;
304  pPropHdl.reset(new XMLCaseMapVariantHdl);
305  break;
307  pPropHdl.reset(new XMLFontFamilyNamePropHdl);
308  break;
310  pPropHdl.reset(new XMLFontFamilyPropHdl);
311  break;
313  pPropHdl.reset(new XMLFontEncodingPropHdl);
314  break;
316  pPropHdl.reset(new XMLFontPitchPropHdl);
317  break;
319  pPropHdl.reset(new XMLKerningPropHdl);
320  break;
322  pPropHdl.reset(new XMLPosturePropHdl);
323  break;
325  pPropHdl.reset(new XMLShadowedPropHdl);
326  break;
328  pPropHdl.reset(new XMLUnderlineTypePropHdl);
329  break;
331  pPropHdl.reset(new XMLUnderlineStylePropHdl);
332  break;
334  pPropHdl.reset(new XMLUnderlineWidthPropHdl);
335  break;
337  pPropHdl.reset(new XMLColorTransparentPropHdl( XML_FONT_COLOR ));
338  break;
340  pPropHdl.reset(new XMLIsTransparentPropHdl( XML_FONT_COLOR,
341  false ));
342  break;
344  pPropHdl.reset(new XMLUnderlineTypePropHdl);
345  break;
347  pPropHdl.reset(new XMLUnderlineStylePropHdl);
348  break;
350  pPropHdl.reset(new XMLUnderlineWidthPropHdl);
351  break;
353  pPropHdl.reset(new XMLColorTransparentPropHdl( XML_FONT_COLOR ));
354  break;
356  pPropHdl.reset(new XMLIsTransparentPropHdl( XML_FONT_COLOR,
357  false ));
358  break;
360  pPropHdl.reset(new XMLFontWeightPropHdl);
361  break;
362  case XML_TYPE_TEXT_SPLIT:
363  pPropHdl.reset(new XMLNamedBoolPropertyHdl(
366  break;
368  pPropHdl.reset(new XMLFmtBreakBeforePropHdl);
369  break;
371  pPropHdl.reset(new XMLFmtBreakAfterPropHdl);
372  break;
374  pPropHdl.reset(new XMLShadowPropHdl);
375  break;
377  pPropHdl.reset(new XMLParaAdjustPropHdl);
378  break;
380  pPropHdl.reset(new XMLLastLineAdjustPropHdl);
381  break;
383  pPropHdl.reset(new XMLCharHeightHdl);
384  break;
386  pPropHdl.reset(new XMLCharHeightPropHdl);
387  break;
389  pPropHdl.reset(new XMLCharHeightDiffHdl);
390  break;
392  pPropHdl.reset(new XMLCharRfcLanguageTagHdl);
393  break;
395  pPropHdl.reset(new XMLCharLanguageHdl);
396  break;
398  pPropHdl.reset(new XMLCharScriptHdl);
399  break;
401  pPropHdl.reset(new XMLCharCountryHdl);
402  break;
404  pPropHdl.reset(new XMLLineHeightHdl);
405  break;
407  pPropHdl.reset(new XMLLineHeightAtLeastHdl);
408  break;
410  pPropHdl.reset(new XMLLineSpacingHdl);
411  break;
413  pPropHdl.reset(new XMLBorderWidthHdl);
414  break;
415  case XML_TYPE_BORDER:
416  pPropHdl.reset(new XMLBorderHdl);
417  break;
419  pPropHdl.reset(new XMLTabStopPropHdl);
420  break;
422  pPropHdl.reset(new XMLAttributeContainerHandler);
423  break;
424  case XML_TYPE_COLOR_MODE:
425  pPropHdl.reset(new XMLEnumPropertyHdl(aXML_ColorMode_EnumMap));
426  break;
428  pPropHdl.reset(new XMLDurationMS16PropHdl_Impl);
429  break;
431  pPropHdl.reset(new XMLEnumPropertyHdl(aXML_HorizontalAdjust_Enum));
432  break;
434  pPropHdl.reset(new DrawAspectHdl);
435  break;
437  pPropHdl.reset(new XMLConstantsPropertyHandler(
438  &(aXML_WritingDirection_Enum[1]),
439  XML_LR_TB));
440  break;
442  pPropHdl.reset(new XMLConstantsPropertyHandler(
443  aXML_WritingDirection_Enum,
444  XML_PAGE));
445  break;
447  pPropHdl.reset(new XMLNamedBoolPropertyHdl(
449  GetXMLToken(XML_TRUE) ));
450  break;
451  case XML_TYPE_STYLENAME :
452  pPropHdl.reset(new XMLStyleNamePropHdl);
453  break;
455  pPropHdl.reset(new XMLNumberWithoutZeroPropHdl( 4 ));
456  break;
458  pPropHdl.reset(new XMLNumberWithoutZeroPropHdl( 1 ));
459  break;
461  pPropHdl.reset(new XMLNumberWithoutZeroPropHdl( 2 ));
462  break;
464  pPropHdl.reset(new XMLNumberWithAutoForVoidPropHdl);
465  break;
467  pPropHdl.reset(new XMLConstantsPropertyHandler( pXML_VertPos_Enum, XML_TOKEN_INVALID ));
468  break;
469 
470  }
471 
472  return pPropHdl;
473 }
474 
475 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
#define XML_TYPE_TEXT_HIDDEN_AS_DISPLAY
Definition: xmltypes.hxx:253
#define XML_TYPE_BORDER
Definition: xmltypes.hxx:191
#define XML_TYPE_TEXT_BREAKAFTER
Definition: xmltypes.hxx:177
#define XML_TYPE_TEXT_UNDERLINE_STYLE
Definition: xmltypes.hxx:173
PropertyHandler for the XML-data-type: XML_TYPE_ISTRANSPARENT.
Definition: xmlbahdl.hxx:244
#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:178
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:27
SvXMLEnumMapEntry< drawing::ColorMode > const aXML_ColorMode_EnumMap[]
Definition: prhdlfac.cxx:65
#define XML_TYPE_TEXT_OVERLINE_HASCOLOR
Definition: xmltypes.hxx:278
#define XML_TYPE_DOUBLE
Definition: xmltypes.hxx:138
PropertyHandler for the XML-data-type:
Definition: fonthdl.hxx:63
PropertyHandler for the XML-data-type:
Definition: adjushdl.hxx:39
#define XML_TYPE_BORDER_WIDTH
Definition: xmltypes.hxx:192
#define XML_TYPE_TEXT_OVERLINE_TYPE
Definition: xmltypes.hxx:274
#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:27
PropertyHandler for the XML-data-type: XML_TYPE_MEASURE.
Definition: xmlbahdl.hxx:60
#define XML_TYPE_TEXT_UNDERLINE_COLOR
Definition: xmltypes.hxx:224
#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:181
#define XML_TYPE_TEXT_UNDERLINE_TYPE
Definition: xmltypes.hxx:257
#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:303
#define XML_TYPE_TEXT_OVERLINE_WIDTH
Definition: xmltypes.hxx:276
#define XML_TYPE_TEXT_POSTURE
Definition: xmltypes.hxx:171
#define XML_TYPE_TEXT_OVERLINE_STYLE
Definition: xmltypes.hxx:275
PropertyHandler for the XML-data-type:
Definition: shdwdhdl.hxx:27
#define XML_TYPE_LINE_SPACE_FIXED
Definition: xmltypes.hxx:188
#define XML_TYPE_NUMBER8_NO_ZERO
Definition: xmltypes.hxx:268
#define XML_TYPE_TEXT_UNDERLINE_WIDTH
Definition: xmltypes.hxx:258
#define XML_TYPE_TEXT_CROSSEDOUT_TYPE
Definition: xmltypes.hxx:259
PropertyHandler for the XML-data-type:
Definition: lspachdl.hxx:27
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:261
#define XML_TYPE_NUMBER16_AUTO
Definition: xmltypes.hxx:270
#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:282
#define XML_TYPE_TEXT_WRITING_MODE_WITH_DEFAULT
Definition: xmltypes.hxx:251
#define XML_TYPE_MEASURE16
Definition: xmltypes.hxx:128
#define XML_TYPE_TEXT_CASEMAP
Definition: xmltypes.hxx:165
#define XML_TYPE_TEXT_VERTICAL_POS
Definition: xmltypes.hxx:210
PropertyHandler for the XML-data-type:
Definition: weighhdl.hxx:27
PropertyHandler for the XML-data-type: XML_TYPE_NEG_PERCENT.
Definition: xmlbahdl.hxx:107
PropertyHandler for the XML-data-type:
#define XML_TYPE_RECTANGLE_HEIGHT
Definition: xmltypes.hxx:162
PropertyHandler for the XML-data-type:
Definition: postuhdl.hxx:27
#define XML_TYPE_LINE_SPACE_DISTANCE
Definition: xmltypes.hxx:190
PropertyHandler for the XML-data-type:
Definition: fonthdl.hxx:27
#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:184
PropertyHandler for the XML-data-type:
Definition: adjushdl.hxx:27
PropertyHandler for the XML-data-type: XML_TYPE_STRING.
Definition: xmlbahdl.hxx:181
PropertyHandler for the XML-data-type:
Definition: fonthdl.hxx:51
std::unique_ptr< Impl > mpImpl
Definition: prhdlfac.hxx:42
#define XML_TYPE_BOOL_FALSE
Definition: xmltypes.hxx:279
#define XML_TYPE_TEXT_KERNING
Definition: xmltypes.hxx:170
PropertyHandler for the XML-data-type:
Definition: undlihdl.hxx:27
PropertyHandler for the XML-data-type: XML_TYPE_NUMBER16_AUTO Reads/writes numeric properties with sp...
#define XML_TYPE_TEXT_ESCAPEMENT
Definition: xmltypes.hxx:182
PropertyHandler for the XML-data-type: XML_TYPE_PERCENT.
Definition: xmlbahdl.hxx:121
Abstract base-class for different XML-types.
PropertyHandler for the XML-data-type: XML_TYPE_NBOOL.
Definition: xmlbahdl.hxx:217
#define XML_TYPE_TEXT_OVERLINE_COLOR
Definition: xmltypes.hxx:277
#define XML_TYPE_TEXT_SPLIT
Definition: xmltypes.hxx:175
PropertyHandler for the XML-data-type: XML_TYPE_NUMBER.
Definition: xmlbahdl.hxx:29
#define XML_TYPE_ATTRIBUTE_CONTAINER
Definition: xmltypes.hxx:219
#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:27
#define XML_TYPE_TEXT_ADJUST
Definition: xmltypes.hxx:179
#define XML_TYPE_TEXT_BREAKBEFORE
Definition: xmltypes.hxx:176
#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:183
PropertyHandler for the XML-data-type: XML_TYPE_COLORISAUTO.
Definition: xmlbahdl.hxx:274
PropertyHandler for the XML-data-type: XML_TYPE_NUMBER_NONE.
Definition: xmlbahdl.hxx:44
#define XML_TYPE_TEXT_FONTFAMILY
Definition: xmltypes.hxx:167
#define XML_TYPE_TEXT_DRAW_ASPECT
Definition: xmltypes.hxx:246
#define XML_TYPE_NUMBER16
Definition: xmltypes.hxx:136
#define XML_TYPE_TEXT_BOOLCROSSEDOUT
Definition: xmltypes.hxx:195
#define XML_TYPE_HEX
Definition: xmltypes.hxx:155
#define XML_TYPE_CHAR_HEIGHT_DIFF
Definition: xmltypes.hxx:220
std::map< sal_Int32, const XMLPropertyHandler * > CacheMap
Definition: prhdlfac.cxx:121
#define XML_TYPE_TEXT_HORIZONTAL_ADJUST
Definition: xmltypes.hxx:240
PropertyHandler for properties that cannot make use of importXML and exportXML methods, but can make use of the default comparison.
Definition: xmlbahdl.hxx:289
#define XML_TYPE_TEXT_FONTPITCH
Definition: xmltypes.hxx:169
#define XML_TYPE_TEXT_WRITING_MODE
Definition: xmltypes.hxx:250
#define XML_TYPE_NEG_PERCENT8
Definition: xmltypes.hxx:152
#define XML_TYPE_RECTANGLE_WIDTH
Definition: xmltypes.hxx:161
Map an XMLTokenEnum to an enum value.
Definition: ximpshap.hxx:39
#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:27
SvXMLEnumMapEntry< sal_uInt16 > const pXML_VertPos_Enum[]
Definition: prhdlfac.cxx:105
#define XML_TYPE_TEXT_FONTENCODING
Definition: xmltypes.hxx:168
PropertyHandler for the XML-data-type: XML_TYPE_HEX.
Definition: xmlbahdl.hxx:169
#define XML_TYPE_NBOOL
Definition: xmltypes.hxx:139
PropertyHandler for the XML-data-type: XML_TYPE_DOUBLE.
Definition: xmlbahdl.hxx:205
#define SAL_WARN_IF(condition, area, stream)
PropertyHandler for the XML-data-type:
Definition: breakhdl.hxx:39
const OUString & GetXMLToken(enum XMLTokenEnum eToken)
return the OUString representation for eToken
Definition: xmltoken.cxx:3510
PropertyHandler for the XML-data-type: XML_TYPE_PERCENT that is mapped on a double from 0...
Definition: xmlbahdl.hxx:89
PropertyHandler for the XML-data-type: XML_TYPE_PERCENT.
Definition: xmlbahdl.hxx:74
#define XML_TYPE_CHAR_HEIGHT_PROP
Definition: xmltypes.hxx:185
#define MID_FLAG_MASK
Definition: xmltypes.hxx:36
PropertyHandler for the XML-data-type: XML_TYPE_BOOL.
Definition: xmlbahdl.hxx:135
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:27
Handling of tokens in XML:
PropertyHandler for the XML-data-type:
Definition: chrhghdl.hxx:27
PropertyHandler for the XML-data-type:
Definition: tabsthdl.hxx:27
PropertyHandler for the XML-data-type:
Definition: breakhdl.hxx:27
PropertyHandler for the XML-data-type: XML_TYPE_COLORTRANSPARENT.
Definition: xmlbahdl.hxx:229
PropertyHandler for the XML-data-type:
Definition: kernihdl.hxx:27
#define XML_TYPE_MEASURE
Definition: xmltypes.hxx:126
PropertyHandler for the XML-data-type: XML_TYPE_COLOR.
Definition: xmlbahdl.hxx:157
PropertyHandler for the XML-data-type:
#define XML_TYPE_TEXT_TABSTOP
Definition: xmltypes.hxx:194
#define XML_TYPE_TEXT_CROSSEDOUT_TEXT
Definition: xmltypes.hxx:261
#define XML_TYPE_PERCENT100
Definition: xmltypes.hxx:156
PropertyHandler for the XML-data-type:
Definition: chrlohdl.hxx:27
#define XML_TYPE_COLORTRANSPARENT
Definition: xmltypes.hxx:140
#define XML_TYPE_CHAR_COUNTRY
Definition: xmltypes.hxx:187
#define XML_TYPE_NUMBER16_NO_ZERO
Definition: xmltypes.hxx:269
#define XML_TYPE_TEXT_CROSSEDOUT_STYLE
Definition: xmltypes.hxx:164
#define XML_TYPE_CHAR_LANGUAGE
Definition: xmltypes.hxx:186
#define XML_TYPE_TEXT_WEIGHT
Definition: xmltypes.hxx:174
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:166
#define XML_TYPE_TEXT_ADJUSTLAST
Definition: xmltypes.hxx:180
#define XML_TYPE_TEXT_CROSSEDOUT_WIDTH
Definition: xmltypes.hxx:260
PropertyHandler for the XML-data-type:
Definition: fonthdl.hxx:39
#define XML_TYPE_NUMBER_NO_ZERO
Definition: xmltypes.hxx:267
#define XML_TYPE_CHAR_SCRIPT
Definition: xmltypes.hxx:281
#define XML_TYPE_TEXT_SHADOWED
Definition: xmltypes.hxx:172
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:193
#define XML_TYPE_TEXT_UNDERLINE_HASCOLOR
Definition: xmltypes.hxx:225
#define XML_TYPE_RECTANGLE_TOP
Definition: xmltypes.hxx:160
#define XML_TYPE_RECTANGLE_LEFT
Definition: xmltypes.hxx:159
Maps between XML percentage and our 100th percent ints.
Definition: xmlbahdl.hxx:96
#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:27
#define XML_TYPE_LINE_SPACE_MINIMUM
Definition: xmltypes.hxx:189