20#include <com/sun/star/table/BorderLine2.hpp>
24#include <com/sun/star/frame/XModel.hpp>
25#include <com/sun/star/text/SizeType.hpp>
26#include <com/sun/star/text/WrapTextMode.hpp>
27#include <com/sun/star/text/TextContentAnchorType.hpp>
28#include <com/sun/star/awt/FontUnderline.hpp>
29#include <com/sun/star/text/XChapterNumberingSupplier.hpp>
30#include <com/sun/star/beans/XPropertySet.hpp>
52 const ::std::vector< XMLPropertyState > *pProperties,
53 sal_uInt32 nIdx )
const
83 const Any *pPos =
nullptr, *pFilter =
nullptr, *pTrans =
nullptr;
84 sal_uInt32 nPropIndex = rProperty.
mnIndex;
92 ->GetEntryContextId(rFilter.
mnIndex))
103 ->GetEntryContextId(rPos.
mnIndex))
116 ->GetEntryContextId( rTrans.
mnIndex ) )
121 rProperty.
maValue, pPos, pFilter, pTrans,
150 const ::std::vector< XMLPropertyState > *pProperties,
151 sal_uInt32 nIdx )
const
215 bDropWholeWord( false ),
216 maDropCapExport( rExp ),
217 maTabStopExport( rExp ),
218 maTextColumnsExport( rExp ),
219 maComplexColorExport(rExp),
220 maBackgroundImageExport( rExp )
229 bool bEnableFoFontFamily,
237 OUString sFamilyName;
241 rtl_TextEncoding eEnc = RTL_TEXTENCODING_DONTKNOW;
244 if( pFontFamilyNameState && (pFontFamilyNameState->
maValue >>= sTmp ) )
246 if( pFontStyleNameState && (pFontStyleNameState->
maValue >>= sTmp ) )
249 sal_Int16 nTmp = sal_Int16();
250 if( pFontFamilyState && (pFontFamilyState->
maValue >>= nTmp ) )
252 if( pFontPitchState && (pFontPitchState->
maValue >>= nTmp ) )
253 nPitch =
static_cast< FontPitch >( nTmp );
254 if( pFontCharsetState && (pFontCharsetState->
maValue >>= nTmp ) )
255 eEnc =
static_cast<rtl_TextEncoding
>(nTmp);
277 if (pFontFamilyNameState || pFontStyleNameState)
280 sFamilyName, sStyleName, nFamily, nPitch, eEnc ) );
281 if (!
sName.isEmpty())
287 if (!bEnableFoFontFamily)
289 if( pFontFamilyNameState )
290 pFontFamilyNameState->
mnIndex = -1;
291 if( pFontStyleNameState )
292 pFontStyleNameState->
mnIndex = -1;
293 if( pFontFamilyState )
294 pFontFamilyState->
mnIndex = -1;
295 if( pFontPitchState )
297 if( pFontCharsetState )
298 pFontCharsetState->
mnIndex = -1;
307 if( pFontFamilyNameState && sFamilyName.isEmpty() )
309 pFontFamilyNameState->
mnIndex = -1;
312 if( pFontStyleNameState && sStyleName.isEmpty() )
314 pFontStyleNameState->
mnIndex = -1;
323 if( pCharPropHeightState )
326 pCharPropHeightState->
maValue >>= nTemp;
329 pCharPropHeightState->
mnIndex = -1;
330 pCharPropHeightState->
maValue.clear();
334 pCharHeightState->
mnIndex = -1;
335 pCharHeightState->
maValue.clear();
338 if( !pCharDiffHeightState )
342 pCharDiffHeightState->
maValue >>= nTemp;
345 pCharDiffHeightState->
mnIndex = -1;
346 pCharDiffHeightState->
maValue.clear();
350 pCharHeightState->
mnIndex = -1;
351 pCharHeightState->
maValue.clear();
359bool lcl_IsOutlineStyle(
const SvXMLExport&, std::u16string_view);
365 if (!(pState && pRelState))
387void lcl_FilterBorders(
397 if( pAllBorderWidthState )
399 if( pLeftBorderWidthState && pRightBorderWidthState && pTopBorderWidthState && pBottomBorderWidthState )
401 table::BorderLine2 aLeft, aRight, aTop, aBottom;
403 pLeftBorderWidthState->
maValue >>= aLeft;
404 pRightBorderWidthState->
maValue >>= aRight;
405 pTopBorderWidthState->
maValue >>= aTop;
406 pBottomBorderWidthState->
maValue >>= aBottom;
407 if( aLeft.Color == aRight.Color && aLeft.InnerLineWidth == aRight.InnerLineWidth &&
408 aLeft.OuterLineWidth == aRight.OuterLineWidth && aLeft.LineDistance == aRight.LineDistance &&
409 aLeft.LineStyle == aRight.LineStyle &&
410 aLeft.LineWidth == aRight.LineWidth &&
411 aLeft.Color == aTop.Color && aLeft.InnerLineWidth == aTop.InnerLineWidth &&
412 aLeft.OuterLineWidth == aTop.OuterLineWidth && aLeft.LineDistance == aTop.LineDistance &&
413 aLeft.LineStyle == aTop.LineStyle &&
414 aLeft.LineWidth == aTop.LineWidth &&
415 aLeft.Color == aBottom.Color && aLeft.InnerLineWidth == aBottom.InnerLineWidth &&
416 aLeft.OuterLineWidth == aBottom.OuterLineWidth && aLeft.LineDistance == aBottom.LineDistance &&
417 aLeft.LineStyle == aBottom.LineStyle &&
418 aLeft.LineWidth == aBottom.LineWidth )
420 pLeftBorderWidthState->
mnIndex = -1;
421 pLeftBorderWidthState->
maValue.clear();
422 pRightBorderWidthState->
mnIndex = -1;
423 pRightBorderWidthState->
maValue.clear();
424 pTopBorderWidthState->
mnIndex = -1;
425 pTopBorderWidthState->
maValue.clear();
426 pBottomBorderWidthState->
mnIndex = -1;
427 pBottomBorderWidthState->
maValue.clear();
431 pAllBorderWidthState->
mnIndex = -1;
432 pAllBorderWidthState->
maValue.clear();
437 pAllBorderWidthState->
mnIndex = -1;
438 pAllBorderWidthState->
maValue.clear();
442 if( pAllBorderDistanceState )
444 if( pLeftBorderDistanceState && pRightBorderDistanceState && pTopBorderDistanceState && pBottomBorderDistanceState )
446 sal_Int32 aLeft = 0, aRight = 0, aTop = 0, aBottom = 0;
448 pLeftBorderDistanceState->
maValue >>= aLeft;
449 pRightBorderDistanceState->
maValue >>= aRight;
450 pTopBorderDistanceState->
maValue >>= aTop;
451 pBottomBorderDistanceState->
maValue >>= aBottom;
452 if( aLeft == aRight && aLeft == aTop && aLeft == aBottom )
454 pLeftBorderDistanceState->
mnIndex = -1;
455 pLeftBorderDistanceState->
maValue.clear();
456 pRightBorderDistanceState->
mnIndex = -1;
457 pRightBorderDistanceState->
maValue.clear();
458 pTopBorderDistanceState->
mnIndex = -1;
459 pTopBorderDistanceState->
maValue.clear();
460 pBottomBorderDistanceState->
mnIndex = -1;
461 pBottomBorderDistanceState->
maValue.clear();
465 pAllBorderDistanceState->
mnIndex = -1;
466 pAllBorderDistanceState->
maValue.clear();
471 pAllBorderDistanceState->
mnIndex = -1;
472 pAllBorderDistanceState->
maValue.clear();
476 if( !pAllBorderState )
479 if( pLeftBorderState && pRightBorderState && pTopBorderState && pBottomBorderState )
481 table::BorderLine2 aLeft, aRight, aTop, aBottom;
483 pLeftBorderState->
maValue >>= aLeft;
484 pRightBorderState->
maValue >>= aRight;
485 pTopBorderState->
maValue >>= aTop;
486 pBottomBorderState->
maValue >>= aBottom;
487 if( aLeft.Color == aRight.Color && aLeft.InnerLineWidth == aRight.InnerLineWidth &&
488 aLeft.OuterLineWidth == aRight.OuterLineWidth && aLeft.LineDistance == aRight.LineDistance &&
489 aLeft.LineStyle == aRight.LineStyle &&
490 aLeft.LineWidth == aRight.LineWidth &&
491 aLeft.Color == aTop.Color && aLeft.InnerLineWidth == aTop.InnerLineWidth &&
492 aLeft.OuterLineWidth == aTop.OuterLineWidth && aLeft.LineDistance == aTop.LineDistance &&
493 aLeft.LineStyle == aTop.LineStyle &&
494 aLeft.LineWidth == aTop.LineWidth &&
495 aLeft.Color == aBottom.Color && aLeft.InnerLineWidth == aBottom.InnerLineWidth &&
496 aLeft.OuterLineWidth == aBottom.OuterLineWidth && aLeft.LineDistance == aBottom.LineDistance &&
497 aLeft.LineWidth == aBottom.LineWidth &&
498 aLeft.LineStyle == aBottom.LineStyle )
500 pLeftBorderState->
mnIndex = -1;
501 pLeftBorderState->
maValue.clear();
502 pRightBorderState->
mnIndex = -1;
503 pRightBorderState->
maValue.clear();
505 pTopBorderState->
maValue.clear();
506 pBottomBorderState->
mnIndex = -1;
507 pBottomBorderState->
maValue.clear();
512 pAllBorderState->
maValue.clear();
518 pAllBorderState->
maValue.clear();
525 bool bEnableFoFontFamily,
526 ::std::vector< XMLPropertyState >& rProperties,
527 const Reference< XPropertySet >& rPropSet )
const
700 bool bNeedsAnchor =
false;
702 for(
auto& rPropertyState : rProperties )
705 if( propertyState->
mnIndex == -1 )
766 case CTF_SIZETYPE: pSizeTypeState = propertyState;
break;
774 case CTF_WRAP: pWrapState = propertyState;
break;
780 case CTF_HORIZONTALPOS: pHoriOrientState = propertyState; bNeedsAnchor =
true;
break;
782 case CTF_HORIZONTALREL: pHoriOrientRelState = propertyState; bNeedsAnchor =
true;
break;
786 case CTF_VERTICALPOS: pVertOrientState = propertyState; bNeedsAnchor =
true;
break;
788 case CTF_VERTICALREL: pVertOrientRelState = propertyState; bNeedsAnchor =
true;
break;
805 case CTF_FONTNAME: pFontNameState = propertyState;
break;
836 pRepeatOffsetX = propertyState;
840 pRepeatOffsetY = propertyState;
860 if( pRepeatOffsetX && pRepeatOffsetY )
862 sal_Int32 nOffset = 0;
863 if( ( pRepeatOffsetX->
maValue >>= nOffset ) && ( nOffset == 0 ) )
871 pFontStyleNameState, pFontFamilyState,
872 pFontPitchState, pFontCharsetState );
873 if( pFontNameCJKState )
874 ContextFontFilter( bEnableFoFontFamily, pFontNameCJKState, pFontFamilyNameCJKState,
875 pFontStyleNameCJKState, pFontFamilyCJKState,
876 pFontPitchCJKState, pFontCharsetCJKState );
877 if( pFontNameCTLState )
878 ContextFontFilter( bEnableFoFontFamily, pFontNameCTLState, pFontFamilyNameCTLState,
879 pFontStyleNameCTLState, pFontFamilyCTLState,
880 pFontPitchCTLState, pFontCharsetCTLState );
882 if( pCharHeightState && (pCharPropHeightState || pCharDiffHeightState ) )
884 pCharDiffHeightState );
885 if( pCharHeightCJKState &&
886 (pCharPropHeightCJKState || pCharDiffHeightCJKState ) )
888 pCharDiffHeightCJKState );
889 if( pCharHeightCTLState &&
890 (pCharPropHeightCTLState || pCharDiffHeightCTLState ) )
892 pCharDiffHeightCTLState );
893 if( pUnderlineColorState || pUnderlineHasColorState )
895 bool bClear = !pUnderlineState;
898 sal_Int16 nUnderline = 0;
899 pUnderlineState->
maValue >>= nUnderline;
900 bClear = awt::FontUnderline::NONE == nUnderline;
904 if( pUnderlineColorState )
905 pUnderlineColorState->
mnIndex = -1;
906 if( pUnderlineHasColorState )
907 pUnderlineHasColorState->
mnIndex = -1;
911 lcl_checkMultiProperty(pParaLeftMarginState, pParaLeftMarginRelState);
912 lcl_checkMultiProperty(pParaRightMarginState, pParaRightMarginRelState);
913 lcl_checkMultiProperty(pParaTopMarginState, pParaTopMarginRelState);
914 lcl_checkMultiProperty(pParaBottomMarginState, pParaBottomMarginRelState);
915 lcl_checkMultiProperty(pParaFirstLineState, pParaFirstLineRelState);
917 if (pAllParaMarginRel)
919 pAllParaMarginRel->
mnIndex = -1;
920 pAllParaMarginRel->
maValue.clear();
925 pAllParaMargin->
maValue.clear();
934 pAllBorderWidthState, pLeftBorderWidthState, pRightBorderWidthState,
935 pTopBorderWidthState, pBottomBorderWidthState, pAllBorderDistanceState,
936 pLeftBorderDistanceState, pRightBorderDistanceState, pTopBorderDistanceState,
937 pBottomBorderDistanceState, pAllBorderState, pLeftBorderState,
938 pRightBorderState, pTopBorderState, pBottomBorderState);
941 pCharAllBorderWidthState, pCharLeftBorderWidthState, pCharRightBorderWidthState,
942 pCharTopBorderWidthState, pCharBottomBorderWidthState, pCharAllBorderDistanceState,
943 pCharLeftBorderDistanceState, pCharRightBorderDistanceState, pCharTopBorderDistanceState,
944 pCharBottomBorderDistanceState, pCharAllBorderState, pCharLeftBorderState,
945 pCharRightBorderState, pCharTopBorderState, pCharBottomBorderState);
947 sal_Int16 nSizeType = SizeType::FIX;
950 pSizeTypeState->
maValue >>= nSizeType;
954 if( pHeightMinAbsState )
956 sal_Int16 nRel = sal_Int16();
957 if( (SizeType::FIX == nSizeType) ||
958 ( pHeightMinRelState &&
959 ( !(pHeightMinRelState->
maValue >>= nRel) || nRel > 0 ) ) )
961 pHeightMinAbsState->
mnIndex = -1;
965 if( SizeType::VARIABLE == nSizeType )
966 pHeightMinAbsState->
maValue <<=
static_cast<sal_Int32
>( 0 );
968 if( pHeightMinRelState && SizeType::MIN != nSizeType)
969 pHeightMinRelState->
mnIndex = -1;
970 if( pHeightAbsState && pHeightMinAbsState &&
971 -1 != pHeightMinAbsState->
mnIndex )
973 if( pHeightRelState && SizeType::FIX != nSizeType)
977 nSizeType = SizeType::FIX;
978 if( pWidthTypeState )
980 pWidthTypeState->
maValue >>= nSizeType;
983 if( pWidthMinAbsState )
985 sal_Int16 nRel = sal_Int16();
986 if( (SizeType::FIX == nSizeType) ||
987 ( pWidthMinRelState &&
988 ( !(pWidthMinRelState->
maValue >>= nRel) || nRel > 0 ) ) )
990 pWidthMinAbsState->
mnIndex = -1;
994 if( SizeType::VARIABLE == nSizeType )
995 pWidthMinAbsState->
maValue <<=
static_cast<sal_Int32
>( 0 );
997 if( pWidthMinRelState && SizeType::MIN != nSizeType)
998 pWidthMinRelState->
mnIndex = -1;
999 if( pWidthAbsState && pWidthMinAbsState &&
1000 -1 != pWidthMinAbsState->
mnIndex )
1002 if( pWidthRelState && SizeType::FIX != nSizeType)
1011 case WrapTextMode_NONE:
1013 if( pWrapParagraphOnlyState )
1014 pWrapParagraphOnlyState->
mnIndex = -1;
1016 case WrapTextMode_THROUGH:
1018 if( pWrapContourState )
1019 pWrapContourState->
mnIndex = -1;
1024 if( pWrapContourModeState &&
1025 (!pWrapContourState ||
1026 !*o3tl::doAccess<bool>(pWrapContourState ->
maValue) ) )
1027 pWrapContourModeState->
mnIndex = -1;
1030 TextContentAnchorType eAnchor = TextContentAnchorType_AT_PARAGRAPH;
1031 if( pAnchorTypeState )
1032 pAnchorTypeState->
maValue >>= eAnchor;
1033 else if( bNeedsAnchor )
1035 Any aAny = rPropSet->getPropertyValue(
"AnchorType");
1041 if( pHoriOrientState && pHoriOrientMirroredState )
1043 if( pHoriOrientMirrorState &&
1044 *o3tl::doAccess<bool>(pHoriOrientMirrorState->
maValue) )
1045 pHoriOrientState->
mnIndex = -1;
1047 pHoriOrientMirroredState->
mnIndex = -1;
1049 if( pHoriOrientMirrorState )
1050 pHoriOrientMirrorState->
mnIndex = -1;
1052 if( pHoriOrientRelState && TextContentAnchorType_AT_FRAME == eAnchor )
1053 pHoriOrientRelState->
mnIndex = -1;
1054 if( pHoriOrientRelFrameState && TextContentAnchorType_AT_FRAME != eAnchor )
1055 pHoriOrientRelFrameState->
mnIndex = -1;
1058 sal_Int16 nRelWidth = 0;
1059 rPropSet->getPropertyValue(
"RelativeWidth") >>= nRelWidth;
1064 if( pVertOrientState && TextContentAnchorType_AT_CHARACTER == eAnchor )
1065 pVertOrientState->
mnIndex = -1;
1066 if( pVertOrientAtCharState && TextContentAnchorType_AT_CHARACTER != eAnchor )
1067 pVertOrientAtCharState->
mnIndex = -1;
1068 if( pVertOrientRelState && TextContentAnchorType_AT_PARAGRAPH != eAnchor &&
1069 TextContentAnchorType_AT_CHARACTER != eAnchor )
1070 pVertOrientRelState->
mnIndex = -1;
1071 if( pVertOrientRelPageState && TextContentAnchorType_AT_PAGE != eAnchor )
1072 pVertOrientRelPageState->
mnIndex = -1;
1073 if( pVertOrientRelFrameState && TextContentAnchorType_AT_FRAME != eAnchor )
1074 pVertOrientRelFrameState->
mnIndex = -1;
1075 if( pVertOrientRelAsCharState && TextContentAnchorType_AS_CHARACTER != eAnchor )
1076 pVertOrientRelAsCharState->
mnIndex = -1;
1079 sal_Int16 nRelHeight = 0;
1080 rPropSet->getPropertyValue(
"RelativeHeight") >>= nRelHeight;
1087 if ( eAnchor != TextContentAnchorType_AS_CHARACTER &&
1093 if ( pShapeHoriOrientState )
1094 pShapeHoriOrientState->
mnIndex = -1;
1095 if ( pShapeHoriOrientMirroredState )
1096 pShapeHoriOrientMirroredState->
mnIndex = -1;
1097 if ( pShapeHoriOrientRelState )
1098 pShapeHoriOrientRelState->
mnIndex = -1;
1099 if ( pShapeHoriOrientRelFrameState )
1100 pShapeHoriOrientRelFrameState->
mnIndex = -1;
1101 if ( pShapeHoriOrientMirrorState )
1102 pShapeHoriOrientMirrorState->
mnIndex = -1;
1103 if ( pShapeVertOrientState )
1104 pShapeVertOrientState->
mnIndex = -1;
1105 if ( pShapeVertOrientAtCharState )
1106 pShapeVertOrientAtCharState->
mnIndex = -1;
1107 if ( pShapeVertOrientRelState )
1108 pShapeVertOrientRelState->
mnIndex = -1;
1109 if ( pShapeVertOrientRelPageState )
1110 pShapeVertOrientRelPageState->
mnIndex = -1;
1111 if ( pShapeVertOrientRelFrameState )
1112 pShapeVertOrientRelFrameState->
mnIndex = -1;
1117 if( pShapeHoriOrientState && pShapeHoriOrientMirroredState )
1119 if( pShapeHoriOrientMirrorState &&
1120 *o3tl::doAccess<bool>(pShapeHoriOrientMirrorState->
maValue) )
1121 pShapeHoriOrientState->
mnIndex = -1;
1123 pShapeHoriOrientMirroredState->
mnIndex = -1;
1125 if( pShapeHoriOrientMirrorState )
1126 pShapeHoriOrientMirrorState->
mnIndex = -1;
1128 if( pShapeHoriOrientRelState && TextContentAnchorType_AT_FRAME == eAnchor )
1129 pShapeHoriOrientRelState->
mnIndex = -1;
1130 if( pShapeHoriOrientRelFrameState && TextContentAnchorType_AT_FRAME != eAnchor )
1131 pShapeHoriOrientRelFrameState->
mnIndex = -1;
1133 if( pShapeVertOrientState && TextContentAnchorType_AT_CHARACTER == eAnchor )
1134 pShapeVertOrientState->
mnIndex = -1;
1135 if( pShapeVertOrientAtCharState && TextContentAnchorType_AT_CHARACTER != eAnchor )
1136 pShapeVertOrientAtCharState->
mnIndex = -1;
1137 if( pShapeVertOrientRelState && TextContentAnchorType_AT_PARAGRAPH != eAnchor &&
1138 TextContentAnchorType_AT_CHARACTER != eAnchor )
1139 pShapeVertOrientRelState->
mnIndex = -1;
1140 if( pShapeVertOrientRelPageState && TextContentAnchorType_AT_PAGE != eAnchor )
1141 pShapeVertOrientRelPageState->
mnIndex = -1;
1142 if( pShapeVertOrientRelFrameState && TextContentAnchorType_AT_FRAME != eAnchor )
1143 pShapeVertOrientRelFrameState->
mnIndex = -1;
1147 if( pListStyleName !=
nullptr )
1149 OUString sListStyleName;
1150 pListStyleName->
maValue >>= sListStyleName;
1151 if( lcl_IsOutlineStyle(
GetExport(), sListStyleName ) )
1155 if( pClipState !=
nullptr && pClip11State !=
nullptr )
1162 pCharHighlight->
maValue >>= nColor;
1170 else if(pCharBackground)
1172 assert(pCharBackgroundTransparency);
1173 pCharBackground->
mnIndex = -1;
1174 pCharBackgroundTransparency->
mnIndex = -1;
1183bool lcl_IsOutlineStyle(
const SvXMLExport &rExport, std::u16string_view rName)
1185 Reference< XChapterNumberingSupplier >
1186 xCNSupplier(rExport.
GetModel(), UNO_QUERY);
1188 OUString sOutlineName;
1190 if (xCNSupplier.is())
1192 Reference<XPropertySet> xNumRule(
1193 xCNSupplier->getChapterNumberingRules(), UNO_QUERY );
1194 SAL_WARN_IF( !xNumRule.is(),
"xmloff",
"no chapter numbering rules" );
1197 xNumRule->getPropertyValue(
"Name") >>= sOutlineName;
1201 return rName == sOutlineName;
virtual void handleElementItem(SvXMLExport &rExport, const XMLPropertyState &rProperty, SvXmlExportFlags nFlags, const ::std::vector< XMLPropertyState > *pProperties, sal_uInt32 nIdx) const
this method is called for every item that has the MID_FLAG_ELEMENT_EXPORT flag set
virtual void handleSpecialItem(comphelper::AttributeList &rAttrList, const XMLPropertyState &rProperty, const SvXMLUnitConverter &rUnitConverter, const SvXMLNamespaceMap &rNamespaceMap, const ::std::vector< XMLPropertyState > *pProperties, sal_uInt32 nIdx) const
this method is called for every item that has the MID_FLAG_SPECIAL_ITEM_EXPORT flag set
virtual void ContextFilter(bool bEnableFoFontFamily, ::std::vector< XMLPropertyState > &rProperties, const css::uno::Reference< css::beans::XPropertySet > &rPropSet) const
Application-specific filter.
const rtl::Reference< XMLPropertySetMapper > & getPropertySetMapper() const
const css::uno::Reference< css::frame::XModel > & GetModel() const
SvtSaveOptions::ODFSaneDefaultVersion getSaneDefaultVersion() const
returns the deterministic version for odf export
OUString GetQNameByKey(sal_uInt16 nKey, const OUString &rLocalName, bool bCache=true) const
the SvXMLTypeConverter converts values of various types from their internal representation to the tex...
void Export(const css::uno::Any &rAny)
void exportXML(const css::uno::Any &rURL, const css::uno::Any *pPos, const css::uno::Any *pFilter, const css::uno::Any *pTransparency, sal_uInt16 nPrefix, const OUString &rLocalName)
void exportXML(const css::uno::Any &rAny, sal_uInt16 nPrefix, const OUString &rLocalName)
PropertyHandler for the XML-data-type: XML_TYPE_NUMBER16_AUTO Reads/writes numeric properties with sp...
virtual bool exportXML(OUString &rStrExpValue, const css::uno::Any &rValue, const SvXMLUnitConverter &rUnitConverter) const override
Exports the given value according to the XML-data-type corresponding to the derived class.
void exportXML(const css::uno::Any &rAny)
void exportXML(const css::uno::Any &rAny, bool bWholeWord, const OUString &rStyleName)
XMLTextExportPropertySetMapper(const rtl::Reference< XMLPropertySetMapper > &rMapper, SvXMLExport &rExt)
virtual void ContextFilter(bool bEnableFoFontFamily, ::std::vector< XMLPropertyState > &rProperties, const css::uno::Reference< css::beans::XPropertySet > &rPropSet) const override
Application-specific filter.
XMLTextColumnsExport maTextColumnsExport
static void ContextFontHeightFilter(XMLPropertyState *pCharHeightState, XMLPropertyState *pCharPropHeightState, XMLPropertyState *pCharDiffHeightState)
SvxXMLTabStopExport maTabStopExport
XMLTextDropCapExport maDropCapExport
XMLBackgroundImageExport maBackgroundImageExport
XMLComplexColorExport maComplexColorExport
const SvXMLExport & GetExport() const
virtual void handleSpecialItem(comphelper::AttributeList &rAttrList, const XMLPropertyState &rProperty, const SvXMLUnitConverter &rUnitConverter, const SvXMLNamespaceMap &rNamespaceMap, const ::std::vector< XMLPropertyState > *pProperties, sal_uInt32 nIdx) const override
this method is called for every item that has the MID_FLAG_SPECIAL_ITEM_EXPORT flag set
void ContextFontFilter(bool bEnableFoFontFamily, XMLPropertyState *pFontNameState, XMLPropertyState *pFontFamilyNameState, XMLPropertyState *pFontStyleNameState, XMLPropertyState *pFontFamilyState, XMLPropertyState *pFontPitchState, XMLPropertyState *pFontCharsetState) const
virtual ~XMLTextExportPropertySetMapper() override
virtual void handleElementItem(SvXMLExport &rExport, const XMLPropertyState &rProperty, SvXmlExportFlags nFlags, const ::std::vector< XMLPropertyState > *pProperties, sal_uInt32 nIdx) const override
this method is called for every item that has the MID_FLAG_ELEMENT_EXPORT flag set
void AddAttribute(const OUString &sName, const OUString &sValue)
constexpr ::Color COL_TRANSPARENT(ColorTransparency, 0xFF, 0xFF, 0xFF, 0xFF)
#define SAL_WARN_IF(condition, area, stream)
Smart struct to transport an Any with an index to the appropriate property-name.
#define CTF_PARAMARGINALL_REL
#define CTF_SECTION_ENDNOTE_NUM_SUFFIX
#define CTF_SHAPE_HORIZONTALPOS_MIRRORED
#define CTF_LEFTBORDERWIDTH
#define CTF_SECTION_ENDNOTE_NUM_RESTART_AT
#define CTF_CHARLEFTBORDERWIDTH
#define CTF_SECTION_FOOTNOTE_NUM_SUFFIX
#define CTF_DROPCAPCHARSTYLE
#define CTF_VERTICALREL_ASCHAR
#define CTF_BACKGROUND_POS
#define CTF_SHAPE_VERTICALPOS_ATCHAR
#define CTF_BACKGROUND_FILTER
#define CTF_PARABOTTOMMARGIN_REL
#define CTF_HORIZONTALPOS
#define CTF_DROPCAPFORMAT
#define CTF_PARALEFTMARGIN
#define CTF_PARATOPMARGIN_REL
#define CTF_WRAP_CONTOUR_MODE
#define CTF_FONTSTYLENAME_CTL
#define CTF_CHARRIGHTBORDERWIDTH
#define CTF_BOTTOMBORDERDISTANCE
#define CTF_CHARTOPBORDERWIDTH
#define CTF_CHAR_HIGHLIGHT
#define CTF_FONTFAMILYNAME
#define CTF_ALLBORDERWIDTH
#define CTF_PARATOPMARGIN
#define CTF_CHARBOTTOMBORDER
#define CTF_UNDERLINE_HASCOLOR
#define CTF_OLDTEXTBACKGROUND
#define CTF_SHAPE_VERTICALREL_PAGE
#define CTF_NUMBERINGSTYLENAME
#define CTF_PARAFIRSTLINE_REL
#define CTF_HORIZONTALREL_FRAME
#define CTF_CHARALLBORDERDISTANCE
#define CTF_SHAPE_HORIZONTALMIRROR
#define CTF_PARARIGHTMARGIN
#define CTF_TOPBORDERDISTANCE
#define CTF_VERTICALPOS_ATCHAR
#define CTF_SHAPE_HORIZONTALREL_FRAME
#define CTF_SHAPE_HORIZONTALREL
#define CTF_FRAMEHEIGHT_MIN_REL
#define CTF_CHARTOPBORDER
#define CTF_CHARBOTTOMBORDERDISTANCE
#define CTF_FONTFAMILY_CTL
#define CTF_CHARHEIGHT_CTL
#define CTF_SECTION_FOOTNOTE_NUM_OWN
#define CTF_PARAMARGINALL
#define CTF_COMPLEX_COLOR
#define CTF_RIGHTBORDERDISTANCE
#define CTF_CHARALLBORDER
#define CTF_HORIZONTALREL
#define CTF_CHARHEIGHT_DIFF_CJK
#define CTF_FONTFAMILYNAME_CJK
#define CTF_SHAPE_VERTICALREL
#define CTF_CHARTOPBORDERDISTANCE
#define CTF_SECTION_ENDNOTE_NUM_OWN
#define CTF_FRAMEWIDTH_MIN_REL
#define CTF_RIGHTBORDERWIDTH
#define CTF_CHARHEIGHT_REL_CJK
#define CTF_BACKGROUND_URL
#define CTF_VERTICALREL_FRAME
#define CTF_CHARRIGHTBORDER
#define CTF_FONTFAMILYNAME_CTL
#define CTF_CHAR_BACKGROUND
#define CTF_FRAMEWIDTH_MIN_ABS
#define CTF_SHAPE_VERTICALREL_FRAME
#define CTF_FONTSTYLENAME_CJK
#define CTF_HORIZONTALPOS_MIRRORED
#define CTF_SECTION_ENDNOTE_NUM_RESTART
#define CTF_SECTION_FOOTNOTE_NUM_RESTART_AT
#define CTF_UNDERLINE_COLOR
#define CTF_FRAMEWIDTH_ABS
#define CTF_PARABOTTOMMARGIN
#define CTF_PARARIGHTMARGIN_REL
#define CTF_CHARLEFTBORDER
#define CTF_FRAMEHEIGHT_MIN_ABS
#define CTF_SECTION_ENDNOTE_END
#define CTF_FRAMEWIDTH_REL
#define CTF_TOPBORDERWIDTH
#define CTF_SHAPE_HORIZONTALPOS
#define CTF_FONTSTYLENAME
#define CTF_LEFTBORDERDISTANCE
#define CTF_CHARRIGHTBORDERDISTANCE
#define CTF_CHARHEIGHT_CJK
#define CTF_FONTPITCH_CJK
#define CTF_FONTCHARSET_CJK
#define CTF_CHARHEIGHT_REL
#define CTF_SECTION_ENDNOTE_NUM_TYPE
#define CTF_HORIZONTALMIRROR
#define CTF_FONTCHARSET_CTL
#define CTF_ALLBORDERDISTANCE
#define CTF_FRAMEHEIGHT_ABS
#define CTF_CHAR_BACKGROUND_TRANSPARENCY
#define CTF_BACKGROUND_TRANSPARENCY
#define CTF_FRAMEHEIGHT_REL
#define CTF_SECTION_FOOTNOTE_NUM_TYPE
#define CTF_SECTION_ENDNOTE_NUM_PREFIX
#define CTF_CHARHEIGHT_REL_CTL
#define CTF_WRAP_PARAGRAPH_ONLY
#define CTF_PAGENUMBEROFFSET
#define CTF_SECTION_FOOTNOTE_END
#define CTF_PARALEFTMARGIN_REL
#define CTF_CHARBOTTOMBORDERWIDTH
#define CTF_DEFAULT_OUTLINE_LEVEL
#define CTF_FONTFAMILY_CJK
#define CTF_FONTPITCH_CTL
#define CTF_SECTION_FOOTNOTE_NUM_PREFIX
#define CTF_CHARALLBORDERWIDTH
#define CTF_CHARLEFTBORDERDISTANCE
#define CTF_DROPCAPWHOLEWORD
#define CTF_CHARHEIGHT_DIFF_CTL
#define CTF_VERTICALREL_PAGE
#define CTF_BOTTOMBORDERWIDTH
#define CTF_SHAPE_VERTICALPOS
#define CTF_FRAMEWIDTH_TYPE
#define CTF_OLD_FLOW_WITH_TEXT
#define CTF_PARAFIRSTLINE
#define CTF_SECTION_FOOTNOTE_NUM_RESTART
#define CTF_CHARHEIGHT_DIFF
#define CTF_FILLBITMAPNAME
#define CTF_FILLGRADIENTNAME
#define CTF_REPEAT_OFFSET_X
#define CTF_FILLTRANSNAME
#define CTF_FILLHATCHNAME
#define CTF_REPEAT_OFFSET_Y