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>
68 {
XML_MONO, drawing::ColorMode_MONO },
76 {
XML_LEFT, text::HorizontalAdjust_LEFT },
78 {
XML_RIGHT, text::HorizontalAdjust_RIGHT },
88 {
XML_PAGE, text::WritingMode2::PAGE },
98 {
XML_LR, text::WritingMode2::LR_TB },
99 {
XML_RL, text::WritingMode2::RL_TB },
100 {
XML_TB, text::WritingMode2::TB_RL },
108 {
XML_TOP, text::VertOrientation::TOP },
109 {
XML_TOP, text::VertOrientation::CHAR_TOP },
110 {
XML_TOP, text::VertOrientation::LINE_TOP },
111 {
XML_MIDDLE, text::VertOrientation::CENTER },
112 {
XML_MIDDLE, text::VertOrientation::CHAR_CENTER },
113 {
XML_MIDDLE, text::VertOrientation::LINE_CENTER },
114 {
XML_BOTTOM, text::VertOrientation::BOTTOM },
115 {
XML_BOTTOM, text::VertOrientation::CHAR_BOTTOM },
116 {
XML_BOTTOM, text::VertOrientation::LINE_BOTTOM },
117 {
XML_BELOW, text::VertOrientation::CHAR_BOTTOM },
121 typedef std::map<sal_Int32, const XMLPropertyHandler*>
CacheMap;
133 for(
const auto& rCacheEntry :
mpImpl->maHandlerCache )
134 delete rCacheEntry.second;
141 "GetPropertyHandler called with flags in type" );
150 if(
mpImpl->maHandlerCache.find( nType ) !=
mpImpl->maHandlerCache.end() )
151 pRet =
mpImpl->maHandlerCache.find( nType )->second;
158 mpImpl->maHandlerCache[nType] = pHdl;
170 return pNewPropHdl.release();
175 std::unique_ptr<XMLPropertyHandler> pPropHdl;
438 &(aXML_WritingDirection_Enum[1]),
443 aXML_WritingDirection_Enum,
#define XML_TYPE_TEXT_HIDDEN_AS_DISPLAY
#define XML_TYPE_TEXT_BREAKAFTER
#define XML_TYPE_TEXT_UNDERLINE_STYLE
PropertyHandler for the XML-data-type: XML_TYPE_ISTRANSPARENT.
#define XML_TYPE_NUMBER_NONE
#define XML_TYPE_MEASURE8
#define XML_TYPE_TEXT_SHADOW
virtual const XMLPropertyHandler * GetPropertyHandler(sal_Int32 nType) const
This method retrieves a PropertyHandler for the given XML-type.
#define XML_TYPE_NUMBER8_NONE
#define XML_TYPE_BUILDIN_CMP_ONLY
#define XML_TYPE_NEG_PERCENT16
PropertyHandler for the XML-data-type:
SvXMLEnumMapEntry< drawing::ColorMode > const aXML_ColorMode_EnumMap[]
#define XML_TYPE_TEXT_OVERLINE_HASCOLOR
PropertyHandler for the XML-data-type:
PropertyHandler for the XML-data-type:
#define XML_TYPE_BORDER_WIDTH
#define XML_TYPE_TEXT_OVERLINE_TYPE
#define XML_TYPE_COLOR_MODE
#define XML_TYPE_ISAUTOCOLOR
PropertyHandler for a sal_int16 duration in ms:
PropertyHandler for the XML-data-type: XML_TYPE_MEASURE.
#define XML_TYPE_TEXT_UNDERLINE_COLOR
#define XML_TYPE_PERCENT16
static std::unique_ptr< XMLPropertyHandler > CreatePropertyHandler(sal_Int32 nType)
helper method to statically create a property handler; this will not use the handler cache...
#define XML_TYPE_TEXT_CASEMAP_VAR
#define XML_TYPE_TEXT_UNDERLINE_TYPE
PropertyHandler for the XML-data-type: XML_TYPE_NUMBER_NO_ZERO Reads/writes numeric properties...
#define XML_TYPE_TEXT_OVERLINE_WIDTH
#define XML_TYPE_TEXT_POSTURE
#define XML_TYPE_TEXT_OVERLINE_STYLE
PropertyHandler for the XML-data-type:
#define XML_TYPE_LINE_SPACE_FIXED
#define XML_TYPE_NUMBER8_NO_ZERO
#define XML_TYPE_TEXT_UNDERLINE_WIDTH
#define XML_TYPE_TEXT_CROSSEDOUT_TYPE
PropertyHandler for the XML-data-type:
PropertyHandler for a named xml bool type:
PropertyHandler for a generic xml enumeration type:
#define XML_TYPE_DURATION16_MS
PropertyHandler for the XML-data-type: XML_TYPE_COLORAUTO.
#define XML_TYPE_NUMBER16_AUTO
#define XML_TYPE_STYLENAME
#define XML_TYPE_DOUBLE_PERCENT
#define XML_TYPE_PERCENT8
#define XML_TYPE_CHAR_RFC_LANGUAGE_TAG
#define XML_TYPE_TEXT_WRITING_MODE_WITH_DEFAULT
#define XML_TYPE_MEASURE16
#define XML_TYPE_TEXT_CASEMAP
#define XML_TYPE_TEXT_VERTICAL_POS
PropertyHandler for the XML-data-type:
PropertyHandler for the XML-data-type: XML_TYPE_NEG_PERCENT.
PropertyHandler for the XML-data-type:
#define XML_TYPE_RECTANGLE_HEIGHT
PropertyHandler for the XML-data-type:
#define XML_TYPE_LINE_SPACE_DISTANCE
PropertyHandler for the XML-data-type:
#define XML_TYPE_COLORAUTO
virtual ~XMLPropertyHandlerFactory() override
SvXMLEnumMapEntry< sal_uInt16 > const aXML_WritingDirection_Enum[]
#define XML_TYPE_CHAR_HEIGHT
PropertyHandler for the XML-data-type:
PropertyHandler for the XML-data-type: XML_TYPE_STRING.
PropertyHandler for the XML-data-type:
std::unique_ptr< Impl > mpImpl
#define XML_TYPE_BOOL_FALSE
#define XML_TYPE_TEXT_KERNING
PropertyHandler for the XML-data-type:
PropertyHandler for the XML-data-type: XML_TYPE_NUMBER16_AUTO Reads/writes numeric properties with sp...
#define XML_TYPE_TEXT_ESCAPEMENT
PropertyHandler for the XML-data-type: XML_TYPE_PERCENT.
Abstract base-class for different XML-types.
PropertyHandler for the XML-data-type: XML_TYPE_NBOOL.
#define XML_TYPE_TEXT_OVERLINE_COLOR
#define XML_TYPE_TEXT_SPLIT
PropertyHandler for the XML-data-type: XML_TYPE_NUMBER.
#define XML_TYPE_ATTRIBUTE_CONTAINER
#define XML_TYPE_NUMBER16_NONE
const XMLPropertyHandler * GetHdlCache(sal_Int32 nType) const
Retrieves a PropertyHandler from the internal cache.
PropertyHandler for the XML-data-type:
#define XML_TYPE_TEXT_ADJUST
#define XML_TYPE_TEXT_BREAKBEFORE
#define XML_TYPE_NEG_PERCENT
#define XML_TYPE_MEASURE_PX
#define XML_TYPE_TEXT_ESCAPEMENT_HEIGHT
PropertyHandler for the XML-data-type: XML_TYPE_COLORISAUTO.
PropertyHandler for the XML-data-type: XML_TYPE_NUMBER_NONE.
#define XML_TYPE_TEXT_FONTFAMILY
#define XML_TYPE_TEXT_DRAW_ASPECT
#define XML_TYPE_NUMBER16
#define XML_TYPE_TEXT_BOOLCROSSEDOUT
#define XML_TYPE_CHAR_HEIGHT_DIFF
std::map< sal_Int32, const XMLPropertyHandler * > CacheMap
#define XML_TYPE_TEXT_HORIZONTAL_ADJUST
PropertyHandler for properties that cannot make use of importXML and exportXML methods, but can make use of the default comparison.
#define XML_TYPE_TEXT_FONTPITCH
#define XML_TYPE_TEXT_WRITING_MODE
#define XML_TYPE_NEG_PERCENT8
#define XML_TYPE_RECTANGLE_WIDTH
Map an XMLTokenEnum to an enum value.
#define XML_TYPE_ISTRANSPARENT
PropertyHandler for the XML-data-type:
SvXMLEnumMapEntry< sal_uInt16 > const pXML_VertPos_Enum[]
#define XML_TYPE_TEXT_FONTENCODING
PropertyHandler for the XML-data-type: XML_TYPE_HEX.
PropertyHandler for the XML-data-type: XML_TYPE_DOUBLE.
#define SAL_WARN_IF(condition, area, stream)
PropertyHandler for the XML-data-type:
const OUString & GetXMLToken(enum XMLTokenEnum eToken)
return the OUString representation for eToken
PropertyHandler for the XML-data-type: XML_TYPE_PERCENT that is mapped on a double from 0...
PropertyHandler for the XML-data-type: XML_TYPE_PERCENT.
#define XML_TYPE_CHAR_HEIGHT_PROP
PropertyHandler for the XML-data-type: XML_TYPE_BOOL.
SAL_DLLPRIVATE const XMLPropertyHandler * GetBasicHandler(sal_Int32 nType) const
Retrieves ( creates if necessary ) PropertyHandler for basic XML-types.
PropertyHandler for the XML-data-type:
Handling of tokens in XML:
PropertyHandler for the XML-data-type:
PropertyHandler for the XML-data-type:
PropertyHandler for the XML-data-type:
PropertyHandler for the XML-data-type: XML_TYPE_COLORTRANSPARENT.
PropertyHandler for the XML-data-type:
XMLPropertyHandlerFactory()
PropertyHandler for the XML-data-type: XML_TYPE_COLOR.
PropertyHandler for the XML-data-type:
#define XML_TYPE_TEXT_TABSTOP
#define XML_TYPE_TEXT_CROSSEDOUT_TEXT
#define XML_TYPE_PERCENT100
PropertyHandler for the XML-data-type:
#define XML_TYPE_COLORTRANSPARENT
#define XML_TYPE_CHAR_COUNTRY
#define XML_TYPE_NUMBER16_NO_ZERO
#define XML_TYPE_TEXT_CROSSEDOUT_STYLE
#define XML_TYPE_CHAR_LANGUAGE
#define XML_TYPE_TEXT_WEIGHT
Abstract base-class for different XML-types.
#define XML_TYPE_TEXT_FONTFAMILYNAME
#define XML_TYPE_TEXT_ADJUSTLAST
#define XML_TYPE_TEXT_CROSSEDOUT_WIDTH
PropertyHandler for the XML-data-type:
#define XML_TYPE_NUMBER_NO_ZERO
#define XML_TYPE_CHAR_SCRIPT
#define XML_TYPE_TEXT_SHADOWED
SvXMLEnumMapEntry< text::HorizontalAdjust > const aXML_HorizontalAdjust_Enum[]
Abstract base-class for different XML-types.
PropertyHandler for the XML-data-type: XML_TYPE_STYLENAME.
#define XML_TYPE_TEXT_UNDERLINE_HASCOLOR
#define XML_TYPE_RECTANGLE_TOP
#define XML_TYPE_RECTANGLE_LEFT
Maps between XML percentage and our 100th percent ints.
void PutHdlCache(sal_Int32 nType, const XMLPropertyHandler *pHdl) const
Puts a PropertyHandler into the internal cache.
PropertyHandler for the XML-data-type:
#define XML_TYPE_LINE_SPACE_MINIMUM