24#include <unonames.hxx>
37#include <com/sun/star/util/CellProtection.hpp>
38#include <com/sun/star/table/CellOrientation.hpp>
39#include <com/sun/star/table/CellVertJustify2.hpp>
40#include <com/sun/star/table/CellHoriJustify.hpp>
41#include <com/sun/star/table/CellJustifyMethod.hpp>
42#include <com/sun/star/table/BorderLine2.hpp>
43#include <com/sun/star/util/XComplexColor.hpp>
44#include <com/sun/star/sheet/XSheetConditionalEntry.hpp>
45#include <com/sun/star/sheet/XSheetCondition.hpp>
46#include <com/sun/star/beans/XPropertySet.hpp>
47#include <com/sun/star/container/XIndexAccess.hpp>
50#include <rtl/ustrbuf.hxx>
51#include <osl/diagnose.h>
57#define MAP(name,prefix,token,type,context) { name, prefix, token, type, context, SvtSaveOptions::ODFSVER_010, false }
58#define MAP_ODF13(name,prefix,token,type,context) { name, prefix, token, type, context, SvtSaveOptions::ODFSVER_013, false }
60#define MAP_EXT(name,prefix,token,type,context) { name, prefix, token, type, context, SvtSaveOptions::ODFSVER_FUTURE_EXTENDED, false }
62#define MAP_EXT_I(name,prefix,token,type,context) { name, prefix, token, type, context, SvtSaveOptions::ODFSVER_FUTURE_EXTENDED, true }
63#define MAP_END() { nullptr }
201 bool bEnableFoFontFamily,
202 ::std::vector< XMLPropertyState >& rProperties,
203 const uno::Reference< beans::XPropertySet >& rPropSet )
const
247 for(
auto& rProperty : rProperties )
250 if (propertyState->
mnIndex != -1)
297 if (pPadding && pPadding_Bottom && pPadding_Left && pPadding_Right && pPadding_Top)
299 sal_Int32 nBottom = 0, nTop = 0, nLeft = 0, nRight = 0;
300 if ((pPadding_Bottom->
maValue >>= nBottom) &&
301 (pPadding_Left->
maValue >>= nLeft) &&
302 (pPadding_Right->
maValue >>= nRight) &&
303 (pPadding_Top->
maValue >>= nTop))
305 if ((nBottom == nTop) && (nLeft == nRight) && (nTop == nLeft))
308 pPadding_Bottom->
maValue.clear();
310 pPadding_Left->
maValue.clear();
312 pPadding_Right->
maValue.clear();
325 if( pBorder_Left && pBorder_Right && pBorder_Top && pBorder_Bottom )
327 table::BorderLine2 aLeft, aRight, aTop, aBottom;
329 pBorder_Left->
maValue >>= aLeft;
330 pBorder_Right->
maValue >>= aRight;
332 pBorder_Bottom->
maValue >>= aBottom;
333 if( aLeft.Color == aRight.Color && aLeft.InnerLineWidth == aRight.InnerLineWidth &&
334 aLeft.OuterLineWidth == aRight.OuterLineWidth && aLeft.LineDistance == aRight.LineDistance &&
335 aLeft.Color == aTop.Color && aLeft.InnerLineWidth == aTop.InnerLineWidth &&
336 aLeft.OuterLineWidth == aTop.OuterLineWidth && aLeft.LineDistance == aTop.LineDistance &&
337 aLeft.Color == aBottom.Color && aLeft.InnerLineWidth == aBottom.InnerLineWidth &&
338 aLeft.OuterLineWidth == aBottom.OuterLineWidth && aLeft.LineDistance == aBottom.LineDistance &&
339 aLeft.LineStyle == aRight.LineStyle && aLeft.LineStyle == aTop.LineStyle &&
340 aLeft.LineStyle == aBottom.LineStyle && aLeft.LineWidth == aRight.LineWidth &&
341 aLeft.LineWidth == aTop.LineWidth && aLeft.LineWidth == aBottom.LineWidth )
346 pBorder_Right->
maValue.clear();
350 pBorder_Bottom->
maValue.clear();
364 if( pAllBorderWidthState )
366 if( pLeftBorderWidthState && pRightBorderWidthState && pTopBorderWidthState && pBottomBorderWidthState )
368 table::BorderLine2 aLeft, aRight, aTop, aBottom;
370 pLeftBorderWidthState->
maValue >>= aLeft;
371 pRightBorderWidthState->
maValue >>= aRight;
372 pTopBorderWidthState->
maValue >>= aTop;
373 pBottomBorderWidthState->
maValue >>= aBottom;
374 if( aLeft.InnerLineWidth == aRight.InnerLineWidth && aLeft.OuterLineWidth == aRight.OuterLineWidth &&
375 aLeft.LineDistance == aRight.LineDistance && aLeft.InnerLineWidth == aTop.InnerLineWidth &&
376 aLeft.OuterLineWidth == aTop.OuterLineWidth && aLeft.LineDistance == aTop.LineDistance &&
377 aLeft.InnerLineWidth == aBottom.InnerLineWidth && aLeft.OuterLineWidth == aBottom.OuterLineWidth &&
378 aLeft.LineDistance == aBottom.LineDistance && aLeft.LineWidth == aRight.LineWidth &&
379 aLeft.LineWidth == aTop.LineWidth && aLeft.LineWidth == aBottom.LineWidth )
381 pLeftBorderWidthState->
mnIndex = -1;
382 pLeftBorderWidthState->
maValue.clear();
383 pRightBorderWidthState->
mnIndex = -1;
384 pRightBorderWidthState->
maValue.clear();
385 pTopBorderWidthState->
mnIndex = -1;
386 pTopBorderWidthState->
maValue.clear();
387 pBottomBorderWidthState->
mnIndex = -1;
388 pBottomBorderWidthState->
maValue.clear();
392 pAllBorderWidthState->
mnIndex = -1;
393 pAllBorderWidthState->
maValue.clear();
398 pAllBorderWidthState->
mnIndex = -1;
399 pAllBorderWidthState->
maValue.clear();
411 pParaAdjustLast->
maValue.clear();
421 pSWBorder_Left->
maValue.clear();
426 pSWBorder_Right->
maValue.clear();
428 if (pSWBorder_Bottom)
430 pSWBorder_Bottom->
mnIndex = -1;
431 pSWBorder_Bottom->
maValue.clear();
436 pSWBorder_Top->
maValue.clear();
438 if (pSWAllBorderWidthState)
440 pSWAllBorderWidthState->
mnIndex = -1;
441 pSWAllBorderWidthState->
maValue.clear();
443 if (pSWLeftBorderWidthState)
445 pSWLeftBorderWidthState->
mnIndex = -1;
446 pSWLeftBorderWidthState->
maValue.clear();
448 if (pSWRightBorderWidthState)
450 pSWRightBorderWidthState->
mnIndex = -1;
451 pSWRightBorderWidthState->
maValue.clear();
453 if (pSWTopBorderWidthState)
455 pSWTopBorderWidthState->
mnIndex = -1;
456 pSWTopBorderWidthState->
maValue.clear();
458 if (pSWBottomBorderWidthState)
460 pSWBottomBorderWidthState->
mnIndex = -1;
461 pSWBottomBorderWidthState->
maValue.clear();
467 pParaMarginLeft->
maValue.clear();
469 if (pParaMarginLeftRel)
471 pParaMarginLeftRel->
mnIndex = -1;
472 pParaMarginLeftRel->
maValue.clear();
474 if (pParaMarginRight)
476 pParaMarginRight->
mnIndex = -1;
477 pParaMarginRight->
maValue.clear();
479 if (pParaMarginRightRel)
481 pParaMarginRightRel->
mnIndex = -1;
482 pParaMarginRightRel->
maValue.clear();
487 pParaMarginTop->
maValue.clear();
489 if (pParaMarginTopRel)
491 pParaMarginTopRel->
mnIndex = -1;
492 pParaMarginTopRel->
maValue.clear();
494 if (pParaMarginBottom)
496 pParaMarginBottom->
mnIndex = -1;
497 pParaMarginBottom->
maValue.clear();
499 if (pParaMarginBottomRel)
501 pParaMarginBottomRel->
mnIndex = -1;
502 pParaMarginBottomRel->
maValue.clear();
506 if (pDiagonalTLBRWidthState)
508 pDiagonalTLBRWidthState->
mnIndex = -1;
509 pDiagonalTLBRWidthState->
maValue.clear();
511 if (pDiagonalBLTRWidthState)
513 pDiagonalBLTRWidthState->
mnIndex = -1;
514 pDiagonalBLTRWidthState->
maValue.clear();
526 const ::std::vector< XMLPropertyState > * ,
538 const ::std::vector< XMLPropertyState > * ,
547 if ((rProperty.
maValue >>= sURL) && !sURL.isEmpty())
552 sal_uInt32 nPropIndex = rProperty.
mnIndex;
584 ::std::vector< XMLPropertyState >& ,
585 const uno::Reference< beans::XPropertySet >& )
const
606 const ::std::vector< XMLPropertyState > * ,
628 const ::std::vector< XMLPropertyState > * ,
637 const ::std::vector< XMLPropertyState >& rProperties,
644 if (nFamily == XmlStyleFamily::TABLE_CELL)
646 for(
const auto& rProperty : rProperties)
649 sal_Int16 nContextID(aPropMapper->GetEntryContextId(rProperty.mnIndex));
654 sal_Int32 nNumberFormat = 0;
655 if (rProperty.maValue >>= nNumberFormat)
658 if (!sAttrValue.isEmpty())
661 aPropMapper->GetEntryNameSpace(rProperty.mnIndex),
662 aPropMapper->GetEntryXMLName(rProperty.mnIndex),
671 else if (nFamily == XmlStyleFamily::TABLE_TABLE)
673 for(
const auto& rProperty : rProperties)
676 sal_Int16 nContextID(aPropMapper->GetEntryContextId(rProperty.mnIndex));
682 if (rProperty.maValue >>=
sName)
685 aPropMapper->GetEntryNameSpace(rProperty.mnIndex),
686 aPropMapper->GetEntryXMLName(rProperty.mnIndex),
697 const css::uno::Reference< css::xml::sax::XDocumentHandler > & rHandler,
699 const std::vector< XMLPropertyState >& rProperties,
706 if (nFamily != XmlStyleFamily::TABLE_CELL)
709 for(
const auto& rProperty : rProperties)
711 if (rProperty.mnIndex != -1)
718 uno::Reference<container::XIndexAccess> xIndex( rProperty.maValue, uno::UNO_QUERY );
721 sal_Int32 nConditionCount(xIndex->getCount());
722 for (sal_Int32 nCondition = 0; nCondition < nConditionCount; ++nCondition)
724 uno::Reference <sheet::XSheetConditionalEntry> xSheetConditionalEntry(xIndex->getByIndex(nCondition), uno::UNO_QUERY);
725 if (xSheetConditionalEntry.is())
727 OUString sStyleName(xSheetConditionalEntry->getStyleName());
728 uno::Reference <sheet::XSheetCondition> xSheetCondition(xSheetConditionalEntry, uno::UNO_QUERY);
729 if (xSheetCondition.is())
731 sheet::ConditionOperator aOperator = xSheetCondition->getOperator();
732 if (aOperator != sheet::ConditionOperator_NONE)
734 if (aOperator == sheet::ConditionOperator_FORMULA)
736 OUString sCondition =
"is-true-formula("
737 + xSheetCondition->getFormula1()
741 OUString sOUBaseAddress;
744 xSheetCondition->getSourcePosition(), pDoc, FormulaGrammar::CONV_OOO );
751 if (aOperator == sheet::ConditionOperator_BETWEEN ||
752 aOperator == sheet::ConditionOperator_NOT_BETWEEN)
754 if (aOperator == sheet::ConditionOperator_BETWEEN)
755 sCondition =
"cell-content-is-between(";
757 sCondition =
"cell-content-is-not-between(";
758 sCondition += xSheetCondition->getFormula1()
760 + xSheetCondition->getFormula2()
765 sCondition =
"cell-content()";
768 case sheet::ConditionOperator_LESS:
771 case sheet::ConditionOperator_GREATER:
774 case sheet::ConditionOperator_LESS_EQUAL:
777 case sheet::ConditionOperator_GREATER_EQUAL:
780 case sheet::ConditionOperator_EQUAL:
783 case sheet::ConditionOperator_NOT_EQUAL:
791 sCondition += xSheetCondition->getFormula1();
795 OUString sOUBaseAddress;
815 rScXMLExport(rTempScXMLExport)
930 const css::uno::Any& r1,
931 const css::uno::Any& r2 )
const
933 util::CellProtection aCellProtection1, aCellProtection2;
935 if((r1 >>= aCellProtection1) && (r2 >>= aCellProtection2))
937 return ((aCellProtection1.IsHidden == aCellProtection2.IsHidden) &&
938 (aCellProtection1.IsLocked == aCellProtection2.IsLocked) &&
939 (aCellProtection1.IsFormulaHidden == aCellProtection2.IsFormulaHidden));
945 const OUString& rStrImpValue,
946 css::uno::Any& rValue,
951 util::CellProtection aCellProtection;
952 bool bDefault(
false);
953 if (!rValue.hasValue())
955 aCellProtection.IsHidden =
false;
956 aCellProtection.IsLocked =
true;
957 aCellProtection.IsFormulaHidden =
false;
958 aCellProtection.IsPrintHidden =
false;
961 if ((rValue >>= aCellProtection) || bDefault)
965 aCellProtection.IsFormulaHidden =
false;
966 aCellProtection.IsHidden =
false;
967 aCellProtection.IsLocked =
false;
968 rValue <<= aCellProtection;
973 aCellProtection.IsFormulaHidden =
true;
974 aCellProtection.IsHidden =
true;
975 aCellProtection.IsLocked =
true;
976 rValue <<= aCellProtection;
981 aCellProtection.IsFormulaHidden =
false;
982 aCellProtection.IsHidden =
false;
983 aCellProtection.IsLocked =
true;
984 rValue <<= aCellProtection;
989 aCellProtection.IsFormulaHidden =
true;
990 aCellProtection.IsHidden =
false;
991 aCellProtection.IsLocked =
false;
992 rValue <<= aCellProtection;
998 while (
i < rStrImpValue.getLength() && rStrImpValue[
i] !=
' ')
1000 OUString sFirst(rStrImpValue.copy(0,
i));
1001 OUString sSecond(rStrImpValue.copy(
i + 1));
1002 aCellProtection.IsFormulaHidden =
false;
1003 aCellProtection.IsHidden =
false;
1004 aCellProtection.IsLocked =
false;
1006 aCellProtection.IsLocked =
true;
1008 aCellProtection.IsFormulaHidden =
true;
1009 rValue <<= aCellProtection;
1018 OUString& rStrExpValue,
1019 const css::uno::Any& rValue,
1022 bool bRetval(
false);
1023 util::CellProtection aCellProtection;
1025 if(rValue >>= aCellProtection)
1027 if (!(aCellProtection.IsFormulaHidden || aCellProtection.IsHidden || aCellProtection.IsLocked))
1032 else if (aCellProtection.IsHidden)
1039 else if (aCellProtection.IsLocked && !aCellProtection.IsFormulaHidden)
1044 else if (aCellProtection.IsFormulaHidden && !aCellProtection.IsLocked)
1049 else if (aCellProtection.IsFormulaHidden && aCellProtection.IsLocked)
1052 rStrExpValue +=
" ";
1066 const css::uno::Any& r1,
1067 const css::uno::Any& r2 )
const
1069 util::CellProtection aCellProtection1, aCellProtection2;
1071 if((r1 >>= aCellProtection1) && (r2 >>= aCellProtection2))
1073 return (aCellProtection1.IsPrintHidden == aCellProtection2.IsPrintHidden);
1079 const OUString& rStrImpValue,
1080 css::uno::Any& rValue,
1083 bool bRetval(
false);
1084 util::CellProtection aCellProtection;
1085 bool bDefault(
false);
1086 if (!rValue.hasValue())
1088 aCellProtection.IsHidden =
false;
1089 aCellProtection.IsLocked =
true;
1090 aCellProtection.IsFormulaHidden =
false;
1091 aCellProtection.IsPrintHidden =
false;
1094 if ((rValue >>= aCellProtection) || bDefault)
1099 aCellProtection.IsPrintHidden = !bValue;
1100 rValue <<= aCellProtection;
1109 OUString& rStrExpValue,
1110 const css::uno::Any& rValue,
1113 bool bRetval(
false);
1115 util::CellProtection aCellProtection;
1116 if(rValue >>= aCellProtection)
1118 OUStringBuffer sValue;
1120 rStrExpValue = sValue.makeStringAndClear();
1132 const css::uno::Any& r1,
1133 const css::uno::Any& r2 )
const
1135 sal_Int32 nVal1(0), nVal2(0);
1137 if((r1 >>= nVal1) && (r2 >>= nVal2))
1138 return (nVal1 == nVal2);
1143 const OUString& rStrImpValue,
1144 css::uno::Any& rValue,
1147 bool bRetval =
false;
1149 sal_Int32
nValue = table::CellJustifyMethod::AUTO;
1152 nValue = table::CellJustifyMethod::AUTO;
1158 nValue = table::CellJustifyMethod::DISTRIBUTE;
1169 OUString& rStrExpValue,
1170 const css::uno::Any& rValue,
1174 bool bRetval =
false;
1176 if (rValue >>= nVal)
1180 case table::CellJustifyMethod::AUTO:
1186 case table::CellJustifyMethod::DISTRIBUTE:
1206 const css::uno::Any& r1,
1207 const css::uno::Any& r2 )
const
1209 table::CellHoriJustify aHoriJustify1, aHoriJustify2;
1211 if((r1 >>= aHoriJustify1) && (r2 >>= aHoriJustify2))
1212 return (aHoriJustify1 == aHoriJustify2);
1217 const OUString& rStrImpValue,
1218 css::uno::Any& rValue,
1221 bool bRetval(
false);
1223 table::CellHoriJustify
nValue = table::CellHoriJustify_LEFT;
1225 if (
nValue != table::CellHoriJustify_REPEAT)
1229 nValue = table::CellHoriJustify_LEFT;
1235 nValue = table::CellHoriJustify_RIGHT;
1241 nValue = table::CellHoriJustify_CENTER;
1247 nValue = table::CellHoriJustify_BLOCK;
1259 OUString& rStrExpValue,
1260 const css::uno::Any& rValue,
1263 table::CellHoriJustify nVal;
1264 bool bRetval(
false);
1270 case table::CellHoriJustify_REPEAT:
1271 case table::CellHoriJustify_LEFT:
1277 case table::CellHoriJustify_RIGHT:
1283 case table::CellHoriJustify_CENTER:
1289 case table::CellHoriJustify_BLOCK:
1310 const css::uno::Any& r1,
1311 const css::uno::Any& r2 )
const
1313 table::CellHoriJustify aHoriJustify1, aHoriJustify2;
1315 if((r1 >>= aHoriJustify1) && (r2 >>= aHoriJustify2))
1316 return (aHoriJustify1 == aHoriJustify2);
1321 const OUString& rStrImpValue,
1322 css::uno::Any& rValue,
1325 bool bRetval(
false);
1333 rValue <<= table::CellHoriJustify_STANDARD;
1341 OUString& rStrExpValue,
1342 const css::uno::Any& rValue,
1345 table::CellHoriJustify nVal;
1346 bool bRetval(
false);
1350 if (nVal == table::CellHoriJustify_STANDARD)
1370 const css::uno::Any& r1,
1371 const css::uno::Any& r2 )
const
1373 table::CellHoriJustify aHoriJustify1, aHoriJustify2;
1375 if((r1 >>= aHoriJustify1) && (r2 >>= aHoriJustify2))
1376 return (aHoriJustify1 == aHoriJustify2);
1381 const OUString& rStrImpValue,
1382 css::uno::Any& rValue,
1385 bool bRetval(
false);
1393 rValue <<= table::CellHoriJustify_REPEAT;
1401 OUString& rStrExpValue,
1402 const css::uno::Any& rValue,
1405 table::CellHoriJustify nVal;
1406 bool bRetval(
false);
1410 if (nVal == table::CellHoriJustify_REPEAT)
1430 const css::uno::Any& r1,
1431 const css::uno::Any& r2 )
const
1433 table::CellOrientation aOrientation1, aOrientation2;
1435 if((r1 >>= aOrientation1) && (r2 >>= aOrientation2))
1436 return (aOrientation1 == aOrientation2);
1441 const OUString& rStrImpValue,
1442 css::uno::Any& rValue,
1445 bool bRetval(
false);
1447 table::CellOrientation
nValue;
1450 nValue = table::CellOrientation_STANDARD;
1456 nValue = table::CellOrientation_STACKED;
1465 OUString& rStrExpValue,
1466 const css::uno::Any& rValue,
1469 table::CellOrientation nVal;
1470 bool bRetval(
false);
1476 case table::CellOrientation_STACKED :
1499 const css::uno::Any& r1,
1500 const css::uno::Any& r2 )
const
1502 sal_Int32 aAngle1 = 0, aAngle2 = 0;
1504 if((r1 >>= aAngle1) && (r2 >>= aAngle2))
1505 return (aAngle1 == aAngle2);
1510 const OUString& rStrImpValue,
1511 css::uno::Any& rValue,
1514 bool bRetval(
false);
1527 OUString& rStrExpValue,
1528 const css::uno::Any& rValue,
1532 bool bRetval(
false);
1536 rStrExpValue = OUString::number(nVal / 100);
1548 const css::uno::Any& r1,
1549 const css::uno::Any& r2 )
const
1551 sal_Int32 aReference1(0), aReference2(0);
1553 if((r1 >>= aReference1) && (r2 >>= aReference2))
1554 return (aReference1 == aReference2);
1559 const OUString& rStrImpValue,
1560 css::uno::Any& rValue,
1563 bool bRetval(
false);
1568 nValue = table::CellVertJustify2::STANDARD;
1574 nValue = table::CellVertJustify2::BOTTOM;
1580 nValue = table::CellVertJustify2::TOP;
1586 nValue = table::CellVertJustify2::CENTER;
1595 OUString& rStrExpValue,
1596 const css::uno::Any& rValue,
1600 bool bRetval(
false);
1606 case table::CellVertJustify2::BOTTOM :
1612 case table::CellVertJustify2::CENTER :
1618 case table::CellVertJustify2::STANDARD :
1624 case table::CellVertJustify2::TOP :
1645 const css::uno::Any& r1,
1646 const css::uno::Any& r2 )
const
1648 sal_Int32 aReference1(0), aReference2(0);
1650 if((r1 >>= aReference1) && (r2 >>= aReference2))
1651 return (aReference1 == aReference2);
1656 const OUString& rStrImpValue,
1657 css::uno::Any& rValue,
1660 bool bRetval(
false);
1665 nValue = table::CellVertJustify2::STANDARD;
1671 nValue = table::CellVertJustify2::BOTTOM;
1677 nValue = table::CellVertJustify2::TOP;
1683 nValue = table::CellVertJustify2::CENTER;
1689 nValue = table::CellVertJustify2::BLOCK;
1698 OUString& rStrExpValue,
1699 const css::uno::Any& rValue,
1703 bool bRetval(
false);
1709 case table::CellVertJustify2::BOTTOM :
1715 case table::CellVertJustify2::CENTER :
1721 case table::CellVertJustify2::STANDARD :
1727 case table::CellVertJustify2::TOP :
1733 case table::CellVertJustify2::BLOCK :
1754 const css::uno::Any& r1,
1755 const css::uno::Any& r2 )
const
1757 bool aBreak1 =
false, aBreak2 =
false;
1759 if((r1 >>= aBreak1) && (r2 >>= aBreak2))
1760 return (aBreak1 == aBreak2);
1765 const OUString& rStrImpValue,
1766 css::uno::Any& rValue,
1769 bool bRetval(
false);
1789 OUString& rStrExpValue,
1790 const css::uno::Any& rValue,
1793 bool bRetval(
false);
1795 if(::cppu::any2bool(rValue))
1814 const css::uno::Any& r1,
1815 const css::uno::Any& r2 )
const
1817 return (::cppu::any2bool(r1) == ::cppu::any2bool(r2));
1821 const OUString& rStrImpValue,
1822 css::uno::Any& rValue,
1825 bool bRetval(
false);
1842 OUString& rStrExpValue,
1843 const css::uno::Any& rValue,
1846 bool bRetval(
false);
1848 if (::cppu::any2bool(rValue))
1866 OSL_FAIL(
"should never be called");
1871 const css::uno::Any& ,
1874 OSL_FAIL(
"should never be called");
1883 const css::uno::Any& r1,
1884 const css::uno::Any& r2 )
const
1886 return (::cppu::any2bool(r1) == ::cppu::any2bool(r2));
1890 const OUString& rStrImpValue,
1891 css::uno::Any& rValue,
1894 bool bRetval(
false);
1911 OUString& rStrExpValue,
1912 const css::uno::Any& rValue,
1915 bool bRetval(
false);
1917 if (::cppu::any2bool(rValue))
static void GetStringFromAddress(OUString &rString, const ScAddress &rAddress, const ScDocument *pDocument, formula::FormulaGrammar::AddressConvention eConv, sal_Unicode cSeparator=' ', bool bAppendStr=false, ScRefFlags nFormatFlags=ScRefFlags::VALID|ScRefFlags::TAB_3D)
Range to String core.
virtual void exportStyleContent(const css::uno::Reference< css::xml::sax::XDocumentHandler > &rHandler, XmlStyleFamily nFamily, const ::std::vector< XMLPropertyState > &rProperties, const SvXMLExportPropertyMapper &rPropExp, const SvXMLUnitConverter &rUnitConverter, const SvXMLNamespaceMap &rNamespaceMap) const override
ScXMLAutoStylePoolP(ScXMLExport &rScXMLExport)
ScXMLExport & rScXMLExport
virtual void exportStyleAttributes(comphelper::AttributeList &rAttrList, XmlStyleFamily nFamily, const ::std::vector< XMLPropertyState > &rProperties, const SvXMLExportPropertyMapper &rPropExp, const SvXMLUnitConverter &rUnitConverter, const SvXMLNamespaceMap &rNamespaceMap) const override
virtual ~ScXMLAutoStylePoolP() override
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
ScXMLCellExportPropertyMapper(const rtl::Reference< XMLPropertySetMapper > &rMapper)
virtual ~ScXMLCellExportPropertyMapper() override
virtual void handleElementItem(SvXMLExport &rExport, const XMLPropertyState &rProperty, SvXmlExportFlags nFlags, const ::std::vector< XMLPropertyState > *pProperties, sal_uInt32 nIdx) const override
virtual void ContextFilter(bool bEnableFoFontFamily, ::std::vector< XMLPropertyState > &rProperties, const css::uno::Reference< css::beans::XPropertySet > &rPropSet) const override
Application-specific filter.
ScXMLColumnExportPropertyMapper(const rtl::Reference< XMLPropertySetMapper > &rMapper)
virtual ~ScXMLColumnExportPropertyMapper() override
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
ScDocument * GetDocument()
const rtl::Reference< XMLPropertySetMapper > & GetTableStylesPropertySetMapper() const
const rtl::Reference< XMLPropertySetMapper > & GetCellStylesPropertySetMapper() const
virtual void ContextFilter(bool bEnableFoFontFamily, ::std::vector< XMLPropertyState > &rProperties, const css::uno::Reference< css::beans::XPropertySet > &rPropSet) const override
Application-specific filter.
ScXMLRowExportPropertyMapper(const rtl::Reference< XMLPropertySetMapper > &rMapper)
virtual ~ScXMLRowExportPropertyMapper() override
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
virtual ~ScXMLTableExportPropertyMapper() override
ScXMLTableExportPropertyMapper(const rtl::Reference< XMLPropertySetMapper > &rMapper)
SvXMLExport & GetExport() const
virtual void exportStyleContent(const css::uno::Reference< css::xml::sax::XDocumentHandler > &rHandler, XmlStyleFamily nFamily, const ::std::vector< XMLPropertyState > &rProperties, const SvXMLExportPropertyMapper &rPropExp, const SvXMLUnitConverter &rUnitConverter, const SvXMLNamespaceMap &rNamespaceMap) const
virtual void exportStyleAttributes(comphelper::AttributeList &rAttrList, XmlStyleFamily nFamily, const ::std::vector< XMLPropertyState > &rProperties, const SvXMLExportPropertyMapper &rPropExp, const SvXMLUnitConverter &rUnitConverter, const SvXMLNamespaceMap &rNamespaceMap) const
virtual void ContextFilter(bool bEnableFoFontFamily, ::std::vector< XMLPropertyState > &rProperties, const css::uno::Reference< css::beans::XPropertySet > &rPropSet) const
const rtl::Reference< XMLPropertySetMapper > & getPropertySetMapper() const
void AddAttribute(sal_uInt16 nPrefix, const OUString &rName, const OUString &rValue)
virtual OUString getDataStyleName(const sal_Int32 nNumberFormat, bool bTimeFormat=false) const
OUString EncodeStyleName(const OUString &rName, bool *pEncoded=nullptr) const
void exportXML(const css::uno::Any &rAny, sal_uInt16 nPrefix, const OUString &rLocalName)
void PutHdlCache(sal_Int32 nType, const XMLPropertyHandler *pHdl) const
virtual const XMLPropertyHandler * GetPropertyHandler(sal_Int32 nType) const
virtual const XMLPropertyHandler * GetPropertyHandler(sal_Int32 nType) const override
virtual ~XMLScPropHdlFactory() override
virtual bool importXML(const OUString &rStrImpValue, css::uno::Any &rValue, const SvXMLUnitConverter &rUnitConverter) const override
virtual bool exportXML(OUString &rStrExpValue, const css::uno::Any &rValue, const SvXMLUnitConverter &rUnitConverter) const override
virtual ~XmlScPropHdl_BreakBefore() override
virtual bool equals(const css::uno::Any &r1, const css::uno::Any &r2) const override
virtual bool exportXML(OUString &rStrExpValue, const css::uno::Any &rValue, const SvXMLUnitConverter &rUnitConverter) const override
virtual bool equals(const css::uno::Any &r1, const css::uno::Any &r2) const override
virtual bool importXML(const OUString &rStrImpValue, css::uno::Any &rValue, const SvXMLUnitConverter &rUnitConverter) const override
virtual ~XmlScPropHdl_CellProtection() override
virtual bool importXML(const OUString &rStrImpValue, css::uno::Any &rValue, const SvXMLUnitConverter &rUnitConverter) const override
virtual ~XmlScPropHdl_HoriJustifyRepeat() override
virtual bool equals(const css::uno::Any &r1, const css::uno::Any &r2) const override
virtual bool exportXML(OUString &rStrExpValue, const css::uno::Any &rValue, const SvXMLUnitConverter &rUnitConverter) const override
virtual bool importXML(const OUString &rStrImpValue, css::uno::Any &rValue, const SvXMLUnitConverter &rUnitConverter) const override
virtual ~XmlScPropHdl_HoriJustifySource() override
virtual bool equals(const css::uno::Any &r1, const css::uno::Any &r2) const override
virtual bool exportXML(OUString &rStrExpValue, const css::uno::Any &rValue, const SvXMLUnitConverter &rUnitConverter) const override
virtual bool equals(const css::uno::Any &r1, const css::uno::Any &r2) const override
virtual ~XmlScPropHdl_HoriJustify() override
virtual bool importXML(const OUString &rStrImpValue, css::uno::Any &rValue, const SvXMLUnitConverter &rUnitConverter) const override
virtual bool exportXML(OUString &rStrExpValue, const css::uno::Any &rValue, const SvXMLUnitConverter &rUnitConverter) const override
virtual bool importXML(const OUString &rStrImpValue, css::uno::Any &rValue, const SvXMLUnitConverter &rUnitConverter) const override
virtual bool exportXML(OUString &rStrExpValue, const css::uno::Any &rValue, const SvXMLUnitConverter &rUnitConverter) const override
virtual bool importXML(const OUString &rStrImpValue, css::uno::Any &rValue, const SvXMLUnitConverter &rUnitConverter) const override
virtual bool exportXML(OUString &rStrExpValue, const css::uno::Any &rValue, const SvXMLUnitConverter &rUnitConverter) const override
virtual bool equals(const css::uno::Any &r1, const css::uno::Any &r2) const override
virtual ~XmlScPropHdl_IsTextWrapped() override
virtual ~XmlScPropHdl_JustifyMethod() override
virtual bool equals(const css::uno::Any &r1, const css::uno::Any &r2) const override
virtual bool importXML(const OUString &rStrImpValue, css::uno::Any &rValue, const SvXMLUnitConverter &rUnitConverter) const override
virtual bool exportXML(OUString &rStrExpValue, const css::uno::Any &rValue, const SvXMLUnitConverter &rUnitConverter) const override
virtual ~XmlScPropHdl_Orientation() override
virtual bool equals(const css::uno::Any &r1, const css::uno::Any &r2) const override
virtual bool importXML(const OUString &rStrImpValue, css::uno::Any &rValue, const SvXMLUnitConverter &rUnitConverter) const override
virtual bool exportXML(OUString &rStrExpValue, const css::uno::Any &rValue, const SvXMLUnitConverter &rUnitConverter) const override
virtual bool exportXML(OUString &rStrExpValue, const css::uno::Any &rValue, const SvXMLUnitConverter &rUnitConverter) const override
virtual bool importXML(const OUString &rStrImpValue, css::uno::Any &rValue, const SvXMLUnitConverter &rUnitConverter) const override
virtual bool equals(const css::uno::Any &r1, const css::uno::Any &r2) const override
virtual ~XmlScPropHdl_PrintContent() override
virtual bool importXML(const OUString &rStrImpValue, css::uno::Any &rValue, const SvXMLUnitConverter &rUnitConverter) const override
virtual ~XmlScPropHdl_RotateAngle() override
virtual bool equals(const css::uno::Any &r1, const css::uno::Any &r2) const override
virtual bool exportXML(OUString &rStrExpValue, const css::uno::Any &rValue, const SvXMLUnitConverter &rUnitConverter) const override
virtual bool exportXML(OUString &rStrExpValue, const css::uno::Any &rValue, const SvXMLUnitConverter &rUnitConverter) const override
virtual ~XmlScPropHdl_RotateReference() override
virtual bool importXML(const OUString &rStrImpValue, css::uno::Any &rValue, const SvXMLUnitConverter &rUnitConverter) const override
virtual bool equals(const css::uno::Any &r1, const css::uno::Any &r2) const override
virtual bool exportXML(OUString &rStrExpValue, const css::uno::Any &rValue, const SvXMLUnitConverter &rUnitConverter) const override
virtual bool equals(const css::uno::Any &r1, const css::uno::Any &r2) const override
virtual bool importXML(const OUString &rStrImpValue, css::uno::Any &rValue, const SvXMLUnitConverter &rUnitConverter) const override
virtual ~XmlScPropHdl_VertJustify() override
virtual bool equals(const css::uno::Any &r1, const css::uno::Any &r2) const override
virtual bool exportXML(OUString &rStrExpValue, const css::uno::Any &rValue, const SvXMLUnitConverter &rUnitConverter) const override
virtual bool importXML(const OUString &rStrImpValue, css::uno::Any &rValue, const SvXMLUnitConverter &rUnitConverter) const override
virtual ~XmlScPropHdl_Vertical() override
static bool convertNumber(sal_Int32 &rValue, std::u16string_view aString, sal_Int32 nMin=SAL_MIN_INT32, sal_Int32 nMax=SAL_MAX_INT32)
static bool convertBool(bool &rBool, std::u16string_view rString)
#define CTF_SD_SHAPE_PARA_ADJUST
XML_DIAGONAL_BL_TR_WIDTHS
XML_BORDER_LINE_WIDTH_BOTTOM
XML_BORDER_LINE_WIDTH_RIGHT
XML_BACKGROUND_COMPLEX_COLOR
XML_DIAGONAL_TL_BR_WIDTHS
XML_USE_OPTIMAL_ROW_HEIGHT
XML_BORDER_LINE_WIDTH_LEFT
XML_BORDER_LINE_WIDTH_TOP
XML_GLYPH_ORIENTATION_VERTICAL
bool IsXMLToken(std::u16string_view rString, enum XMLTokenEnum eToken)
const OUString & GetXMLToken(enum XMLTokenEnum eToken)
#define CTF_LEFTBORDERWIDTH
#define CTF_PARABOTTOMMARGIN_REL
#define CTF_PARALEFTMARGIN
#define CTF_PARATOPMARGIN_REL
#define CTF_ALLBORDERWIDTH
#define CTF_PARATOPMARGIN
#define CTF_PARARIGHTMARGIN
#define CTF_COMPLEX_COLOR
#define CTF_RIGHTBORDERWIDTH
#define CTF_PARABOTTOMMARGIN
#define CTF_PARARIGHTMARGIN_REL
#define CTF_TOPBORDERWIDTH
#define CTF_PARA_ADJUSTLAST
#define CTF_PARALEFTMARGIN_REL
#define CTF_BOTTOMBORDERWIDTH
constexpr OUStringLiteral SC_UNONAME_TOPBORDER
constexpr OUStringLiteral SC_UNONAME_PRMARGIN
constexpr OUStringLiteral SC_UNO_STANDARDDEC
constexpr OUStringLiteral SC_UNONAME_HYPERLINK
constexpr OUStringLiteral SC_UNONAME_CELL_BACKGROUND_COMPLEX_COLOR
constexpr OUStringLiteral SC_UNONAME_ORIENT
constexpr OUStringLiteral SC_UNONAME_CELLWID
constexpr OUStringLiteral SC_UNONAME_BOTTBORDER
constexpr OUStringLiteral SC_UNONAME_CELLVJUS_METHOD
constexpr OUStringLiteral SC_UNONAME_NUMFMT
constexpr OUStringLiteral SC_UNONAME_WRAP
constexpr OUStringLiteral SC_UNONAME_CELLHGT
constexpr OUStringLiteral SC_UNONAME_PINDENT
constexpr OUStringLiteral SC_UNONAME_PLMARGIN
constexpr OUStringLiteral SC_UNONAME_CELLTRAN
constexpr OUStringLiteral SC_UNONAME_OHEIGHT
constexpr OUStringLiteral SC_UNONAME_VALIXML
constexpr OUStringLiteral SC_UNONAME_RIGHTBORDER
constexpr OUStringLiteral SC_UNONAME_CELLPRO
constexpr OUStringLiteral SC_UNONAME_PTMARGIN
constexpr OUStringLiteral SC_UNONAME_PBMARGIN
constexpr OUStringLiteral SC_UNONAME_LEFTBORDER
constexpr OUStringLiteral SC_UNONAME_TABCOLOR
constexpr OUStringLiteral SC_UNONAME_MANPAGE
constexpr OUStringLiteral SC_UNONAME_SHRINK_TO_FIT
constexpr OUStringLiteral SC_UNONAME_ASIANVERT
constexpr OUStringLiteral SC_UNONAME_ROTANG
constexpr OUStringLiteral SC_UNONAME_DIAGONAL_BLTR
constexpr OUStringLiteral SC_UNONAME_DIAGONAL_TLBR
constexpr OUStringLiteral SC_UNONAME_USERDEF
constexpr OUStringLiteral SC_UNONAME_CELLVJUS
constexpr OUStringLiteral SC_UNONAME_CONDXML
constexpr OUStringLiteral SC_UNONAME_ROTREF
constexpr OUStringLiteral SC_UNONAME_CELLBACK
constexpr OUStringLiteral SC_UNONAME_CELLVIS
constexpr OUStringLiteral SC_UNONAME_SHADOW
constexpr OUStringLiteral SC_UNONAME_TABLAYOUT
constexpr OUStringLiteral SC_UNONAME_CELLSTYL
constexpr OUStringLiteral SC_UNONAME_CELLHJUS
constexpr OUStringLiteral SC_UNONAME_PAGESTL
constexpr OUStringLiteral SC_UNONAME_CELLHJUS_METHOD
constexpr sal_uInt16 XML_NAMESPACE_TABLE_EXT
constexpr sal_uInt16 XML_NAMESPACE_XLINK
constexpr sal_uInt16 XML_NAMESPACE_TEXT
constexpr sal_uInt16 XML_NAMESPACE_TABLE
constexpr sal_uInt16 XML_NAMESPACE_CSS3TEXT
constexpr sal_uInt16 XML_NAMESPACE_LO_EXT
constexpr sal_uInt16 XML_NAMESPACE_STYLE
constexpr sal_uInt16 XML_NAMESPACE_FO
const XMLPropertyMapEntry aXMLScTableStylesProperties[]
const XMLPropertyMapEntry aXMLScRowStylesProperties[]
const XMLPropertyMapEntry aXMLScRowStylesImportProperties[]
const XMLPropertyMapEntry aXMLScTableStylesImportProperties[]
#define MAP_ODF13(name, prefix, token, type, context)
const XMLPropertyMapEntry aXMLScFromXLSRowStylesProperties[]
const XMLPropertyMapEntry aXMLScColumnStylesProperties[]
const XMLPropertyMapEntry aXMLScCellStylesProperties[]
#define MAP(name, prefix, token, type, context)
#define MAP_EXT(name, prefix, token, type, context)
#define MAP_EXT_I(name, prefix, token, type, context)
#define CTF_SC_ALLPADDING
#define XML_SC_TYPE_ROTATEANGLE
#define CTF_SC_DIAGONALTLBRWIDTHS
#define CTF_SC_LEFTBORDERWIDTH
#define XML_SC_TYPE_PRINTCONTENT
#define CTF_SC_TOPPADDING
#define CTF_SC_NUMBERFORMAT
#define CTF_SC_ROWOPTIMALHEIGHT
#define CTF_SC_TOPBORDERWIDTH
#define XML_SC_TYPE_HORIJUSTIFY_METHOD
#define CTF_SC_DIAGONALBLTRWIDTH
#define XML_SC_TYPE_ORIENTATION
#define CTF_SC_ALLBORDERWIDTH
#define XML_SC_ISTEXTWRAPPED
#define CTF_SC_DIAGONALTLBRWIDTH
#define CTF_SC_BOTTOMPADDING
#define CTF_SC_MASTERPAGENAME
#define CTF_SC_DIAGONALBLTRWIDTHS
#define XML_SC_TYPE_ROTATEREFERENCE
#define CTF_SC_RIGHTBORDER
#define CTF_SC_IMPORT_MAP
#define XML_SC_TYPE_BREAKBEFORE
#define CTF_SC_BOTTOMBORDERWIDTH
#define XML_SC_TYPE_CELLPROTECTION
#define XML_SC_TYPE_EQUAL
#define XML_SC_TYPE_HORIJUSTIFYSOURCE
#define CTF_SC_VALIDATION
#define CTF_SC_RIGHTBORDERWIDTH
#define CTF_SC_DIAGONALTLBR
#define XML_SC_TYPE_HORIJUSTIFY
#define CTF_SC_DIAGONALBLTR
#define CTF_SC_RIGHTPADDING
#define XML_SC_TYPE_VERTICAL
#define XML_SC_TYPE_VERTJUSTIFY_METHOD
#define XML_SC_TYPE_HORIJUSTIFYREPEAT
#define CTF_SC_BOTTOMBORDER
#define XML_SC_TYPE_VERTJUSTIFY
#define CTF_SC_ROWBREAKBEFORE
#define CTF_SC_LEFTPADDING
#define CTF_SC_LEFTBORDER
#define XML_TYPE_NUMBER16
#define MID_FLAG_MERGE_PROPERTY
#define XML_TYPE_COLORTRANSPARENT
#define XML_TYPE_PROP_TABLE_CELL
#define XML_TYPE_PROP_PARAGRAPH
#define XML_TYPE_MEASURE16
#define XML_TYPE_TEXT_SHADOW
#define XML_TYPE_BUILDIN_CMP_ONLY
#define MID_FLAG_SPECIAL_ITEM
#define MID_FLAG_MULTI_PROPERTY
#define MID_FLAG_ELEMENT_ITEM
#define XML_TYPE_TEXT_WRITING_MODE
#define XML_TYPE_ATTRIBUTE_CONTAINER
#define XML_TYPE_BOOL_FALSE
#define XML_TYPE_PROP_TABLE_COLUMN
#define XML_TYPE_PROP_TABLE
#define XML_TYPE_BORDER_WIDTH
#define XML_TYPE_COMPLEX_COLOR
#define XML_TYPE_COLORAUTO
#define MID_FLAG_MERGE_ATTRIBUTE
#define XML_TYPE_ISTRANSPARENT
#define XML_TYPE_PROP_TABLE_ROW