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 },
111 {
XML_TOP, text::VertOrientation::TOP },
112 {
XML_TOP, text::VertOrientation::CHAR_TOP },
113 {
XML_TOP, text::VertOrientation::LINE_TOP },
114 {
XML_MIDDLE, text::VertOrientation::CENTER },
115 {
XML_MIDDLE, text::VertOrientation::CHAR_CENTER },
116 {
XML_MIDDLE, text::VertOrientation::LINE_CENTER },
117 {
XML_BOTTOM, text::VertOrientation::BOTTOM },
118 {
XML_BOTTOM, text::VertOrientation::CHAR_BOTTOM },
119 {
XML_BOTTOM, text::VertOrientation::LINE_BOTTOM },
120 {
XML_BELOW, text::VertOrientation::CHAR_BOTTOM },
124typedef std::map<sal_Int32, const XMLPropertyHandler*>
CacheMap;
136 for(
const auto& rCacheEntry :
mpImpl->maHandlerCache )
137 delete rCacheEntry.second;
144 "GetPropertyHandler called with flags in type" );
154 pRet =
mpImpl->maHandlerCache.find(
nType )->second;
173 return pNewPropHdl.release();
178 std::unique_ptr<XMLPropertyHandler> pPropHdl;
PropertyHandler for the XML-data-type:
Maps between XML percentage and our 100th percent ints.
PropertyHandler for the XML-data-type:
PropertyHandler for the XML-data-type: XML_TYPE_BOOL.
PropertyHandler for the XML-data-type:
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_COLORAUTO.
PropertyHandler for the XML-data-type: XML_TYPE_COLOR.
PropertyHandler for the XML-data-type: XML_TYPE_COLORTRANSPARENT.
PropertyHandler for properties that cannot make use of importXML and exportXML methods,...
Abstract base-class for different XML-types.
PropertyHandler for the XML-data-type:
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_DOUBLE.
PropertyHandler for a sal_int16 duration in ms:
PropertyHandler for a generic xml enumeration type:
PropertyHandler for the XML-data-type:
PropertyHandler for the XML-data-type:
PropertyHandler for the XML-data-type:
PropertyHandler for the XML-data-type:
PropertyHandler for the XML-data-type:
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_HEX.
PropertyHandler for the XML-data-type: XML_TYPE_COLORISAUTO.
PropertyHandler for the XML-data-type: XML_TYPE_ISTRANSPARENT.
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_MEASURE.
PropertyHandler for the XML-data-type: XML_TYPE_PERCENT.
PropertyHandler for the XML-data-type: XML_TYPE_NBOOL.
PropertyHandler for a named xml bool type:
PropertyHandler for the XML-data-type: XML_TYPE_NEG_PERCENT.
PropertyHandler for the XML-data-type: XML_TYPE_NUMBER_NONE.
PropertyHandler for the XML-data-type: XML_TYPE_NUMBER.
PropertyHandler for the XML-data-type: XML_TYPE_NUMBER16_AUTO Reads/writes numeric properties with sp...
PropertyHandler for the XML-data-type: XML_TYPE_NUMBER_NO_ZERO Reads/writes numeric properties,...
PropertyHandler for the XML-data-type:
PropertyHandler for the XML-data-type: XML_TYPE_PERCENT.
PropertyHandler for the XML-data-type:
SAL_DLLPRIVATE const XMLPropertyHandler * GetBasicHandler(sal_Int32 nType) const
Retrieves ( creates if necessary ) PropertyHandler for basic XML-types.
std::unique_ptr< Impl > mpImpl
void PutHdlCache(sal_Int32 nType, const XMLPropertyHandler *pHdl) const
Puts a PropertyHandler into the internal cache.
const XMLPropertyHandler * GetHdlCache(sal_Int32 nType) const
Retrieves a PropertyHandler from the internal cache.
virtual const XMLPropertyHandler * GetPropertyHandler(sal_Int32 nType) const
This method retrieves a PropertyHandler for the given XML-type.
virtual ~XMLPropertyHandlerFactory() override
XMLPropertyHandlerFactory()
static std::unique_ptr< XMLPropertyHandler > CreatePropertyHandler(sal_Int32 nType)
helper method to statically create a property handler; this will not use the handler cache.
Abstract base-class for different XML-types.
Abstract base-class for different XML-types.
PropertyHandler for the XML-data-type:
PropertyHandler for the XML-data-type:
PropertyHandler for the XML-data-type: XML_TYPE_STRING.
PropertyHandler for the XML-data-type: XML_TYPE_STYLENAME.
PropertyHandler for the XML-data-type:
PropertyHandler for the XML-data-type:
#define SAL_WARN_IF(condition, area, stream)
Handling of tokens in XML:
@ XML_AUTO_CREATE_NEW_FRAME
const OUString & GetXMLToken(enum XMLTokenEnum eToken)
return the OUString representation for eToken
SvXMLEnumMapEntry< drawing::ColorMode > const aXML_ColorMode_EnumMap[]
SvXMLEnumMapEntry< text::HorizontalAdjust > const aXML_HorizontalAdjust_Enum[]
SvXMLEnumMapEntry< sal_uInt16 > const pXML_VertPos_Enum[]
SvXMLEnumMapEntry< sal_uInt16 > const aXML_WritingDirection_Enum[]
std::map< sal_Int32, const XMLPropertyHandler * > CacheMap
#define XML_TYPE_CHAR_LANGUAGE
#define XML_TYPE_NUMBER8_NONE
#define XML_TYPE_MEASURE8
#define XML_TYPE_LINE_SPACE_DISTANCE
#define XML_TYPE_RECTANGLE_LEFT
#define XML_TYPE_CHAR_HEIGHT_DIFF
#define XML_TYPE_TEXT_POSTURE
#define XML_TYPE_LINE_SPACE_FIXED
#define XML_TYPE_TEXT_CROSSEDOUT_WIDTH
#define XML_TYPE_NUMBER16
#define XML_TYPE_NEG_PERCENT
#define XML_TYPE_COLORTRANSPARENT
#define XML_TYPE_TEXT_KERNING
#define XML_TYPE_NUMBER16_NO_ZERO
#define XML_TYPE_TEXT_UNDERLINE_STYLE
#define XML_TYPE_TEXT_WEIGHT
#define XML_TYPE_CHAR_HEIGHT_PROP
#define XML_TYPE_TEXT_CROSSEDOUT_TYPE
#define XML_TYPE_TEXT_ESCAPEMENT_HEIGHT
#define XML_TYPE_TEXT_ESCAPEMENT
#define XML_TYPE_LINE_SPACE_MINIMUM
#define XML_TYPE_TEXT_CROSSEDOUT_TEXT
#define XML_TYPE_CHAR_SCRIPT
#define XML_TYPE_TEXT_UNDERLINE_COLOR
#define XML_TYPE_MEASURE16
#define XML_TYPE_TEXT_ADJUST
#define XML_TYPE_TEXT_SHADOW
#define XML_TYPE_BUILDIN_CMP_ONLY
#define XML_TYPE_NUMBER_NO_ZERO
#define XML_TYPE_RECTANGLE_HEIGHT
#define XML_TYPE_TEXT_FONTENCODING
#define XML_TYPE_TEXT_FONTFAMILY
#define XML_TYPE_TEXT_UNDERLINE_HASCOLOR
#define XML_TYPE_STYLENAME
#define XML_TYPE_NEG_PERCENT16
#define XML_TYPE_TEXT_WRITING_MODE
#define XML_TYPE_PERCENT8
#define XML_TYPE_ATTRIBUTE_CONTAINER
#define XML_TYPE_BOOL_FALSE
#define XML_TYPE_TEXT_VERTICAL_POS
#define XML_TYPE_TEXT_FONTPITCH
#define XML_TYPE_TEXT_HIDDEN_AS_DISPLAY
#define XML_TYPE_RECTANGLE_TOP
#define XML_TYPE_TEXT_ADJUSTLAST
#define XML_TYPE_PERCENT16
#define XML_TYPE_TEXT_OVERLINE_TYPE
#define XML_TYPE_CHAR_RFC_LANGUAGE_TAG
#define XML_TYPE_MEASURE_PX
#define XML_TYPE_TEXT_CASEMAP
#define XML_TYPE_TEXT_SHADOWED
#define XML_TYPE_TEXT_OVERLINE_HASCOLOR
#define XML_TYPE_RECTANGLE_WIDTH
#define XML_TYPE_CHAR_COUNTRY
#define XML_TYPE_TEXT_TABSTOP
#define XML_TYPE_TEXT_OVERLINE_WIDTH
#define XML_TYPE_TEXT_HORIZONTAL_ADJUST
#define XML_TYPE_BORDER_WIDTH
#define XML_TYPE_TEXT_BREAKAFTER
#define XML_TYPE_TEXT_BOOLCROSSEDOUT
#define XML_TYPE_TEXT_UNDERLINE_WIDTH
#define XML_TYPE_COLOR_MODE
#define XML_TYPE_CHAR_HEIGHT
#define XML_TYPE_TEXT_OVERLINE_STYLE
#define XML_TYPE_NUMBER_NONE
#define XML_TYPE_DURATION16_MS
#define XML_TYPE_NEG_PERCENT8
#define XML_TYPE_NUMBER16_NONE
#define XML_TYPE_NUMBER16_AUTO
#define XML_TYPE_TEXT_CASEMAP_VAR
#define XML_TYPE_TEXT_FONTFAMILYNAME
#define XML_TYPE_ISAUTOCOLOR
#define XML_TYPE_COLORAUTO
#define XML_TYPE_TEXT_OVERLINE_COLOR
#define XML_TYPE_TEXT_OVERFLOW_BEHAVIOR
#define XML_TYPE_ISTRANSPARENT
#define XML_TYPE_DOUBLE_PERCENT
#define XML_TYPE_TEXT_BREAKBEFORE
#define XML_TYPE_PERCENT100
#define XML_TYPE_TEXT_WRITING_MODE_WITH_DEFAULT
#define XML_TYPE_TEXT_SPLIT
#define XML_TYPE_TEXT_DRAW_ASPECT
#define XML_TYPE_TEXT_CROSSEDOUT_STYLE
#define XML_TYPE_TEXT_UNDERLINE_TYPE
#define XML_TYPE_NUMBER8_NO_ZERO