summaryrefslogtreecommitdiff
path: root/sw/source/writerfilter/dmapper/NumberingManager.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'sw/source/writerfilter/dmapper/NumberingManager.cxx')
-rw-r--r--sw/source/writerfilter/dmapper/NumberingManager.cxx27
1 files changed, 14 insertions, 13 deletions
diff --git a/sw/source/writerfilter/dmapper/NumberingManager.cxx b/sw/source/writerfilter/dmapper/NumberingManager.cxx
index ec8e1be07c7f..3b72a2008709 100644
--- a/sw/source/writerfilter/dmapper/NumberingManager.cxx
+++ b/sw/source/writerfilter/dmapper/NumberingManager.cxx
@@ -44,6 +44,8 @@
#include <comphelper/sequence.hxx>
#include <comphelper/propertyvalue.hxx>
#include <comphelper/string.hxx>
+#include <unotxdoc.hxx>
+#include <unoxstyle.hxx>
#include <regex>
#include <utility>
@@ -471,14 +473,15 @@ uno::Sequence<uno::Sequence<beans::PropertyValue>> ListDef::GetMergedPropertyVal
}
static uno::Reference< container::XNameContainer > lcl_getUnoNumberingStyles(
- uno::Reference<lang::XMultiServiceFactory> const& xFactory)
+ rtl::Reference<SwXTextDocument> const& xTextDoc)
{
uno::Reference< container::XNameContainer > xStyles;
+ if (!xTextDoc)
+ return xStyles;
try
{
- uno::Reference< style::XStyleFamiliesSupplier > xFamilies( xFactory, uno::UNO_QUERY_THROW );
- uno::Any oFamily = xFamilies->getStyleFamilies( )->getByName("NumberingStyles");
+ uno::Any oFamily = xTextDoc->getStyleFamilies( )->getByName("NumberingStyles");
oFamily >>= xStyles;
}
@@ -523,13 +526,13 @@ sal_uInt16 ListDef::GetChapterNumberingWeight() const
}
void ListDef::CreateNumberingRules( DomainMapper& rDMapper,
- uno::Reference<lang::XMultiServiceFactory> const& xFactory, sal_Int16 nOutline)
+ rtl::Reference<SwXTextDocument> const& xTextDoc, sal_Int16 nOutline)
{
// Get the UNO Numbering styles
- uno::Reference< container::XNameContainer > xStyles = lcl_getUnoNumberingStyles( xFactory );
+ uno::Reference< container::XNameContainer > xStyles = lcl_getUnoNumberingStyles( xTextDoc );
// Do the whole thing
- if( !(!m_xNumRules.is() && xFactory.is() && xStyles.is( )) )
+ if( !(!m_xNumRules.is() && xTextDoc.is() && xStyles.is( )) )
return;
try
@@ -540,7 +543,7 @@ void ListDef::CreateNumberingRules( DomainMapper& rDMapper,
else
xStyles->insertByName(
GetStyleName(GetId(), xStyles),
- css::uno::Any(xFactory->createInstance("com.sun.star.style.NumberingStyle")));
+ css::uno::Any(uno::Reference<css::style::XStyle>(xTextDoc->createNumberingStyle())));
uno::Any oStyle = xStyles->getByName(GetStyleName());
uno::Reference< beans::XPropertySet > xStyle( oStyle, uno::UNO_QUERY_THROW );
@@ -601,10 +604,8 @@ void ListDef::CreateNumberingRules( DomainMapper& rDMapper,
// Handle the outline level here
if (GetId() == nOutline && pAbsLevel && pAbsLevel->GetParaStyle())
{
- uno::Reference< text::XChapterNumberingSupplier > xOutlines (
- xFactory, uno::UNO_QUERY_THROW );
uno::Reference< container::XIndexReplace > xOutlineRules =
- xOutlines->getChapterNumberingRules( );
+ xTextDoc->getChapterNumberingRules( );
StyleSheetEntryPtr pParaStyle = pAbsLevel->GetParaStyle( );
pParaStyle->m_bAssignedAsChapterNumbering = true;
@@ -641,11 +642,11 @@ void ListDef::CreateNumberingRules( DomainMapper& rDMapper,
ListsManager::ListsManager(DomainMapper& rDMapper,
- uno::Reference<lang::XMultiServiceFactory> xFactory)
+ rtl::Reference<SwXTextDocument> xTextDoc)
: LoggedProperties("ListsManager")
, LoggedTable("ListsManager")
, m_rDMapper(rDMapper)
- , m_xFactory(std::move(xFactory))
+ , m_xTextDoc(std::move(xTextDoc))
{
}
@@ -1202,7 +1203,7 @@ void ListsManager::CreateNumberingRules( )
// Loop over the definitions
for ( const auto& rList : m_aLists )
{
- rList->CreateNumberingRules(m_rDMapper, m_xFactory, nChosenAsChapterNumberingId);
+ rList->CreateNumberingRules(m_rDMapper, m_xTextDoc, nChosenAsChapterNumberingId);
}
m_rDMapper.GetStyleSheetTable()->ReApplyInheritedOutlineLevelFromChapterNumbering();
m_rDMapper.GetStyleSheetTable()->ApplyNumberingStyleNameToParaStyles();