sc/source/filter/xml/xmlexprt.cxx |  138 +++++++++++++++++---------------------
 sc/source/filter/xml/xmlexprt.hxx |   12 +--
 2 files changed, 70 insertions(+), 80 deletions(-)

New commits:
commit 27dca15c9e091b8702a8a5bb752bf528b4e5ef03
Author:     Noel Grandin <[email protected]>
AuthorDate: Tue Jun 24 16:02:28 2025 +0200
Commit:     Noel Grandin <[email protected]>
CommitDate: Wed Jun 25 11:28:49 2025 +0200

    use more concrete UNO classes in sc/../filter/xml
    
    Change-Id: Ia1ecdb7c7f2b67caffa8af3f9ef6f4e8a8282776
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186923
    Tested-by: Jenkins
    Reviewed-by: Noel Grandin <[email protected]>

diff --git a/sc/source/filter/xml/xmlexprt.cxx 
b/sc/source/filter/xml/xmlexprt.cxx
index 4b3309d0525f..5d8b0236bb34 100644
--- a/sc/source/filter/xml/xmlexprt.cxx
+++ b/sc/source/filter/xml/xmlexprt.cxx
@@ -160,6 +160,7 @@
 #include <vector>
 #include <vbahelper/vbaaccesshelper.hxx>
 #include <officecfg/Office/Common.hxx>
+#include <cellsuno.hxx>
 
 namespace com::sun::star::uno { class XComponentContext; }
 
@@ -486,11 +487,11 @@ void ScXMLExport::CollectSharedData(SCTAB& nTableCount, 
sal_Int32& nShapesCount)
     if (!GetModel().is())
         return;
 
-    uno::Reference <sheet::XSpreadsheetDocument> xSpreadDoc(GetModel(), 
uno::UNO_QUERY);
+    rtl::Reference<ScModelObj> xSpreadDoc = 
comphelper::getFromUnoTunnel<ScModelObj>(GetModel());
     if (!xSpreadDoc.is())
         return;
 
-    uno::Reference<container::XIndexAccess> xIndex(xSpreadDoc->getSheets(), 
uno::UNO_QUERY);
+    rtl::Reference<ScTableSheetsObj> xIndex(xSpreadDoc->getScSheets());
     if (!xIndex.is())
         return;
 
@@ -503,7 +504,7 @@ void ScXMLExport::CollectSharedData(SCTAB& nTableCount, 
sal_Int32& nShapesCount)
     for (SCTAB nTable = 0; nTable < nTableCount; ++nTable)
     {
         nCurrentTable = sal::static_int_cast<sal_uInt16>(nTable);
-        uno::Reference<drawing::XDrawPageSupplier> 
xDrawPageSupplier(xIndex->getByIndex(nTable), uno::UNO_QUERY);
+        rtl::Reference<ScTableSheetObj> 
xDrawPageSupplier(xIndex->GetSheetByIndex(nTable));
         if (!xDrawPageSupplier.is())
             continue;
 
@@ -648,10 +649,9 @@ void ScXMLExport::ExportMeta_()
     };
 
     // update document statistics at the model
-    uno::Reference<document::XDocumentPropertiesSupplier> xPropSup(GetModel(),
-        uno::UNO_QUERY_THROW);
+    rtl::Reference<ScModelObj> xSpreadDoc = 
comphelper::getFromUnoTunnel<ScModelObj>(GetModel());
     uno::Reference<document::XDocumentProperties> xDocProps(
-        xPropSup->getDocumentProperties());
+        xSpreadDoc->getDocumentProperties());
     if (xDocProps.is()) {
         xDocProps->setDocumentStatistics(stats);
     }
