25#include <com/sun/star/document/PrinterIndependentLayout.hpp>
26#include <com/sun/star/document/XExporter.hpp>
27#include <com/sun/star/drawing/XDrawPage.hpp>
28#include <com/sun/star/drawing/XDrawPageSupplier.hpp>
29#include <com/sun/star/frame/Desktop.hpp>
30#include <com/sun/star/text/XTextDocument.hpp>
31#include <com/sun/star/text/XTextRange.hpp>
83#include <officecfg/Office/Common.hxx>
85#include <unordered_set>
109 sal_Int32 nElement,
const css::uno::Reference< css::xml::sax::XFastAttributeList >& AttrList )
override;
114SwXMLBodyContext_Impl::SwXMLBodyContext_Impl(
SwXMLImport& rImport ) :
122 OUString
const sDefault(
SwResId(STR_POOLCHR_STANDARD));
123 uno::Reference<container::XNameContainer>
const& xStyles(
124 rImport.GetTextImport()->GetTextStyles());
125 if (!xStyles->hasByName(
"Default"))
127 rImport.AddStyleDisplayName(XmlStyleFamily::TEXT_TEXT,
"Default", sDefault);
129 if (!xStyles->hasByName(
"Default_20_Style"))
131 rImport.AddStyleDisplayName(XmlStyleFamily::TEXT_TEXT,
"Default_20_Style", sDefault);
133 bool isEncoded(
false);
134 OUString
const defaultEncoded(
135 rImport.GetMM100UnitConverter().encodeStyleName(sDefault, &isEncoded));
136 if (isEncoded && defaultEncoded !=
"Default_20_Style"
137 && !xStyles->hasByName(defaultEncoded))
139 rImport.AddStyleDisplayName(XmlStyleFamily::TEXT_TEXT, defaultEncoded, sDefault);
143css::uno::Reference< css::xml::sax::XFastContextHandler > SwXMLBodyContext_Impl::createFastChildContext(
145 const css::uno::Reference< css::xml::sax::XFastAttributeList >& )
164 SwXMLDocContext_Impl(
SwXMLImport& rImport, sal_Int32 nElement );
167 sal_Int32 nElement,
const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList )
override;
172SwXMLDocContext_Impl::SwXMLDocContext_Impl(
SwXMLImport& rImport, sal_Int32 nElement ) :
177uno::Reference< xml::sax::XFastContextHandler > SAL_CALL SwXMLDocContext_Impl::createFastChildContext(
178 sal_Int32 nElement,
const uno::Reference< xml::sax::XFastAttributeList >& )
183 return GetSwImport().CreateScriptContext();
188 return GetSwImport().CreateStylesContext(
false );
192 GetSwImport().GetProgressBarHelper()->Increment
194 return GetSwImport().CreateStylesContext(
true );
196 return GetSwImport().CreateMasterStylesContext();
198 return GetSwImport().CreateFontDeclsContext();
200 OSL_FAIL(
" XML_ELEMENT(OFFICE, XML_META): should not have come here, maybe document is invalid?");
204 return new SwXMLBodyContext_Impl( GetSwImport() );
216class SwXMLOfficeDocContext_Impl :
221 SwXMLOfficeDocContext_Impl(
SwXMLImport& rImport, sal_Int32 nElement,
222 const Reference< document::XDocumentProperties >& xDocProps);
225 sal_Int32 nElement,
const css::uno::Reference< css::xml::sax::XFastAttributeList >& Attribs )
override;
230SwXMLOfficeDocContext_Impl::SwXMLOfficeDocContext_Impl(
233 const Reference< document::XDocumentProperties >& xDocProps) :
235 SwXMLDocContext_Impl( rImport, nElement ),
240uno::Reference< xml::sax::XFastContextHandler > SAL_CALL SwXMLOfficeDocContext_Impl::createFastChildContext(
241 sal_Int32 nElement,
const uno::Reference< xml::sax::XFastAttributeList >& xAttrList )
249 GetImport().GetTextImport()->SetOutlineStyles(
true );
254 if ( nElement ==
XML_ELEMENT( OFFICE, XML_META ) ) {
256 nElement, xAttrList );
258 return SwXMLDocContext_Impl::createFastChildContext(
259 nElement, xAttrList );
266class SwXMLDocStylesContext_Impl :
public SwXMLDocContext_Impl
270 SwXMLDocStylesContext_Impl(
SwXMLImport& rImport, sal_Int32 nElement );
272 virtual void SAL_CALL endFastElement(sal_Int32 nElement)
override;
277SwXMLDocStylesContext_Impl::SwXMLDocStylesContext_Impl(
SwXMLImport& rImport, sal_Int32 nElement ) :
279 SwXMLDocContext_Impl( rImport, nElement )
283void SwXMLDocStylesContext_Impl::endFastElement(sal_Int32 )
288 GetImport().GetTextImport()->SetOutlineStyles(
293 const uno::Reference< xml::sax::XFastAttributeList >& )
304 uno::Reference<document::XDocumentProperties>
const xDocProps(
307 pContext =
new SwXMLOfficeDocContext_Impl( *
this, nElement, xDocProps );
313 pContext =
new SwXMLDocContext_Impl( *
this, nElement );
316 pContext =
new SwXMLDocStylesContext_Impl( *
this, nElement );
323 const uno::Reference< uno::XComponentContext >& rContext,
330 m_bOrganizerMode( false ),
331 m_bInititedXForms( false ),
333 m_sDefTableName(
SwResId(STR_TABLE_DEFNAME))
340 if (HasShapeImport())
342 SAL_WARN(
"sw",
"endDocument skipped, dropping shapes now to avoid dangling SvTextShapeImportHelper pointing to this");
352 const Reference< XTextRange > & rInsertPos )
356 Reference < XText > xText = rInsertPos->getText();
357 Reference < XTextCursor > xTextCursor =
358 xText->createTextCursorByRange( rInsertPos );
359 GetTextImport()->SetCursor( xTextCursor );
372 OTextCursorHelper* pTextCursor =
dynamic_cast<OTextCursorHelper*
>(rTextCursor.get());
373 OSL_ENSURE( pTextCursor,
"SwXTextCursor missing" );
380 SvXMLImport::startDocument();
382 OSL_ENSURE( GetModel().is(),
"model is missing" );
383 if( !GetModel().is() )
389 Reference< XPropertySet > xImportInfo( getImportInfo() );
390 Reference< XPropertySetInfo > xPropertySetInfo;
391 if( xImportInfo.is() )
392 xPropertySetInfo = xImportInfo->getPropertySetInfo();
393 if( xPropertySetInfo.is() )
397 OUString sStyleInsertModeFamilies(
"StyleInsertModeFamilies");
398 if( xPropertySetInfo->hasPropertyByName(sStyleInsertModeFamilies) )
400 aAny = xImportInfo->getPropertyValue(sStyleInsertModeFamilies);
401 Sequence< OUString> aFamiliesSeq;
402 if( aAny >>= aFamiliesSeq )
405 for(
const OUString& rFamily : std::as_const(aFamiliesSeq) )
407 if( rFamily==
"FrameStyles" )
408 nFamilyMask |= SfxStyleFamily::Frame;
409 else if( rFamily==
"PageStyles" )
410 nFamilyMask |= SfxStyleFamily::Page;
411 else if( rFamily==
"CharacterStyles" )
412 nFamilyMask |= SfxStyleFamily::Char;
413 else if( rFamily==
"ParagraphStyles" )
414 nFamilyMask |= SfxStyleFamily::Para;
415 else if( rFamily==
"NumberingStyles" )
416 nFamilyMask |= SfxStyleFamily::Pseudo;
419 bool bOverwrite =
false;
420 static constexpr OUStringLiteral sStyleInsertModeOverwrite(
u"StyleInsertModeOverwrite");
421 if( xPropertySetInfo->hasPropertyByName(sStyleInsertModeOverwrite) )
423 aAny = xImportInfo->getPropertyValue(sStyleInsertModeOverwrite);
436 static constexpr OUStringLiteral sTextInsertModeRange(
u"TextInsertModeRange");
437 if( xPropertySetInfo->hasPropertyByName(sTextInsertModeRange) )
439 aAny = xImportInfo->getPropertyValue(sTextInsertModeRange);
440 Reference<XTextRange> xInsertTextRange;
441 if( aAny >>= xInsertTextRange )
446 static constexpr OUStringLiteral sAutoTextMode(
u"AutoTextMode");
447 if( xPropertySetInfo->hasPropertyByName(sAutoTextMode) )
449 aAny = xImportInfo->getPropertyValue(sAutoTextMode);
458 static constexpr OUStringLiteral sOrganizerMode(
u"OrganizerMode");
459 if( xPropertySetInfo->hasPropertyByName(sOrganizerMode) )
461 aAny = xImportInfo->getPropertyValue(sOrganizerMode);
470 static constexpr OUStringLiteral sDefSettings(
u"DefaultDocumentSettings");
471 if (xPropertySetInfo->hasPropertyByName(sDefSettings))
473 aAny = xImportInfo->getPropertyValue(sDefSettings);
474 Sequence<PropertyValue> aProps;
477 Reference<lang::XMultiServiceFactory> xFac(GetModel(), UNO_QUERY);
478 Reference<XPropertySet> xProps(
479 xFac->createInstance(
"com.sun.star.document.Settings"), UNO_QUERY);
480 Reference<XPropertySetInfo> xInfo(xProps->getPropertySetInfo());
482 if (xProps.is() && xInfo.is())
484 for (
const auto& rProp : std::as_const(aProps))
486 if (xInfo->hasPropertyByName(rProp.Name))
488 xProps->setPropertyValue(rProp.Name, rProp.Value);
501 OTextCursorHelper *pTextCursor =
nullptr;
502 Reference < XTextCursor > xTextCursor;
503 if( HasTextImport() )
504 xTextCursor = GetTextImport()->GetCursor();
505 if( !xTextCursor.is() )
507 Reference < XTextDocument > xTextDoc( GetModel(), UNO_QUERY );
508 Reference < XText > xText = xTextDoc->getText();
509 xTextCursor = xText->createTextCursor();
511 SwDoc *pDoc =
nullptr;
512 if( SvXMLImportFlags::ALL == getImportFlags() )
515 OSL_ENSURE( pTextCursor,
"SwXTextCursor missing" );
519 pDoc = pTextCursor->GetDoc();
520 OSL_ENSURE( pDoc,
"SwDoc missing" );
536 xTextCursor = GetTextImport()->GetCursor();
537 pTextCursor =
nullptr;
540 GetTextImport()->SetCursor( xTextCursor );
543 if( !(getImportFlags() & (SvXMLImportFlags::CONTENT|SvXMLImportFlags::MASTERSTYLES)) )
548 OSL_ENSURE( pTextCursor,
"SwXTextCursor missing" );
552 SwDoc *pDoc = pTextCursor->GetDoc();
553 OSL_ENSURE( pDoc,
"SwDoc missing" );
557 if (SvXMLImportFlags::ALL == getImportFlags())
569 SwPaM *pPaM = pTextCursor->GetPaM();
594 if (!GetGraphicStorageHandler().is())
600 if( !GetEmbeddedResolver().is() )
607 SvXMLEmbeddedObjectHelperMode::Read );
615 OSL_ENSURE( GetModel().is(),
"model missing; maybe startDocument wasn't called?" );
616 if( !GetModel().is() )
632 if( HasShapeImport() )
635 SwDoc *pDoc =
nullptr;
638 Reference<XInterface> xCursorTunnel( GetTextImport()->GetCursor(),
640 assert(xCursorTunnel.is() &&
"missing XUnoTunnel for Cursor");
641 OTextCursorHelper* pTextCursor =
dynamic_cast<OTextCursorHelper*
>(xCursorTunnel.get());
642 assert(pTextCursor &&
"SwXTextCursor missing");
643 SwPaM *pPaM = pTextCursor->GetPaM();
651 if( pTextNode && pTextNode->
CanJoinNext( &aNxtIdx ) &&
659 pTextNode->
GetText().getLength());
662#if OSL_DEBUG_LEVEL > 0
666 "PaM.Bound1 point to new node " );
669 "PaM.Bound2 points to new node" );
674 const sal_Int32 nCntPos =
677 pTextNode->
GetText().getLength() + nCntPos );
682 const sal_Int32 nCntPos =
685 pTextNode->
GetText().getLength() + nCntPos );
692 if (!pTextNode->
GetText().isEmpty())
718 "insert position is not a content node" );
740 else if(
nullptr != (pCurrNd = pDoc->
GetNodes()[nNodeIdx]->GetTextNode()) )
747 bool endNodeFound = pDoc->
GetNodes()[nNodeIdx-1]->IsEndNode();
750 pLastPar = pDoc->
GetNodes()[nNodeIdx -1];
752 if ( !endNodeFound && pLastPar->
IsTextNode() )
769 else if (pCurrNd->
GetText().isEmpty())
811 GetTextImport()->RedlineAdjustStartNodeCursor();
813 if( (getImportFlags() & SvXMLImportFlags::CONTENT) ||
814 ((getImportFlags() & SvXMLImportFlags::MASTERSTYLES) &&
IsStylesOnlyMode()) )
821 GetTextImport()->ResetCursor();
831 if (getImportFlags() == SvXMLImportFlags::ALL)
853 Reference< xforms::XFormsSupplier > xFormsSupp( GetModel(), UNO_QUERY );
854 Reference< XNameAccess > xXForms;
855 if ( xFormsSupp.is() )
856 xXForms = xFormsSupp->getXForms().get();
862 Sequence< beans::PropertyValue > aXFormsSettings;
881 if (!pTableNode->GetTable().IsNewModel()
882 && pTableNode->GetTable().CanConvertSubtables())
884 pTableNode->GetTable().ConvertSubtables();
891 SvXMLImport::endDocument();
958 if (! (node1 && node2
983 auto pStringListId1 =
dynamic_cast<const SfxStringItem*
>(pListId1);
984 assert(pStringListId1);
985 const OUString& sListId1 = pStringListId1->GetValue();
986 auto pStringListId2 =
dynamic_cast<const SfxStringItem*
>(pListId2);
987 assert(pStringListId2);
988 const OUString& sListId2 = pStringListId2->GetValue();
1001 if (sDefaultListStyleName1 != sDefaultListStyleName2)
1006 if (pNumRule1 && pNumRule2)
1011 if( pNumRule1->
Get(
n ) != pNumRule2->
Get(
n ) )
1018 pListId2Initial = pListId2;
1024 pListId2Initial = pListId2;
1028 if (! pListId2Initial)
1052 if (*pListId2Initial != *pListId2)
1059 contentNode2->
SetAttr(*pListId1);
1089 Reference<drawing::XDrawPage> xPage;
1092 explicit SvTextShapeImportHelper(SvXMLImport& rImp);
1093 virtual ~SvTextShapeImportHelper()
override;
1098SvTextShapeImportHelper::SvTextShapeImportHelper(SvXMLImport& rImp) :
1101 Reference<drawing::XDrawPageSupplier> xSupplier(rImp.GetModel(),UNO_QUERY);
1104 if (rImp.GetFormImport().is())
1106 rImp.GetFormImport()->startPage(xSupplier->getDrawPage());
1107 rFormImport = rImp.GetFormImport();
1110 xPage = xSupplier->getDrawPage();
1115SvTextShapeImportHelper::~SvTextShapeImportHelper()
1117 rFormImport->endPage();
1135 return new SvTextShapeImportHelper( *
this );
1142 SetFontDecls( pFSContext );
1162 bool bShowRedlineChanges =
false, bBrowseMode =
false;
1163 bool bChangeShowRedline =
false, bChangeBrowseMode =
false;
1169 for (
const PropertyValue& rValue : aViewProps)
1171 if ( rValue.Name ==
"ViewAreaTop" )
1173 rValue.Value >>= nTmp;
1176 else if ( rValue.Name ==
"ViewAreaLeft" )
1178 rValue.Value >>= nTmp;
1181 else if ( rValue.Name ==
"ViewAreaWidth" )
1183 rValue.Value >>= nTmp;
1188 else if ( rValue.Name ==
"ViewAreaHeight" )
1190 rValue.Value >>= nTmp;
1195 else if ( rValue.Name ==
"ShowRedlineChanges" )
1197 bShowRedlineChanges = *o3tl::doAccess<bool>(rValue.Value);
1198 bChangeShowRedline =
true;
1201 else if ( rValue.Name ==
"InBrowseMode" )
1203 bBrowseMode = *o3tl::doAccess<bool>(rValue.Value);
1204 bChangeBrowseMode =
true;
1210 if (bChangeBrowseMode)
1213 if (bChangeShowRedline)
1214 GetTextImport()->SetShowChanges( bShowRedlineChanges );
1225 Reference< lang::XMultiServiceFactory > xFac( GetModel(), UNO_QUERY );
1229 Reference< XPropertySet > xProps( xFac->createInstance(
"com.sun.star.document.Settings"), UNO_QUERY );
1233 Reference< XPropertySetInfo > xInfo( xProps->getPropertySetInfo() );
1237 std::unordered_set< OUString > aExcludeAlways;
1238 aExcludeAlways.insert(
"LinkUpdateMode");
1240 std::unordered_set< OUString > aExcludeWhenNotLoadingUserSettings {
1241 "ForbiddenCharacters",
1242 "IsKernAsianPunctuation",
1243 "CharacterCompressionType",
1246 "AddParaTableSpacing",
1247 "AddParaTableSpacingAtStart",
1248 "PrintAnnotationMode",
1255 "PrintPageBackground",
1260 "PrintPaperFromSetup",
1262 "PrintTextPlaceholder",
1264 "UpdateFromTemplate",
1265 "PrinterIndependentLayout",
1267 "ConsiderTextWrapOnObjPos",
1268 "DoNotJustifyLinesWithManualBreak",
1270 "MsWordCompTrailingBlanks",
1271 "SubtractFlysAnchoredAtFlys",
1272 "EmptyDbFieldHidesPara",
1273 "UseVariableWidthNBSP",
1281 bool bPrinterIndependentLayout =
false;
1282 bool bUseOldNumbering =
false;
1283 bool bAddExternalLeading =
false;
1284 bool bAddParaSpacingToTableCells =
false;
1285 bool bAddParaLineSpacingToTableCells =
false;
1286 bool bUseFormerLineSpacing =
false;
1287 bool bUseFormerObjectPositioning =
false;
1288 bool bUseFormerTextWrapping =
false;
1289 bool bConsiderWrapOnObjPos =
false;
1290 bool bIgnoreFirstLineIndentInNumbering =
false;
1291 bool bDoNotJustifyLinesWithManualBreak =
false;
1292 bool bDoNotResetParaAttrsForNumFont =
false;
1293 bool bDoNotCaptureDrawObjsOnPage(
false );
1294 bool bClipAsCharacterAnchoredWriterFlyFrames(
false );
1295 bool bUnixForceZeroExtLeading =
false;
1296 bool bSmallCapsPercentage66 =
false;
1297 bool bTabOverflow =
false;
1298 bool bTabOverMarginValue =
false;
1299 bool bPropLineSpacingShrinksFirstLine =
false;
1300 bool bSubtractFlysAnchoredAtFlys =
false;
1301 bool bEmptyDbFieldHidesPara =
false;
1302 bool bCollapseEmptyCellPara =
false;
1303 bool bAutoFirstLineIndentDisregardLineSpace =
false;
1304 bool bHyphenateURLs =
false;
1305 bool bDoNotBreakWrappedTables =
false;
1306 bool bDropCapPunctuation =
false;
1308 const PropertyValue* currentDatabaseDataSource =
nullptr;
1309 const PropertyValue* currentDatabaseCommand =
nullptr;
1310 const PropertyValue* currentDatabaseCommandType =
nullptr;
1311 const PropertyValue* embeddedDatabaseName =
nullptr;
1313 for(
const PropertyValue& rValue : aConfigProps )
1315 bool bSet = aExcludeAlways.find(rValue.Name) == aExcludeAlways.end();
1316 if( bSet && !bAreUserSettingsFromDocument
1317 && (aExcludeWhenNotLoadingUserSettings.find(rValue.Name)
1318 != aExcludeWhenNotLoadingUserSettings.end()) )
1327 if( xInfo->hasPropertyByName( rValue.Name ) )
1329 if( rValue.Name ==
"RedlineProtectionKey" )
1331 Sequence<sal_Int8> aKey;
1332 rValue.Value >>= aKey;
1333 GetTextImport()->SetChangesProtectionKey( aKey );
1338 if( rValue.Name ==
"CurrentDatabaseDataSource" )
1339 currentDatabaseDataSource = &rValue;
1340 else if( rValue.Name ==
"CurrentDatabaseCommand" )
1341 currentDatabaseCommand = &rValue;
1342 else if( rValue.Name ==
"CurrentDatabaseCommandType" )
1343 currentDatabaseCommandType = &rValue;
1344 else if (rValue.Name ==
"EmbeddedDatabaseName")
1345 embeddedDatabaseName = &rValue;
1347 xProps->setPropertyValue( rValue.Name, rValue.Value );
1352 if ( rValue.Name ==
"PrinterIndependentLayout" )
1353 bPrinterIndependentLayout =
true;
1354 else if ( rValue.Name ==
"AddExternalLeading" )
1355 bAddExternalLeading =
true;
1356 else if ( rValue.Name ==
"AddParaSpacingToTableCells" )
1357 bAddParaSpacingToTableCells =
true;
1358 else if ( rValue.Name ==
"AddParaLineSpacingToTableCells" )
1359 bAddParaLineSpacingToTableCells =
true;
1360 else if ( rValue.Name ==
"UseFormerLineSpacing" )
1361 bUseFormerLineSpacing =
true;
1362 else if ( rValue.Name ==
"UseFormerObjectPositioning" )
1363 bUseFormerObjectPositioning =
true;
1364 else if ( rValue.Name ==
"UseFormerTextWrapping" )
1365 bUseFormerTextWrapping =
true;
1366 else if ( rValue.Name ==
"UseOldNumbering" )
1367 bUseOldNumbering =
true;
1368 else if ( rValue.Name ==
"ConsiderTextWrapOnObjPos" )
1369 bConsiderWrapOnObjPos =
true;
1370 else if ( rValue.Name ==
"IgnoreFirstLineIndentInNumbering" )
1371 bIgnoreFirstLineIndentInNumbering =
true;
1372 else if ( rValue.Name ==
"DoNotJustifyLinesWithManualBreak" )
1373 bDoNotJustifyLinesWithManualBreak =
true;
1374 else if ( rValue.Name ==
"DoNotResetParaAttrsForNumFont" )
1375 bDoNotResetParaAttrsForNumFont =
true;
1376 else if ( rValue.Name ==
"DoNotCaptureDrawObjsOnPage" )
1377 bDoNotCaptureDrawObjsOnPage =
true;
1378 else if ( rValue.Name ==
"ClipAsCharacterAnchoredWriterFlyFrames" )
1379 bClipAsCharacterAnchoredWriterFlyFrames =
true;
1380 else if ( rValue.Name ==
"UnxForceZeroExtLeading" )
1381 bUnixForceZeroExtLeading =
true;
1382 else if ( rValue.Name ==
"SmallCapsPercentage66" )
1383 bSmallCapsPercentage66 =
true;
1384 else if ( rValue.Name ==
"TabOverflow" )
1385 bTabOverflow =
true;
1386 else if ( rValue.Name ==
"TabOverMargin" )
1388 rValue.Value >>= bTabOverMarginValue;
1390 else if ( rValue.Name ==
"PropLineSpacingShrinksFirstLine" )
1391 bPropLineSpacingShrinksFirstLine =
true;
1392 else if (rValue.Name ==
"SubtractFlysAnchoredAtFlys")
1393 bSubtractFlysAnchoredAtFlys =
true;
1394 else if (rValue.Name ==
"EmptyDbFieldHidesPara")
1395 bEmptyDbFieldHidesPara =
true;
1396 else if (rValue.Name ==
"CollapseEmptyCellPara")
1397 bCollapseEmptyCellPara =
true;
1398 else if (rValue.Name ==
"AutoFirstLineIndentDisregardLineSpace")
1399 bAutoFirstLineIndentDisregardLineSpace =
true;
1400 else if (rValue.Name ==
"HyphenateURLs")
1402 bHyphenateURLs =
true;
1404 else if (rValue.Name ==
"DoNotBreakWrappedTables")
1406 rValue.Value >>= bDoNotBreakWrappedTables;
1408 else if ( rValue.Name ==
"DropCapPunctuation" )
1409 bDropCapPunctuation =
true;
1420 if( currentDatabaseDataSource !=
nullptr )
1421 xProps->setPropertyValue( currentDatabaseDataSource->Name, currentDatabaseDataSource->Value );
1422 if( currentDatabaseCommand !=
nullptr )
1423 xProps->setPropertyValue( currentDatabaseCommand->Name, currentDatabaseCommand->Value );
1424 if( currentDatabaseCommandType !=
nullptr )
1425 xProps->setPropertyValue( currentDatabaseCommandType->Name, currentDatabaseCommandType->Value );
1426 if (embeddedDatabaseName)
1427 xProps->setPropertyValue(embeddedDatabaseName->Name, embeddedDatabaseName->Value);
1436 const bool bDocumentPriorSO8 = !bConsiderWrapOnObjPos && bAreUserSettingsFromDocument;
1440 if(!bPrinterIndependentLayout && bAreUserSettingsFromDocument)
1442 xProps->setPropertyValue(
"PrinterIndependentLayout",
Any(sal_Int16(document::PrinterIndependentLayout::DISABLED)) );
1445 if( ! bAddExternalLeading )
1447 xProps->setPropertyValue(
"AddExternalLeading",
Any(
false ) );
1450 if( ! bUseFormerLineSpacing )
1452 xProps->setPropertyValue(
"UseFormerLineSpacing",
Any(
true ) );
1455 if( !bUseFormerObjectPositioning )
1457 xProps->setPropertyValue(
"UseFormerObjectPositioning",
Any(
true ) );
1460 if( !bUseOldNumbering )
1462 xProps->setPropertyValue(
"UseOldNumbering",
Any(
true) );
1465 if( !bAddParaSpacingToTableCells )
1467 xProps->setPropertyValue(
"AddParaSpacingToTableCells",
1470 if (!bAddParaLineSpacingToTableCells)
1472 xProps->setPropertyValue(
"AddParaLineSpacingToTableCells",
Any(
false));
1475 if( !bUseFormerTextWrapping )
1477 xProps->setPropertyValue(
"UseFormerTextWrapping",
Any(
true ) );
1480 if (!bConsiderWrapOnObjPos && bAreUserSettingsFromDocument)
1482 xProps->setPropertyValue(
"ConsiderTextWrapOnObjPos",
Any(
false ) );
1496 if( !bIgnoreFirstLineIndentInNumbering && bDocumentPriorSO8 )
1498 xProps->setPropertyValue(
"IgnoreFirstLineIndentInNumbering",
1503 if ( !bDoNotJustifyLinesWithManualBreak && bDocumentPriorSO8 )
1505 xProps->setPropertyValue(
"DoNotJustifyLinesWithManualBreak",
1510 if ( !bDoNotResetParaAttrsForNumFont && bDocumentPriorSO8 )
1512 xProps->setPropertyValue(
"DoNotResetParaAttrsForNumFont",
1517 if ( !bDoNotCaptureDrawObjsOnPage && bDocumentPriorSO8 )
1519 xProps->setPropertyValue(
"DoNotCaptureDrawObjsOnPage",
1524 if ( !bClipAsCharacterAnchoredWriterFlyFrames && bDocumentPriorSO8 )
1526 xProps->setPropertyValue(
"ClipAsCharacterAnchoredWriterFlyFrames",
1530 if ( !bUnixForceZeroExtLeading )
1532 xProps->setPropertyValue(
"UnxForceZeroExtLeading",
Any(
true ) );
1539 if ( !bSmallCapsPercentage66 )
1541 xProps->setPropertyValue(
"SmallCapsPercentage66",
Any(
true ) );
1544 if ( !bTabOverflow )
1546 xProps->setPropertyValue(
"TabOverflow",
Any(
false ) );
1549 if (bTabOverMarginValue)
1553 xProps->setPropertyValue(
1554 "PrinterIndependentLayout",
1555 uno::Any(document::PrinterIndependentLayout::HIGH_RESOLUTION));
1557 if (!bPropLineSpacingShrinksFirstLine)
1558 xProps->setPropertyValue(
"PropLineSpacingShrinksFirstLine",
Any(
false));
1560 if (!bSubtractFlysAnchoredAtFlys && bAreUserSettingsFromDocument)
1561 xProps->setPropertyValue(
"SubtractFlysAnchoredAtFlys",
Any(
true));
1563 if (!bEmptyDbFieldHidesPara && bAreUserSettingsFromDocument)
1564 xProps->setPropertyValue(
"EmptyDbFieldHidesPara",
Any(
false));
1566 if (!bCollapseEmptyCellPara)
1567 xProps->setPropertyValue(
"CollapseEmptyCellPara",
Any(
false));
1569 if (!bAutoFirstLineIndentDisregardLineSpace)
1570 xProps->setPropertyValue(
"AutoFirstLineIndentDisregardLineSpace",
Any(
false));
1572 if (!bHyphenateURLs)
1574 xProps->setPropertyValue(
"HyphenateURLs",
Any(
true));
1577 if (bDoNotBreakWrappedTables)
1579 xProps->setPropertyValue(
"DoNotBreakWrappedTables",
Any(
true));
1586 if ( !bDropCapPunctuation )
1588 xProps->setPropertyValue(
"DropCapPunctuation",
Any(
false ) );
1605 const OUString& _rSettingsGroupName,
1606 const Sequence< PropertyValue>& _rSettings )
1614 OSL_ENSURE(
m_xLateInitSettings.is(),
"SwXMLImport::SetDocumentSpecificSettings: no storage for those settings!" );
1623 OSL_FAIL(
"SwXMLImport::SetDocumentSpecificSettings: already have settings for this model!" );
1634 const Sequence<Any>& aArguments )
1642 beans::NamedValue aNamedValue;
1643 if ( rArgument >>= aNamedValue )
1645 if (aNamedValue.Name ==
"LateInitSettings")
1656 auto pXTextDocument = comphelper::getFromUnoTunnel<SwXTextDocument>(GetModel());
1657 if( pXTextDocument ==
nullptr )
1674 Reference < XTextDocument > xTextDoc( GetModel(), UNO_QUERY );
1675 Reference < XText > xText = xTextDoc->getText();
1677 assert( pText !=
nullptr );
1679 assert(
m_pDoc !=
nullptr );
1688extern "C" SAL_DLLPUBLIC_EXPORT css::uno::XInterface*
1690 css::uno::Sequence<css::uno::Any>
const &)
1692 return cppu::acquire(
new SwXMLImport(context,
"com.sun.star.comp.Writer.XMLOasisImporter",
1693 SvXMLImportFlags::ALL));
1697extern "C" SAL_DLLPUBLIC_EXPORT css::uno::XInterface*
1699 css::uno::Sequence<css::uno::Any>
const &)
1701 return cppu::acquire(
new SwXMLImport(context,
"com.sun.star.comp.Writer.XMLOasisStylesImporter",
1702 SvXMLImportFlags::STYLES | SvXMLImportFlags::MASTERSTYLES | SvXMLImportFlags::AUTOSTYLES |
1703 SvXMLImportFlags::FONTDECLS));
1707extern "C" SAL_DLLPUBLIC_EXPORT css::uno::XInterface*
1709 css::uno::Sequence<css::uno::Any>
const &)
1711 return cppu::acquire(
new SwXMLImport(context,
"com.sun.star.comp.Writer.XMLOasisContentImporter",
1712 SvXMLImportFlags::CONTENT | SvXMLImportFlags::SCRIPTS | SvXMLImportFlags::AUTOSTYLES |
1713 SvXMLImportFlags::FONTDECLS));
1716extern "C" SAL_DLLPUBLIC_EXPORT css::uno::XInterface*
1718 css::uno::Sequence<css::uno::Any>
const &)
1720 return cppu::acquire(
new SwXMLImport(context,
"com.sun.star.comp.Writer.XMLOasisMetaImporter",
1721 SvXMLImportFlags::META));
1725extern "C" SAL_DLLPUBLIC_EXPORT css::uno::XInterface*
1727 css::uno::Sequence<css::uno::Any>
const &)
1729 return cppu::acquire(
new SwXMLImport(context,
"com.sun.star.comp.Writer.XMLOasisSettingsImporter",
1730 SvXMLImportFlags::SETTINGS));
1743 uno::Reference<uno::XInterface> xInterface(xMultiServiceFactory->createInstance(
"com.sun.star.comp.Writer.XmlFilterAdaptor"), uno::UNO_SET_THROW);
1745 css::uno::Sequence<OUString> aUserData
1747 "com.sun.star.comp.filter.OdfFlatXml",
1749 "com.sun.star.comp.Writer.XMLOasisImporter",
1750 "com.sun.star.comp.Writer.XMLOasisExporter",
1757 {
"UserData",
uno::Any(aUserData) },
1759 css::uno::Sequence<uno::Any> aOuterArgs{
uno::Any(aAdaptorArgs) };
1761 uno::Reference<lang::XInitialization> xInit(xInterface, uno::UNO_QUERY_THROW);
1762 xInit->initialize(aOuterArgs);
1764 uno::Reference<document::XImporter> xImporter(xInterface, uno::UNO_QUERY_THROW);
1768 {
"URL",
uno::Any(OUString(
"private:stream")) },
1770 xImporter->setTargetDocument(
xModel);
1772 uno::Reference<document::XFilter> xFilter(xInterface, uno::UNO_QUERY_THROW);
1778 bool ret = xFilter->filter(aArgs);
1791 OUString resultString(str.getStr(), str.getLength(), RTL_TEXTENCODING_ASCII_US,
1792 RTL_TEXTTOUNICODE_FLAGS_UNDEFINED_DEFAULT|RTL_TEXTTOUNICODE_FLAGS_MBUNDEFINED_DEFAULT|RTL_TEXTTOUNICODE_FLAGS_INVALID_DEFAULT);
1793 if (!resultString.startsWith(
"<?xml") || resultString.indexOf(
"office:mimetype=\"application/vnd.oasis.opendocument.text\"") == -1)
1797 Reference<css::frame::XFrame> xTargetFrame = xDesktop->findFrame(
"_blank", 0);
1800 Reference<css::frame::XModel2>
xModel(xContext->getServiceManager()->createInstanceWithContext(
1801 "com.sun.star.text.TextDocument", xContext), UNO_QUERY_THROW);
1803 Reference<css::frame::XLoadable> xModelLoad(
xModel, UNO_QUERY_THROW);
1804 xModelLoad->initNew();
1808 uno::Reference<uno::XInterface> xInterface(xMultiServiceFactory->createInstance(
"com.sun.star.comp.Writer.XmlFilterAdaptor"), uno::UNO_SET_THROW);
1810 css::uno::Sequence<OUString> aUserData
1812 "com.sun.star.comp.filter.OdfFlatXml",
1814 "com.sun.star.comp.Writer.XMLOasisImporter",
1815 "com.sun.star.comp.Writer.XMLOasisExporter",
1822 {
"UserData",
uno::Any(aUserData) },
1824 css::uno::Sequence<uno::Any> aOuterArgs{
uno::Any(aAdaptorArgs) };
1826 uno::Reference<lang::XInitialization> xInit(xInterface, uno::UNO_QUERY_THROW);
1827 xInit->initialize(aOuterArgs);
1829 uno::Reference<document::XImporter> xImporter(xInterface, uno::UNO_QUERY_THROW);
1833 {
"URL",
uno::Any(OUString(
"private:stream")) },
1835 xImporter->setTargetDocument(
xModel);
1837 uno::Reference<document::XFilter> xFODTFilter(xInterface, uno::UNO_QUERY_THROW);
1838 bool ret = xFODTFilter->filter(aArgs);
1840 css::uno::Reference<css::frame::XController2>
xController(
xModel->createDefaultViewController(xTargetFrame), UNO_SET_THROW);
1849 uno::Reference<document::XFilter> xPDFFilter(
1850 xMultiServiceFactory->createInstance(
"com.sun.star.document.PDFFilter"), uno::UNO_QUERY);
1851 uno::Reference<document::XExporter> xExporter(xPDFFilter, uno::UNO_QUERY);
1852 xExporter->setSourceDocument(
xModel);
1860 {
"PageRange",
uno::Any(OUString(
"1-100")) }
1863 {
"FilterName",
uno::Any(OUString(
"writer_pdf_Export")) },
1864 {
"OutputStream",
uno::Any(xOutputStream) },
1865 {
"FilterData",
uno::Any(aFilterData) }
1867 xPDFFilter->filter(aDescriptor);
1868 aOutputStream.
Close();
1871 css::uno::Reference<css::util::XCloseable> xClose(
xModel, css::uno::UNO_QUERY);
1872 xClose->close(
false);
1888 uno::Reference<document::XFilter> xFilter(xMultiServiceFactory->createInstance(
"com.sun.star.comp.Writer.WriterFilter"), uno::UNO_QUERY_THROW);
1890 uno::Reference<document::XImporter> xImporter(xFilter, uno::UNO_QUERY_THROW);
1896 xImporter->setTargetDocument(
xModel);
1906 ret = xFilter->filter(aArgs);
constexpr sal_Int64 sanitiseMm100ToTwip(sal_Int64 n)
virtual bool SplitNode(const SwPosition &rPos, bool bChkTableStart)=0
Split a node at rPos (implemented only for TextNode).
virtual SfxPrinter * getPrinter(bool bCreate) const =0
Return the printer set at the document.
virtual SwDrawModel * GetOrCreateDrawModel()=0
virtual const SwDrawModel * GetDrawModel() const =0
Draw Model and id accessors.
virtual SwList * getListByName(const OUString &rListId) const =0
virtual void set(DocumentSettingId id, bool value)=0
Set the specified document setting.
virtual SwTextFormatColl * GetTextCollFromPool(sal_uInt16 nId, bool bRegardLanguage=true)=0
Return "Auto-Collection with ID.
MapUnit GetMapUnit() const
css::uno::Reference< css::frame::XModel3 > GetModel() const
void SetLoading(SfxLoadedFlags nFlags)
void setWidth(tools::Long nWidth)
void setHeight(tools::Long nHeight)
sal_uInt64 Seek(sal_uInt64 nPos)
static rtl::Reference< SvXMLEmbeddedObjectHelper > Create(const css::uno::Reference< css::embed::XStorage > &, ::comphelper::IEmbeddedHelper &rDocPersist, SvXMLEmbeddedObjectHelperMode eCreateMode)
static rtl::Reference< SvXMLGraphicHelper > Create(const css::uno::Reference< css::embed::XStorage > &rXMLStorage, SvXMLGraphicHelperMode eCreateMode)
SvXMLImport & GetImport()
virtual css::uno::Reference< XFastContextHandler > SAL_CALL createFastChildContext(sal_Int32 Element, const css::uno::Reference< css::xml::sax::XFastAttributeList > &Attribs) override
virtual css::uno::Reference< css::xml::sax::XFastContextHandler > SAL_CALL createFastChildContext(sal_Int32 nElement, const css::uno::Reference< css::xml::sax::XFastAttributeList > &xAttrList) override
bool CanJoinNext(SwNodeIndex *pIdx=nullptr) const
Is it possible to join two nodes? In pIdx the second position can be returned.
virtual bool SetAttr(const SfxPoolItem &)
made virtual
bool CanJoinPrev(SwNodeIndex *pIdx=nullptr) const
Can we join two Nodes? We can return the 2nd position in pIdx.
const SfxPoolItem * GetNoCondAttr(sal_uInt16 nWhich, bool bInParents) const
Obtains attribute that is not delivered via conditional style!
SwCursor * GetCursor(bool bMakeTableCursor=true) const
Return pointer to the current shell cursor.
virtual tools::Rectangle GetVisArea(sal_uInt16 nAspect) const override
virtual void SetVisArea(const tools::Rectangle &rRect) override
OLE-stuff.
SwDoc * GetDoc()
returns Doc. But be careful!
void SetInReading(bool bNew)
IDocumentDeviceAccess const & getIDocumentDeviceAccess() const
SwNumRule * FindNumRulePtr(const OUString &rName) const
void SetOLEPrtNotifyPending(bool bSet=true)
void PrtOLENotify(bool bAll)
IDocumentContentOperations const & getIDocumentContentOperations() const
bool IsInXMLImport() const
SwEditShell const * GetEditShell() const
IDocumentSettingAccess const & getIDocumentSettingAccess() const
SfxObjectShell * GetPersist() const
void SetInXMLImport(bool bNew)
void initXForms(bool bCreateDefaultModel)
IDocumentStylePoolAccess const & getIDocumentStylePoolAccess() const
IDocumentDrawModelAccess const & getIDocumentDrawModelAccess() const
bool IsOLEPrtNotifyPending() const
bool SetTextFormatColl(const SwPaM &rRg, SwTextFormatColl *pFormat, const bool bReset=true, const bool bResetListAttrs=false, SwRootFrame const *pLayout=nullptr)
Add 4th optional parameter <bResetListAttrs>.
SwDocShell * GetDocShell()
IDocumentListsAccess const & getIDocumentListsAccess() const
const OUString & GetDefaultListStyleName() const
Marks a node in the document model.
SwNodeOffset GetIndex() const
Base class of the Writer document model elements.
SwTextNode * GetTextNode()
Inline methods from Node.hxx.
bool IsContentNode() const
SwNodeOffset StartOfSectionIndex() const
bool IsSectionNode() const
const SwStartNode * StartOfSectionNode() const
SwNodeOffset EndOfSectionIndex() const
SwNodeType GetNodeType() const
void Delete(const SwNodeIndex &rPos, SwNodeOffset nNodes=SwNodeOffset(1))
SwNodeOffset Count() const
const SwNumFormat & Get(sal_uInt16 i) const
PaM is Point and Mark: a selection of the document model.
const SwPosition * GetMark() const
virtual void SetMark()
Unless this is called, the getter method of Mark will return Point.
SwContentNode * GetPointContentNode() const
bool Move(SwMoveFnCollection const &fnMove=fnMoveForward, SwGoInDoc fnGo=GoInContent)
Movement of cursor.
SwPosition & GetBound(bool bOne=true)
const SwPosition * GetPoint() const
bool HasMark() const
A PaM marks a selection if Point and Mark are distinct positions.
SwTextNode is a paragraph in the document model.
virtual SwContentNode * JoinNext() override
void FormatToTextAttr(SwTextNode *pNd)
Convey attributes of an AttrSet (AutoFormat) to SwpHintsArray.
virtual SwFormatColl * ChgFormatColl(SwFormatColl *) override
void CopyCollFormat(SwTextNode &rDestNd, bool bUndoForChgFormatColl=true)
Copy collection with all auto formats to dest-node.
const OUString & GetText() const
SwTextFormatColl * GetTextColl() const
virtual bool ResetAttr(sal_uInt16 nWhich1, sal_uInt16 nWhich2=0) override
virtual void SAL_CALL endDocument() override
rtl::Reference< SvXMLEmbeddedObjectHelper > m_xEmbeddedResolver
virtual void SetDocumentSpecificSettings(const OUString &_rSettingsGroupName, const css::uno::Sequence< css::beans::PropertyValue > &_rSettings) override
const SwDoc * getDoc() const
virtual ~SwXMLImport() noexcept override
SvXMLImportContext * CreateMetaContext(const sal_Int32 nElement)
css::uno::Reference< css::container::XNameContainer > m_xLateInitSettings
rtl::Reference< SvXMLGraphicHelper > m_xGraphicStorageHandler
virtual XMLShapeImportHelper * CreateShapeImport() override
css::uno::Reference< css::document::XDocumentProperties > GetDocumentProperties() const
virtual SvXMLImportContext * CreateFastContext(sal_Int32 nElement, const ::css::uno::Reference< ::css::xml::sax::XFastAttributeList > &xAttrList) override
SwXMLImport(const css::uno::Reference< css::uno::XComponentContext > &rContext, OUString const &implementationName, SvXMLImportFlags nImportFlags)
virtual void SAL_CALL startDocument() override
virtual void SAL_CALL initialize(const css::uno::Sequence< css::uno::Any > &aArguments) override
std::optional< SwNodeIndex > m_oSttNdIdx
void UpdateTextCollConditions(SwDoc *pDoc)
SfxStyleFamily GetStyleFamilyMask() const
virtual void initXForms() override
void setTextInsertMode(const css::uno::Reference< css::text::XTextRange > &rInsertPos)
virtual XMLTextImportHelper * CreateTextImport() override
void setStyleInsertMode(SfxStyleFamily nFamilies, bool bOverwrite)
virtual void SetViewSettings(const css::uno::Sequence< css::beans::PropertyValue > &aViewProps) override
void MergeListsAtDocumentInsertPosition(SwDoc *pDoc)
SvXMLImportContext * CreateBodyContentContext()
bool IsInsertMode() const
SfxStyleFamily m_nStyleFamilyMask
bool IsStylesOnlyMode() const
SvXMLImportContext * CreateFontDeclsContext()
virtual void SetConfigurationSettings(const css::uno::Sequence< css::beans::PropertyValue > &aConfigProps) override
const SwDoc * GetDoc() const
void endPage(css::uno::Reference< css::drawing::XShapes > const &rShapes)
void startPage(css::uno::Reference< css::drawing::XShapes > const &rShapes)
void EnableKillingFile(bool bEnable=true)
OUString const & GetURL() const
#define TOOLS_WARN_EXCEPTION(area, stream)
constexpr TypedWhichId< SfxStringItem > RES_PARATR_LIST_ID(RES_PARATR_LIST_BEGIN)
constexpr sal_uInt16 RES_CHRATR_END(46)
constexpr sal_uInt16 RES_CHRATR_BEGIN(HINT_BEGIN)
Sequence< PropertyValue > aArguments
#define SAL_WARN(area, stream)
if(aStr !=aBuf) UpdateName_Impl(m_xFollowLb.get()
tDoubleVectorPair cleanup(const css::uno::Sequence< double > &rXValues, const css::uno::Sequence< double > &rYValues, Pred aPred)
Reference< XMultiServiceFactory > getProcessServiceFactory()
Reference< XComponentContext > getProcessComponentContext()
css::uno::Sequence< css::beans::PropertyValue > InitPropertySequence(::std::initializer_list< ::std::pair< OUString, css::uno::Any > > vInit)
constexpr OUStringLiteral implementationName
detail::Optional< bool >::type tryAccess< bool >(css::uno::Any const &any)
css::uno::Reference< css::linguistic2::XProofreadingIterator > get(css::uno::Reference< css::uno::XComponentContext > const &context)
void ConnectFrameControllerModel(const css::uno::Reference< css::frame::XFrame > &xFrame, const css::uno::Reference< css::frame::XController2 > &xController, const css::uno::Reference< css::frame::XModel > &xModel)
bool IsXMLToken(std::u16string_view rString, enum XMLTokenEnum eToken)
const OUString & GetXMLToken(enum XMLTokenEnum eToken)
o3tl::strong_int< sal_Int32, struct Tag_SwNodeOffset > SwNodeOffset
SwMoveFnCollection const & fnMoveBackward
@ RES_POOLCOLL_STANDARD
Standard.
TOOLS_DLLPUBLIC OString read_uInt8s_ToOString(SvStream &rStrm, std::size_t nUnits)
#define STREAM_SEEK_TO_BEGIN
Marks a position in the document model.
void Adjust(SwNodeOffset nDelta)
Adjust node position, and resets content position to zero.
void Assign(const SwNode &rNd, SwNodeOffset nDelta, sal_Int32 nContentOffset=0)
These all set both nNode and nContent.
void SetContent(sal_Int32 nContentIndex)
Set content index, only valid to call this if the position points to a SwContentNode subclass.
SwNodeOffset GetNodeIndex() const
sal_Int32 GetContentIndex() const
Reference< XController > xController
Reference< XModel > xModel
OUString SwResId(TranslateId aId)
constexpr sal_uInt8 MAXLEVEL
#define XMLOFF_WARN_UNKNOWN_ELEMENT(area, token)
SAL_DLLPUBLIC_EXPORT css::uno::XInterface * com_sun_star_comp_Writer_XMLOasisStylesImporter_get_implementation(css::uno::XComponentContext *context, css::uno::Sequence< css::uno::Any > const &)
SAL_DLLPUBLIC_EXPORT bool TestImportDOCX(SvStream &rStream)
SAL_DLLPUBLIC_EXPORT bool TestImportFODT(SvStream &rStream)
SAL_DLLPUBLIC_EXPORT css::uno::XInterface * com_sun_star_comp_Writer_XMLOasisMetaImporter_get_implementation(css::uno::XComponentContext *context, css::uno::Sequence< css::uno::Any > const &)
static OTextCursorHelper * lcl_xml_GetSwXTextCursor(const Reference< XTextCursor > &rTextCursor)
SAL_DLLPUBLIC_EXPORT bool TestPDFExportFODT(SvStream &rStream)
SAL_DLLPUBLIC_EXPORT css::uno::XInterface * com_sun_star_comp_Writer_XMLOasisContentImporter_get_implementation(css::uno::XComponentContext *context, css::uno::Sequence< css::uno::Any > const &)
SAL_DLLPUBLIC_EXPORT css::uno::XInterface * com_sun_star_comp_Writer_XMLOasisSettingsImporter_get_implementation(css::uno::XComponentContext *context, css::uno::Sequence< css::uno::Any > const &)
SAL_DLLPUBLIC_EXPORT css::uno::XInterface * com_sun_star_comp_Writer_XMLOasisImporter_get_implementation(css::uno::XComponentContext *context, css::uno::Sequence< css::uno::Any > const &)
#define PROGRESS_BAR_STEP
#define XML_ELEMENT(prefix, name)
constexpr sal_Int32 TOKEN_MASK