@@ -1617,27 +1617,26 @@ void ScXMLExport::GetColumnRowHeader(const ScDocument& 
rDoc, bool& rHasColumnHea
                                      bool& rHasRowHeader, ScRange& 
rRowHeaderRange,
                                      OUString& rPrintRanges) const
 {
-    uno::Reference <sheet::XPrintAreas> xPrintAreas (xCurrentTable, 
uno::UNO_QUERY);
-    if (!xPrintAreas.is())
+    if (!xCurrentTable.is())
         return;
 
-    rHasRowHeader = xPrintAreas->getPrintTitleRows();
-    rHasColumnHeader = xPrintAreas->getPrintTitleColumns();
-    table::CellRangeAddress rTempRowHeaderRange = xPrintAreas->getTitleRows();
+    rHasRowHeader = xCurrentTable->getPrintTitleRows();
+    rHasColumnHeader = xCurrentTable->getPrintTitleColumns();
+    table::CellRangeAddress rTempRowHeaderRange = 
xCurrentTable->getTitleRows();
     rRowHeaderRange = ScRange(rTempRowHeaderRange.StartColumn,
                               rTempRowHeaderRange.StartRow,
                               rTempRowHeaderRange.Sheet,
                               rTempRowHeaderRange.EndColumn,
                               rTempRowHeaderRange.EndRow,
                               rTempRowHeaderRange.Sheet);
-    table::CellRangeAddress rTempColumnHeaderRange = 
xPrintAreas->getTitleColumns();
+    table::CellRangeAddress rTempColumnHeaderRange = 
xCurrentTable->getTitleColumns();
     rColumnHeaderRange = ScRange(rTempColumnHeaderRange.StartColumn,
                               rTempColumnHeaderRange.StartRow,
                               rTempColumnHeaderRange.Sheet,
                               rTempColumnHeaderRange.EndColumn,
                               rTempColumnHeaderRange.EndRow,
                               rTempColumnHeaderRange.Sheet);
-    uno::Sequence< table::CellRangeAddress > aRangeList( 
xPrintAreas->getPrintAreas() );
+    uno::Sequence< table::CellRangeAddress > aRangeList( 
xCurrentTable->getPrintAreas() );
     ScRangeStringConverter::GetStringFromRangeList( rPrintRanges, aRangeList, 
&rDoc, FormulaGrammar::CONV_OOO );
 }
 
@@ -1848,9 +1847,9 @@ const ScXMLEditAttributeMap& 
ScXMLExport::GetEditAttributeMap() const
     return *mpEditAttrMap;
 }
 
-void ScXMLExport::RegisterDefinedStyleNames( const uno::Reference< 
css::sheet::XSpreadsheetDocument > & xSpreadDoc )
+void ScXMLExport::RegisterDefinedStyleNames( const rtl::Reference<ScModelObj> 
& xSpreadDoc )
 {
-    ScFormatSaveData* pFormatData = 
comphelper::getFromUnoTunnel<ScModelObj>(xSpreadDoc)->GetFormatSaveData();
+    ScFormatSaveData* pFormatData = xSpreadDoc->GetFormatSaveData();
     auto xAutoStylePool = GetAutoStylePool();
     for (const auto& rFormatInfo : pFormatData->maIDToName)
     {
@@ -1874,24 +1873,22 @@ void ScXMLExport::ExportContent_()
     if (!GetModel().is())
         return;
 
-    uno::Reference <sheet::XSpreadsheetDocument> xSpreadDoc( GetModel(), 
uno::UNO_QUERY );
-    if ( !xSpreadDoc.is() )
+    rtl::Reference<ScModelObj> xSpreadDoc = 
comphelper::getFromUnoTunnel<ScModelObj>(GetModel());
+    if ( !xSpreadDoc )
         return;
 
-    ScModelObj* pModel = comphelper::getFromUnoTunnel<ScModelObj>(xSpreadDoc);
-
-    ScDocument* pDoc = pModel->GetDocument();
+    ScDocument* pDoc = xSpreadDoc->GetDocument();
     if (!pDoc)
     {
         SAL_WARN("sc", "no ScDocument!");
         return;
     }
 
-    ScSheetSaveData* pSheetData = pModel->GetSheetSaveData();
+    ScSheetSaveData* pSheetData = xSpreadDoc->GetSheetSaveData();
     if (pSheetData)
         pSheetData->ResetSaveEntries();
 
-    uno::Reference<container::XIndexAccess> xIndex( xSpreadDoc->getSheets(), 
uno::UNO_QUERY );
+    rtl::Reference<ScTableSheetsObj> xIndex( xSpreadDoc->getScSheets() );
     if ( xIndex.is() )
     {
         //_GetNamespaceMap().ClearQNamesCache();
@@ -1938,7 +1935,7 @@ void ScXMLExport::ExportContent_()
             }
             else
             {
-                uno::Reference<sheet::XSpreadsheet> 
xTable(xIndex->getByIndex(nTable), uno::UNO_QUERY);
+                rtl::Reference<ScTableSheetObj> 
xTable(xIndex->GetSheetByIndex(nTable));
                 WriteTable(*pDoc, nTable, xTable);
             }
             IncrementProgressBar(false);
@@ -1960,7 +1957,7 @@ void ScXMLExport::ExportContent_()
 
 void ScXMLExport::ExportStyles_( bool bUsed )
 {
-    uno::Reference <sheet::XSpreadsheetDocument> xSpreadDoc( GetModel(), 
uno::UNO_QUERY );
+    rtl::Reference<ScModelObj> xSpreadDoc = 
comphelper::getFromUnoTunnel<ScModelObj>(GetModel());
     if (xSpreadDoc.is())
         RegisterDefinedStyleNames( xSpreadDoc);
 
@@ -1973,10 +1970,9 @@ void ScXMLExport::ExportStyles_( bool bUsed )
     rtl::Reference<XMLCellStyleExport> aStylesExp(new 
XMLCellStyleExport(*this, GetAutoStylePool().get()));
     if (GetModel().is())
     {
-        uno::Reference <lang::XMultiServiceFactory> 
xMultiServiceFactory(GetModel(), uno::UNO_QUERY);
-        if (xMultiServiceFactory.is())
+        if (xSpreadDoc.is())
         {
-            uno::Reference <beans::XPropertySet> 
xProperties(xMultiServiceFactory->createInstance(u"com.sun.star.sheet.Defaults"_ustr),
 uno::UNO_QUERY);
+            uno::Reference <beans::XPropertySet> 
xProperties(xSpreadDoc->createInstance(u"com.sun.star.sheet.Defaults"_ustr), 
uno::UNO_QUERY);
             if (xProperties.is())
                 aStylesExp->exportDefaultStyle(xProperties, 
XML_STYLE_FAMILY_TABLE_CELL_STYLES_NAME, xCellStylesExportPropertySetMapper);
             GetShapeExport()->ExportGraphicDefaults();
@@ -2103,8 +2099,8 @@ void ScXMLExport::AddStyleFromCells(const 
uno::Reference<beans::XPropertySet>& x
             bool bAdded = false;
             if (nKey)
             {
-                uno::Reference <sheet::XSpreadsheetDocument> xSpreadDoc( 
GetModel(), uno::UNO_QUERY );
-                ScFormatSaveData* pFormatData = 
comphelper::getFromUnoTunnel<ScModelObj>(xSpreadDoc)->GetFormatSaveData();
+                rtl::Reference<ScModelObj> xSpreadDoc = 
comphelper::getFromUnoTunnel<ScModelObj>(GetModel());
+                ScFormatSaveData* pFormatData = 
xSpreadDoc->GetFormatSaveData();
                 auto itr = pFormatData->maIDToName.find(nKey);
                 if (itr != pFormatData->maIDToName.end())
                 {
@@ -2255,11 +2251,11 @@ void ScXMLExport::collectAutoStyles()
     if (!GetModel().is())
         return;
 
-    uno::Reference <sheet::XSpreadsheetDocument> xSpreadDoc( GetModel(), 
uno::UNO_QUERY );
+    rtl::Reference<ScModelObj> xSpreadDoc = 
comphelper::getFromUnoTunnel<ScModelObj>(GetModel());
     if (!xSpreadDoc.is())
         return;
 
-    uno::Reference<container::XIndexAccess> xIndex( xSpreadDoc->getSheets(), 
uno::UNO_QUERY );
+    rtl::Reference<ScTableSheetsObj> xIndex( xSpreadDoc->getScSheets() );
     if (!xIndex.is())
         return;
 
@@ -2268,12 +2264,11 @@ void ScXMLExport::collectAutoStyles()
         // Reserve the loaded cell style names.
         RegisterDefinedStyleNames( xSpreadDoc);
 
-        ScModelObj* pModel = 
comphelper::getFromUnoTunnel<ScModelObj>(xSpreadDoc);
-        ScDocument* pDoc = pModel->GetDocument();
+        ScDocument* pDoc = xSpreadDoc->GetDocument();
         if (pDoc)
         {
             //  re-create automatic styles with old names from stored data
-            ScSheetSaveData* pSheetData = pModel->GetSheetSaveData();
+            ScSheetSaveData* pSheetData = xSpreadDoc->GetSheetSaveData();
             if (pSheetData)
             {
                 // formulas have to be calculated now, to detect changed 
results
@@ -2646,11 +2641,11 @@ void ScXMLExport::ExportAutoStyles_()
     if (!GetModel().is())
         return;
 
-    uno::Reference <sheet::XSpreadsheetDocument> xSpreadDoc( GetModel(), 
uno::UNO_QUERY );
+    rtl::Reference<ScModelObj> xSpreadDoc = 
comphelper::getFromUnoTunnel<ScModelObj>(GetModel());
     if (!xSpreadDoc.is())
         return;
 
-    uno::Reference<container::XIndexAccess> xIndex( xSpreadDoc->getSheets(), 
uno::UNO_QUERY );
+    rtl::Reference<ScTableSheetsObj> xIndex( xSpreadDoc->getScSheets() );
     if (!xIndex.is())
         return;
 
@@ -2828,24 +2823,20 @@ bool ScXMLExport::IsMatrix (ScDocument& rDoc, const 
ScAddress& aCell,
     return false;
 }
 
-void ScXMLExport::WriteTable(ScDocument& rDoc, sal_Int32 nTable, const 
uno::Reference<sheet::XSpreadsheet>& xTable)
+void ScXMLExport::WriteTable(ScDocument& rDoc, sal_Int32 nTable, const 
rtl::Reference<ScTableSheetObj>& xTable)
 {
     if (!xTable.is())
         return;
 
-    xCurrentTable.set(xTable);
-    uno::Reference<container::XNamed> xName (xTable, uno::UNO_QUERY );
-    if (!xName.is())
-        return;
+    xCurrentTable = xTable;
 
     nCurrentTable = sal::static_int_cast<sal_uInt16>( nTable );
-    OUString sOUTableName(xName->getName());
+    OUString sOUTableName(xTable->getName());
     AddAttribute(sAttrName, sOUTableName);
     AddAttribute(sAttrStyleName, aTableStyles[nTable]);
 
-    uno::Reference<util::XProtectable> xProtectable (xTable, uno::UNO_QUERY);
     const ScTableProtection* pProtect = nullptr;
-    if (xProtectable.is() && xProtectable->isProtected())
+    if (xTable->isProtected())
     {
         AddAttribute(XML_NAMESPACE_TABLE, XML_PROTECTED, XML_TRUE);
         pProtect = rDoc.GetTabProtection(nTable);
@@ -2943,8 +2934,7 @@ void ScXMLExport::WriteTable(ScDocument& rDoc, sal_Int32 
nTable, const uno::Refe
         getSaneDefaultVersion() >= SvtSaveOptions::ODFSVER_012)
     {
         // store sheet events
-        uno::Reference<document::XEventsSupplier> xSupplier(xTable, 
uno::UNO_QUERY);
-        uno::Reference<container::XNameAccess> xEvents = 
xSupplier->getEvents();
+        uno::Reference<container::XNameAccess> xEvents = xTable->getEvents();
         GetEventExport().ExportExt( xEvents );
     }
 
@@ -3958,28 +3948,27 @@ bool ScXMLExport::IsCellEqual(const ScDocument& rDoc, 
const ScMyCell& aCell1, co
     return bIsEqual;
 }
 
-void ScXMLExport::WriteCalculationSettings(const ScDocument& rDoc, const 
uno::Reference <sheet::XSpreadsheetDocument>& xSpreadDoc)
+void ScXMLExport::WriteCalculationSettings(const ScDocument& rDoc, const 
rtl::Reference<ScModelObj>& xSpreadDoc)
 {
-    uno::Reference<beans::XPropertySet> xPropertySet(xSpreadDoc, 
uno::UNO_QUERY);
-    if (!xPropertySet.is())
+    if (!xSpreadDoc.is())
         return;
 
-    bool bCalcAsShown (::cppu::any2bool( 
xPropertySet->getPropertyValue(SC_UNO_CALCASSHOWN) ));
-    bool bIgnoreCase (::cppu::any2bool( 
xPropertySet->getPropertyValue(SC_UNO_IGNORECASE) ));
-    bool bLookUpLabels (::cppu::any2bool( 
xPropertySet->getPropertyValue(SC_UNO_LOOKUPLABELS) ));
-    bool bMatchWholeCell (::cppu::any2bool( 
xPropertySet->getPropertyValue(SC_UNO_MATCHWHOLE) ));
-    bool bUseRegularExpressions (::cppu::any2bool( 
xPropertySet->getPropertyValue(SC_UNO_REGEXENABLED) ));
-    bool bUseWildcards (::cppu::any2bool( 
xPropertySet->getPropertyValue(SC_UNO_WILDCARDSENABLED) ));
+    bool bCalcAsShown (::cppu::any2bool( 
xSpreadDoc->getPropertyValue(SC_UNO_CALCASSHOWN) ));
+    bool bIgnoreCase (::cppu::any2bool( 
xSpreadDoc->getPropertyValue(SC_UNO_IGNORECASE) ));
+    bool bLookUpLabels (::cppu::any2bool( 
xSpreadDoc->getPropertyValue(SC_UNO_LOOKUPLABELS) ));
+    bool bMatchWholeCell (::cppu::any2bool( 
xSpreadDoc->getPropertyValue(SC_UNO_MATCHWHOLE) ));
+    bool bUseRegularExpressions (::cppu::any2bool( 
xSpreadDoc->getPropertyValue(SC_UNO_REGEXENABLED) ));
+    bool bUseWildcards (::cppu::any2bool( 
xSpreadDoc->getPropertyValue(SC_UNO_WILDCARDSENABLED) ));
     if (bUseWildcards && bUseRegularExpressions)
         bUseRegularExpressions = false;     // mutually exclusive, wildcards 
take precedence
-    bool bIsIterationEnabled (::cppu::any2bool( 
xPropertySet->getPropertyValue(SC_UNO_ITERENABLED) ));
+    bool bIsIterationEnabled (::cppu::any2bool( 
xSpreadDoc->getPropertyValue(SC_UNO_ITERENABLED) ));
     sal_uInt16 nYear2000 (rDoc.GetDocOptions().GetYear2000());
     sal_Int32 nIterationCount(100);
-    xPropertySet->getPropertyValue( SC_UNO_ITERCOUNT ) >>= nIterationCount;
+    xSpreadDoc->getPropertyValue( SC_UNO_ITERCOUNT ) >>= nIterationCount;
     double fIterationEpsilon = 0;
-    xPropertySet->getPropertyValue( SC_UNO_ITEREPSILON ) >>= fIterationEpsilon;
+    xSpreadDoc->getPropertyValue( SC_UNO_ITEREPSILON ) >>= fIterationEpsilon;
     util::Date aNullDate;
-    xPropertySet->getPropertyValue( SC_UNO_NULLDATE ) >>= aNullDate;
+    xSpreadDoc->getPropertyValue( SC_UNO_NULLDATE ) >>= aNullDate;
     if (!(bCalcAsShown || bIgnoreCase || !bLookUpLabels || !bMatchWholeCell || 
!bUseRegularExpressions ||
             bUseWildcards ||
             bIsIterationEnabled || nIterationCount != 100 || 
!::rtl::math::approxEqual(fIterationEpsilon, 0.001) ||
@@ -4033,20 +4022,19 @@ void ScXMLExport::WriteCalculationSettings(const 
ScDocument& rDoc, const uno::Re
 
 void ScXMLExport::WriteTableSource()
 {
-    uno::Reference <sheet::XSheetLinkable> xLinkable (xCurrentTable, 
uno::UNO_QUERY);
-    if (!(xLinkable.is() && GetModel().is()))
+    if (!(xCurrentTable.is() && GetModel().is()))
         return;
 
-    sheet::SheetLinkMode nMode (xLinkable->getLinkMode());
+    sheet::SheetLinkMode nMode (xCurrentTable->getLinkMode());
     if (nMode == sheet::SheetLinkMode_NONE)
         return;
 
-    OUString sLink (xLinkable->getLinkUrl());
-    uno::Reference <beans::XPropertySet> xProps (GetModel(), uno::UNO_QUERY);
-    if (!xProps.is())
+    OUString sLink (xCurrentTable->getLinkUrl());
+    rtl::Reference<ScModelObj> xSpreadDoc = 
comphelper::getFromUnoTunnel<ScModelObj>(GetModel());
+    if (!xSpreadDoc.is())
         return;
 
-    uno::Reference <container::XIndexAccess> 
xIndex(xProps->getPropertyValue(SC_UNO_SHEETLINKS), uno::UNO_QUERY);
+    uno::Reference <container::XIndexAccess> 
xIndex(xSpreadDoc->getPropertyValue(SC_UNO_SHEETLINKS), uno::UNO_QUERY);
     if (!xIndex.is())
         return;
 
@@ -4071,7 +4059,7 @@ void ScXMLExport::WriteTableSource()
 
     OUString sFilter;
     OUString sFilterOptions;
-    OUString sTableName (xLinkable->getLinkSheetName());
+    OUString sTableName (xCurrentTable->getLinkSheetName());
     sal_Int32 nRefresh(0);
     xLinkProps->getPropertyValue(SC_UNONAME_FILTER) >>= sFilter;
     xLinkProps->getPropertyValue(SC_UNONAME_FILTOPT) >>= sFilterOptions;
@@ -4134,17 +4122,17 @@ void ScXMLExport::WriteScenario(const ScDocument& rDoc)
     SvXMLElementExport aElem(*this, XML_NAMESPACE_TABLE, XML_SCENARIO, true, 
true);
 }
 
-void ScXMLExport::WriteTheLabelRanges(const ScDocument& rDoc, const 
uno::Reference< sheet::XSpreadsheetDocument >& xSpreadDoc)
+void ScXMLExport::WriteTheLabelRanges(const ScDocument& rDoc, const 
rtl::Reference<ScModelObj>& xSpreadDoc)
 {
-    uno::Reference< beans::XPropertySet > xDocProp( xSpreadDoc, uno::UNO_QUERY 
);
-    if( !xDocProp.is() ) return;
+    if( !xSpreadDoc )
+        return;
 
     sal_Int32 nCount(0);
-    uno::Reference< container::XIndexAccess > 
xColRangesIAccess(xDocProp->getPropertyValue( SC_UNO_COLLABELRNG ), 
uno::UNO_QUERY);
+    uno::Reference< container::XIndexAccess > 
xColRangesIAccess(xSpreadDoc->getPropertyValue( SC_UNO_COLLABELRNG ), 
uno::UNO_QUERY);
     if( xColRangesIAccess.is() )
         nCount += xColRangesIAccess->getCount();
 
-    uno::Reference< container::XIndexAccess > 
xRowRangesIAccess(xDocProp->getPropertyValue( SC_UNO_ROWLABELRNG ), 
uno::UNO_QUERY);
+    uno::Reference< container::XIndexAccess > 
xRowRangesIAccess(xSpreadDoc->getPropertyValue( SC_UNO_ROWLABELRNG ), 
uno::UNO_QUERY);
     if( xRowRangesIAccess.is() )
         nCount += xRowRangesIAccess->getCount();
 
@@ -5297,11 +5285,11 @@ void 
ScXMLExport::GetConfigurationSettings(uno::Sequence<beans::PropertyValue>&
     if (!GetModel().is())
         return;
 
-    uno::Reference <lang::XMultiServiceFactory> 
xMultiServiceFactory(GetModel(), uno::UNO_QUERY);
-    if (!xMultiServiceFactory.is())
+    rtl::Reference<ScModelObj> xSpreadDoc = 
comphelper::getFromUnoTunnel<ScModelObj>(GetModel());
+    if (!xSpreadDoc.is())
         return;
 
-    uno::Reference <beans::XPropertySet> 
xProperties(xMultiServiceFactory->createInstance(u"com.sun.star.comp.SpreadsheetSettings"_ustr),
 uno::UNO_QUERY);
+    uno::Reference <beans::XPropertySet> 
xProperties(xSpreadDoc->createInstance(u"com.sun.star.comp.SpreadsheetSettings"_ustr),
 uno::UNO_QUERY);
     if (xProperties.is())
         SvXMLUnitConverter::convertPropertySet(rProps, xProperties);
 
diff --git a/sc/source/filter/xml/xmlexprt.hxx 
b/sc/source/filter/xml/xmlexprt.hxx
index 1060f7bd6a76..6c4c7bea4656 100644
--- a/sc/source/filter/xml/xmlexprt.hxx
+++ b/sc/source/filter/xml/xmlexprt.hxx
@@ -60,6 +60,8 @@ class ScRangeName;
 class ScXMLEditAttributeMap;
 class EditTextObject;
 class ScFormulaCell;
+class ScModelObj;
+class ScTableSheetObj;
 
 namespace sc {
 
@@ -70,7 +72,7 @@ class CompileFormulaContext;
 
 class ScXMLExport : public SvXMLExport
 {
-    css::uno::Reference <css::sheet::XSpreadsheet> xCurrentTable;
+    rtl::Reference<ScTableSheetObj> xCurrentTable;
 
     css::uno::Reference<css::io::XInputStream> xSourceStream;
     sal_Int64                   nSourceStreamPos;
@@ -127,7 +129,7 @@ class ScXMLExport : public SvXMLExport
     sal_Int32       GetNumberFormatStyleIndex(sal_Int32 nNumFmt) const;
     void            CollectSharedData(SCTAB& nTableCount, sal_Int32& 
nShapesCount);
     void            CollectShapesAutoStyles(SCTAB nTableCount);
-    void            RegisterDefinedStyleNames( const css::uno::Reference< 
css::sheet::XSpreadsheetDocument > & xSpreadDoc );
+    void            RegisterDefinedStyleNames( const 
rtl::Reference<ScModelObj> & xSpreadDoc );
     virtual void ExportFontDecls_() override;
     virtual void ExportStyles_( bool bUsed ) override;
     virtual void ExportAutoStyles_() override;
@@ -170,7 +172,7 @@ class ScXMLExport : public SvXMLExport
     bool GetMerged (const css::table::CellRangeAddress* pCellRange,
         const css::uno::Reference <css::sheet::XSpreadsheet>& xTable);
 
-    void WriteTable(ScDocument& rDoc, sal_Int32 nTable, const 
css::uno::Reference< css::sheet::XSpreadsheet>& xTable);
+    void WriteTable(ScDocument& rDoc, sal_Int32 nTable, const 
rtl::Reference<ScTableSheetObj>& xTable);
     void WriteCell(ScDocument& rDoc, const ScMyCell& aCell, sal_Int32 
nEqualCellCount);
     void WriteEditCell(const ScDocument& rDoc, const EditTextObject* pText);
     void WriteMultiLineFormulaResult(const ScFormulaCell* pCell);
@@ -185,10 +187,10 @@ class ScXMLExport : public SvXMLExport
     static bool IsEditCell(const ScMyCell& rCell);
     static bool IsCellEqual(const ScDocument& rDoc, const ScMyCell& aCell1, 
const ScMyCell& aCell2);
 
-    void WriteCalculationSettings(const ScDocument& rDoc, const 
css::uno::Reference <css::sheet::XSpreadsheetDocument>& xSpreadDoc);
+    void WriteCalculationSettings(const ScDocument& rDoc, const 
rtl::Reference<ScModelObj>& xSpreadDoc);
     void WriteTableSource();
     void WriteScenario(const ScDocument& rDoc);   // core implementation
-    void WriteTheLabelRanges(const ScDocument& rDoc, const 
css::uno::Reference< css::sheet::XSpreadsheetDocument >& xSpreadDoc);
+    void WriteTheLabelRanges(const ScDocument& rDoc, const 
rtl::Reference<ScModelObj>& xSpreadDoc);
     void WriteLabelRanges(const ScDocument& rDoc, const css::uno::Reference< 
css::container::XIndexAccess >& xRangesIAccess, bool bColumn);
     void WriteNamedExpressions(const ScDocument& rDoc);
     void WriteExternalDataMapping(ScDocument& rDoc);

Reply via email to