compilerplugins/clang/fieldcast.results | 3 -- sc/source/filter/inc/workbookhelper.hxx | 8 +++---- sc/source/filter/oox/addressconverter.cxx | 1 sc/source/filter/oox/externallinkbuffer.cxx | 5 ++-- sc/source/filter/oox/numberformatsbuffer.cxx | 3 +- sc/source/filter/oox/querytablebuffer.cxx | 3 +- sc/source/filter/oox/scenariobuffer.cxx | 1 sc/source/filter/oox/sheetdatabuffer.cxx | 3 +- sc/source/filter/oox/stylesbuffer.cxx | 3 +- sc/source/filter/oox/tablebuffer.cxx | 3 +- sc/source/filter/oox/unitconverter.cxx | 3 +- sc/source/filter/oox/viewsettings.cxx | 4 +-- sc/source/filter/oox/workbookhelper.cxx | 30 +++++++++------------------ sc/source/filter/oox/workbooksettings.cxx | 7 +++--- sc/source/filter/oox/worksheetbuffer.cxx | 1 sc/source/filter/xml/xmlimprt.cxx | 19 ++++++++--------- sc/source/filter/xml/xmlimprt.hxx | 3 +- sc/source/ui/unoobj/servuno.cxx | 5 +--- 18 files changed, 52 insertions(+), 53 deletions(-)
New commits: commit 6f0f7fa17aebe888cb8264bd48d741f469ba56b9 Author: Noel Grandin <noelgran...@gmail.com> AuthorDate: Thu Nov 23 20:58:21 2023 +0200 Commit: Noel Grandin <noel.gran...@collabora.co.uk> CommitDate: Fri Nov 24 12:47:32 2023 +0100 loplugin:fieldcast in ScXMLImport Change-Id: I0820427504d0cb9e14b54bb92a2e383bf0137121 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159872 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk> diff --git a/compilerplugins/clang/fieldcast.results b/compilerplugins/clang/fieldcast.results index b3a206434484..6fa27d645135 100644 --- a/compilerplugins/clang/fieldcast.results +++ b/compilerplugins/clang/fieldcast.results @@ -298,9 +298,6 @@ sc/source/filter/excel/xeformula.cxx:60 sc/source/filter/inc/eeimport.hxx:43 ScEEImport mpParser std::unique_ptr<ScEEParser> ScHTMLParser -sc/source/filter/xml/xmlimprt.hxx:156 - ScXMLImport xSheetCellRanges css::uno::Reference<css::sheet::XSheetCellRangeContainer> - ScCellRangesObj sc/source/ui/inc/AccessibleContextBase.hxx:232 ScAccessibleContextBase mxParent css::uno::Reference<css::accessibility::XAccessible> ScAccessibleSpreadsheet diff --git a/sc/source/filter/xml/xmlimprt.cxx b/sc/source/filter/xml/xmlimprt.cxx index db113a47b4b1..b9c775fff470 100644 --- a/sc/source/filter/xml/xmlimprt.cxx +++ b/sc/source/filter/xml/xmlimprt.cxx @@ -982,7 +982,7 @@ void ScXMLImport::SetStyleToRanges() if (!sPrevStyleName.isEmpty()) { - uno::Reference <beans::XPropertySet> xProperties (xSheetCellRanges, uno::UNO_QUERY); + uno::Reference <beans::XPropertySet> xProperties (mxSheetCellRanges); if (xProperties.is()) { XMLTableStylesContext *pStyles(static_cast<XMLTableStylesContext *>(GetAutoStyles())); @@ -1006,7 +1006,7 @@ void ScXMLImport::SetStyleToRanges() } // store first cell of first range for each style, once per sheet - uno::Sequence<table::CellRangeAddress> aAddresses(xSheetCellRanges->getRangeAddresses()); + uno::Sequence<table::CellRangeAddress> aAddresses(mxSheetCellRanges->getRangeAddresses()); pStyle->ApplyCondFormat(aAddresses); if ( aAddresses.hasElements() ) { @@ -1035,11 +1035,10 @@ void ScXMLImport::SetStyleToRanges() { uno::Reference <lang::XMultiServiceFactory> xMultiServiceFactory(GetModel(), uno::UNO_QUERY); if (xMultiServiceFactory.is()) - xSheetCellRanges.set(uno::Reference <sheet::XSheetCellRangeContainer>( - xMultiServiceFactory->createInstance("com.sun.star.sheet.SheetCellRanges"), - uno::UNO_QUERY)); + mxSheetCellRanges = &dynamic_cast<ScCellRangesObj&>( + *xMultiServiceFactory->createInstance("com.sun.star.sheet.SheetCellRanges")); } - OSL_ENSURE(xSheetCellRanges.is(), "didn't get SheetCellRanges"); + OSL_ENSURE(mxSheetCellRanges.is(), "didn't get SheetCellRanges"); } void ScXMLImport::SetStyleToRanges(const ScRangeList& rRanges, const OUString* pStyleName, @@ -1076,15 +1075,15 @@ void ScXMLImport::SetStyleToRanges(const ScRangeList& rRanges, const OUString* p sPrevCurrency.clear(); } - if (!xSheetCellRanges.is() && GetModel().is()) + if (!mxSheetCellRanges.is() && GetModel().is()) { uno::Reference <lang::XMultiServiceFactory> xMultiServiceFactory(GetModel(), uno::UNO_QUERY); if (xMultiServiceFactory.is()) - xSheetCellRanges.set(uno::Reference <sheet::XSheetCellRangeContainer>(xMultiServiceFactory->createInstance("com.sun.star.sheet.SheetCellRanges"), uno::UNO_QUERY)); - OSL_ENSURE(xSheetCellRanges.is(), "didn't get SheetCellRanges"); + mxSheetCellRanges = &dynamic_cast<ScCellRangesObj&>(*xMultiServiceFactory->createInstance("com.sun.star.sheet.SheetCellRanges")); + OSL_ENSURE(mxSheetCellRanges.is(), "didn't get SheetCellRanges"); } - static_cast<ScCellRangesObj*>(xSheetCellRanges.get())->SetNewRanges(rRanges); + mxSheetCellRanges->SetNewRanges(rRanges); } bool ScXMLImport::SetNullDateOnUnitConverter() diff --git a/sc/source/filter/xml/xmlimprt.hxx b/sc/source/filter/xml/xmlimprt.hxx index 88feb0ddb671..7dddb7d6f5c9 100644 --- a/sc/source/filter/xml/xmlimprt.hxx +++ b/sc/source/filter/xml/xmlimprt.hxx @@ -110,6 +110,7 @@ struct ScMyImportValidation typedef std::vector<ScMyImportValidation> ScMyImportValidations; class ScMyStylesImportHelper; class ScXMLEditAttributeMap; +class ScCellRangesObj; class ScXMLImport: public SvXMLImport { @@ -153,7 +154,7 @@ class ScXMLImport: public SvXMLImport css::uno::Reference <css::util::XNumberFormats> xNumberFormats; css::uno::Reference <css::util::XNumberFormatTypes> xNumberFormatTypes; - css::uno::Reference <css::sheet::XSheetCellRangeContainer> xSheetCellRanges; + rtl::Reference<ScCellRangesObj> mxSheetCellRanges; // css::sheet::XSheetCellRangeContainer OUString sPrevStyleName; OUString sPrevCurrency; commit ca0609368edf80c4e56abf36fefc2bfabfd82deb Author: Noel Grandin <noelgran...@gmail.com> AuthorDate: Thu Nov 23 20:50:19 2023 +0200 Commit: Noel Grandin <noel.gran...@collabora.co.uk> CommitDate: Fri Nov 24 12:47:23 2023 +0100 use more concrete UNO in sc Change-Id: I20f0200a4ed74b32b67b740e0084dae9620c2912 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159871 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk> diff --git a/sc/source/filter/inc/workbookhelper.hxx b/sc/source/filter/inc/workbookhelper.hxx index fd6343a31a79..e76285ca37a2 100644 --- a/sc/source/filter/inc/workbookhelper.hxx +++ b/sc/source/filter/inc/workbookhelper.hxx @@ -26,7 +26,7 @@ #include <o3tl/hash_combine.hxx> #include <oox/helper/storagebase.hxx> #include <address.hxx> - +#include <rtl/ref.hxx> #include <com/sun/star/awt/FontDescriptor.hpp> namespace oox::drawingml::chart { class ChartConverter; } @@ -58,6 +58,7 @@ class ScDocumentImport; class ScEditEngineDefaulter; class ScDBData; class ScRangeData; +class ScModelObj; namespace oox::xls { @@ -188,9 +189,8 @@ public: const ScDocumentImport& getDocImport() const; ScEditEngineDefaulter& getEditEngine() const; - /** Returns a reference to the source/target spreadsheet document model. */ - const css::uno::Reference< css::sheet::XSpreadsheetDocument >& - getDocument() const; + /** Returns a reference to the source/target spreadsheet document model (XSpreadsheetDocument). */ + const rtl::Reference< ScModelObj >& getDocument() const; /** Returns a reference to the specified spreadsheet in the document model. */ css::uno::Reference< css::sheet::XSpreadsheet > diff --git a/sc/source/filter/oox/addressconverter.cxx b/sc/source/filter/oox/addressconverter.cxx index 0d6e52f13f9d..2408e2670ee8 100644 --- a/sc/source/filter/oox/addressconverter.cxx +++ b/sc/source/filter/oox/addressconverter.cxx @@ -27,6 +27,7 @@ #include <osl/diagnose.h> #include <oox/core/filterbase.hxx> #include <oox/helper/binaryinputstream.hxx> +#include <docuno.hxx> namespace oox::xls { diff --git a/sc/source/filter/oox/externallinkbuffer.cxx b/sc/source/filter/oox/externallinkbuffer.cxx index 595d6e3dd766..a812a48cff5a 100644 --- a/sc/source/filter/oox/externallinkbuffer.cxx +++ b/sc/source/filter/oox/externallinkbuffer.cxx @@ -43,6 +43,7 @@ #include <oox/token/tokens.hxx> #include <addressconverter.hxx> #include <biffhelper.hxx> +#include <docuno.hxx> namespace oox::xls { @@ -203,7 +204,7 @@ bool ExternalName::getDdeLinkData( OUString& orDdeServer, OUString& orDdeTopic, // try to create a DDE link and to set the imported link results if( !mbDdeLinkCreated ) try { - PropertySet aDocProps( getDocument() ); + PropertySet aDocProps(( Reference< css::beans::XPropertySet >(getDocument()) )); Reference< XDDELinks > xDdeLinks( aDocProps.getAnyProperty( PROP_DDELinks ), UNO_QUERY_THROW ); mxDdeLink = xDdeLinks->addDDELink( mrParentLink.getClassName(), mrParentLink.getTargetUrl(), maModel.maName, css::sheet::DDELinkMode_DEFAULT ); mbDdeLinkCreated = true; // ignore if setting results fails @@ -526,7 +527,7 @@ void ExternalLink::setExternalTargetUrl( const OUString& rTargetUrl, const OUStr // create the external document link API object that will contain the sheet caches if( meLinkType == ExternalLinkType::External ) try { - PropertySet aDocProps( getDocument() ); + PropertySet aDocProps(( Reference< css::beans::XPropertySet >(getDocument()) )); Reference< XExternalDocLinks > xDocLinks( aDocProps.getAnyProperty( PROP_ExternalDocLinks ), UNO_QUERY_THROW ); mxDocLink = xDocLinks->addDocLink( maTargetUrl ); } diff --git a/sc/source/filter/oox/numberformatsbuffer.cxx b/sc/source/filter/oox/numberformatsbuffer.cxx index 447878000226..5fa701b3f19c 100644 --- a/sc/source/filter/oox/numberformatsbuffer.cxx +++ b/sc/source/filter/oox/numberformatsbuffer.cxx @@ -46,6 +46,7 @@ #include <scitems.hxx> #include <document.hxx> #include <ftools.hxx> +#include <docuno.hxx> namespace oox::xls { @@ -1868,7 +1869,7 @@ NumberFormatFinalizer::NumberFormatFinalizer( const WorkbookHelper& rHelper ) : { try { - Reference< XNumberFormatsSupplier > xNumFmtsSupp( rHelper.getDocument(), UNO_QUERY_THROW ); + Reference< XNumberFormatsSupplier > xNumFmtsSupp( static_cast<cppu::OWeakObject*>(rHelper.getDocument().get()), UNO_QUERY_THROW ); mxNumFmts = xNumFmtsSupp->getNumberFormats(); } catch( Exception& ) diff --git a/sc/source/filter/oox/querytablebuffer.cxx b/sc/source/filter/oox/querytablebuffer.cxx index 1ec2ea8be012..1c5ee4464887 100644 --- a/sc/source/filter/oox/querytablebuffer.cxx +++ b/sc/source/filter/oox/querytablebuffer.cxx @@ -34,6 +34,7 @@ #include <biffhelper.hxx> #include <connectionsbuffer.hxx> #include <defnamesbuffer.hxx> +#include <docuno.hxx> namespace oox::xls { @@ -246,7 +247,7 @@ void QueryTable::finalizeImport() try { - PropertySet aDocProps( getDocument() ); + PropertySet aDocProps(( Reference< css::beans::XPropertySet >(getDocument()) )); Reference< XAreaLinks > xAreaLinks( aDocProps.getAnyProperty( PROP_AreaLinks ), UNO_QUERY_THROW ); CellAddress aDestPos( aDestRange.aStart.Tab(), aDestRange.aStart.Col(), aDestRange.aStart.Row() ); static constexpr OUString aFilterName = u"calc_HTML_WebQuery"_ustr; diff --git a/sc/source/filter/oox/scenariobuffer.cxx b/sc/source/filter/oox/scenariobuffer.cxx index 7c45c822da27..44ad52814680 100644 --- a/sc/source/filter/oox/scenariobuffer.cxx +++ b/sc/source/filter/oox/scenariobuffer.cxx @@ -32,6 +32,7 @@ #include <oox/token/tokens.hxx> #include <addressconverter.hxx> #include <biffhelper.hxx> +#include <docuno.hxx> namespace oox::xls { diff --git a/sc/source/filter/oox/sheetdatabuffer.cxx b/sc/source/filter/oox/sheetdatabuffer.cxx index b25dba6eb079..98d50c2a05c3 100644 --- a/sc/source/filter/oox/sheetdatabuffer.cxx +++ b/sc/source/filter/oox/sheetdatabuffer.cxx @@ -50,6 +50,7 @@ #include <formulabuffer.hxx> #include <numformat.hxx> #include <sax/tools/converter.hxx> +#include <docuno.hxx> namespace oox::xls { @@ -155,7 +156,7 @@ void SheetDataBuffer::setDateTimeCell( const CellModel& rModel, const css::util: // set number format try { - Reference< XNumberFormatsSupplier > xNumFmtsSupp( getDocument(), UNO_QUERY_THROW ); + Reference< XNumberFormatsSupplier > xNumFmtsSupp( static_cast<cppu::OWeakObject*>(getDocument().get()), UNO_QUERY_THROW ); Reference< XNumberFormatTypes > xNumFmtTypes( xNumFmtsSupp->getNumberFormats(), UNO_QUERY_THROW ); sal_Int32 nIndex = xNumFmtTypes->getStandardFormat( nStdFmt, Locale() ); PropertySet aPropSet( getCell( rModel.maCellAddr ) ); diff --git a/sc/source/filter/oox/stylesbuffer.cxx b/sc/source/filter/oox/stylesbuffer.cxx index 7481b1dec851..2310f324e27a 100644 --- a/sc/source/filter/oox/stylesbuffer.cxx +++ b/sc/source/filter/oox/stylesbuffer.cxx @@ -86,6 +86,7 @@ #include <patattr.hxx> #include <stlsheet.hxx> #include <biffhelper.hxx> +#include <docuno.hxx> namespace oox::xls { @@ -804,7 +805,7 @@ void Font::finalizeImport() } else { - PropertySet aDocProps( getDocument() ); + PropertySet aDocProps(( Reference< css::beans::XPropertySet >(getDocument()) )); Reference< XDevice > xDevice( aDocProps.getAnyProperty( PROP_ReferenceDevice ), UNO_QUERY ); if( !xDevice.is() ) return; diff --git a/sc/source/filter/oox/tablebuffer.cxx b/sc/source/filter/oox/tablebuffer.cxx index a6352e63f8d5..dec0498f4678 100644 --- a/sc/source/filter/oox/tablebuffer.cxx +++ b/sc/source/filter/oox/tablebuffer.cxx @@ -32,6 +32,7 @@ #include <oox/token/tokens.hxx> #include <addressconverter.hxx> #include <biffhelper.hxx> +#include <docuno.hxx> namespace oox::xls { @@ -137,7 +138,7 @@ void Table::applyAutoFilters() try { // get the range ( maybe we should cache the xDatabaseRange from finalizeImport ) - PropertySet aDocProps( getDocument() ); + PropertySet aDocProps(( Reference< css::beans::XPropertySet >(getDocument()) )); Reference< XDatabaseRanges > xDatabaseRanges( aDocProps.getAnyProperty( PROP_DatabaseRanges ), UNO_QUERY_THROW ); Reference< XDatabaseRange > xDatabaseRange( xDatabaseRanges->getByName( maDBRangeName ), UNO_QUERY ); maAutoFilters.finalizeImport( xDatabaseRange, maModel.maRange.aStart.Tab() ); diff --git a/sc/source/filter/oox/unitconverter.cxx b/sc/source/filter/oox/unitconverter.cxx index d17f590aaee4..dd4178eee8be 100644 --- a/sc/source/filter/oox/unitconverter.cxx +++ b/sc/source/filter/oox/unitconverter.cxx @@ -33,6 +33,7 @@ #include <oox/token/properties.hxx> #include <stylesbuffer.hxx> #include <biffhelper.hxx> +#include <docuno.hxx> namespace com::sun::star::awt { struct FontDescriptor; } @@ -110,7 +111,7 @@ UnitConverter::UnitConverter( const WorkbookHelper& rHelper ) : void UnitConverter::finalizeImport() { - PropertySet aDocProps( getDocument() ); + PropertySet aDocProps(( Reference< css::beans::XPropertySet >(getDocument()) )); Reference< XDevice > xDevice( aDocProps.getAnyProperty( PROP_ReferenceDevice ), UNO_QUERY ); if( !xDevice.is() ) return; diff --git a/sc/source/filter/oox/viewsettings.cxx b/sc/source/filter/oox/viewsettings.cxx index c72a61b17c15..fbf28be289b3 100644 --- a/sc/source/filter/oox/viewsettings.cxx +++ b/sc/source/filter/oox/viewsettings.cxx @@ -42,6 +42,7 @@ #include <workbooksettings.hxx> #include <worksheetbuffer.hxx> #include <vcl/svapp.hxx> +#include <docuno.hxx> namespace com::sun::star::container { class XNameContainer; } @@ -600,8 +601,7 @@ void ViewSettings::finalizeImport() aPropMap.setProperty( PROP_IsOutlineSymbolsSet, rxActiveSheetView->mbShowOutline); xContainer->insertByIndex( 0, Any( aPropMap.makePropertyValueSequence() ) ); - Reference< XViewDataSupplier > xViewDataSuppl( getDocument(), UNO_QUERY_THROW ); - xViewDataSuppl->setViewData( xContainer ); + getDocument()->setViewData( xContainer ); } catch( Exception& ) { diff --git a/sc/source/filter/oox/workbookhelper.cxx b/sc/source/filter/oox/workbookhelper.cxx index 91166cb9c478..855c7dab40b0 100644 --- a/sc/source/filter/oox/workbookhelper.cxx +++ b/sc/source/filter/oox/workbookhelper.cxx @@ -149,7 +149,7 @@ public: ScDocumentImport& getDocImport(); /** Returns a reference to the source/target spreadsheet document model. */ - const Reference< XSpreadsheetDocument >& getDocument() const { return mxDoc; } + const rtl::Reference< ScModelObj >& getDocument() const { return mxDoc; } /** Returns the cell or page styles container from the Calc document. */ Reference< XNameContainer > getStyleFamily( bool bPageStyles ) const; /** Returns the specified cell or page style from the Calc document. */ @@ -261,7 +261,7 @@ private: OUString maPageStyles; /// Style family name for page styles. OUString maCellStyleServ; /// Service name for a cell style. OUString maPageStyleServ; /// Service name for a page style. - Reference< XSpreadsheetDocument > mxDoc; /// Document model. + rtl::Reference< ScModelObj > mxDoc; /// Document model (XSpreadsheetDocument) FilterBase& mrBaseFilter; /// Base filter object. ExcelFilter& mrExcelFilter; /// Base object for registration of this structure. ProgressBarPtr mxProgressBar; /// The progress bar. @@ -339,8 +339,7 @@ Reference< XNameContainer > WorkbookGlobals::getStyleFamily( bool bPageStyles ) Reference< XNameContainer > xStylesNC; try { - Reference< XStyleFamiliesSupplier > xFamiliesSup( mxDoc, UNO_QUERY_THROW ); - Reference< XNameAccess > xFamiliesNA( xFamiliesSup->getStyleFamilies(), UNO_SET_THROW ); + Reference< XNameAccess > xFamiliesNA( mxDoc->getStyleFamilies(), UNO_SET_THROW ); xStylesNC.set( xFamiliesNA->getByName( bPageStyles ? maPageStyles : maCellStyles ), UNO_QUERY ); } catch( Exception& ) @@ -456,7 +455,7 @@ Reference< XDatabaseRange > WorkbookGlobals::createDatabaseRangeObject( OUString if( bValidRange && !orName.isEmpty() ) try { // find an unused name - PropertySet aDocProps( mxDoc ); + PropertySet aDocProps(( Reference< css::beans::XPropertySet >(mxDoc) )); Reference< XDatabaseRanges > xDatabaseRanges( aDocProps.getAnyProperty( PROP_DatabaseRanges ), UNO_QUERY_THROW ); orName = ContainerHelper::getUnusedName( xDatabaseRanges, orName, '_' ); // create the database range @@ -547,23 +546,16 @@ void WorkbookGlobals::initialize() meTextEnc = osl_getThreadTextEncoding(); // the spreadsheet document - mxDoc.set( mrBaseFilter.getModel(), UNO_QUERY ); - OSL_ENSURE( mxDoc.is(), "WorkbookGlobals::initialize - no spreadsheet document" ); + mxDoc = &dynamic_cast<ScModelObj&>(*mrBaseFilter.getModel()); - if (mxDoc) - { - ScModelObj* pModel = comphelper::getFromUnoTunnel<ScModelObj>(mxDoc); - if (pModel) - mpDocShell = static_cast<ScDocShell*>(pModel->GetEmbeddedObject()); - if (mpDocShell) - mpDoc = &mpDocShell->GetDocument(); - } + mpDocShell = static_cast<ScDocShell*>(mxDoc->GetEmbeddedObject()); + if (mpDocShell) + mpDoc = &mpDocShell->GetDocument(); if (!mpDoc) throw RuntimeException("Workbookhelper::getScDocument(): Failed to access ScDocument from model"); - Reference< XDocumentPropertiesSupplier > xPropSupplier( mxDoc, UNO_QUERY); - Reference< XDocumentProperties > xDocProps = xPropSupplier->getDocumentProperties(); + Reference< XDocumentProperties > xDocProps = mxDoc->getDocumentProperties(); const OUString aGenerator( xDocProps->getGenerator()); if (aGenerator.startsWithIgnoreAsciiCase("Microsoft")) @@ -759,7 +751,7 @@ void WorkbookHelper::finalizeWorkbookImport() } // set selected sheet and positionleft/positiontop for OLE objects - Reference<XViewDataSupplier> xViewDataSupplier(getDocument(), UNO_QUERY); + rtl::Reference<ScModelObj> xViewDataSupplier(getDocument()); if (!xViewDataSupplier.is()) return; @@ -841,7 +833,7 @@ ScEditEngineDefaulter& WorkbookHelper::getEditEngine() const return mrBookGlob.getEditEngine(); } -const Reference< XSpreadsheetDocument > & WorkbookHelper::getDocument() const +const rtl::Reference< ScModelObj > & WorkbookHelper::getDocument() const { return mrBookGlob.getDocument(); } diff --git a/sc/source/filter/oox/workbooksettings.cxx b/sc/source/filter/oox/workbooksettings.cxx index f23afc412012..655368acf0de 100644 --- a/sc/source/filter/oox/workbooksettings.cxx +++ b/sc/source/filter/oox/workbooksettings.cxx @@ -37,6 +37,7 @@ #include <oox/token/tokens.hxx> #include <unitconverter.hxx> #include <biffhelper.hxx> +#include <docuno.hxx> namespace oox::xls { @@ -188,7 +189,7 @@ void WorkbookSettings::importCalcPr( SequenceInputStream& rStrm ) void WorkbookSettings::finalizeImport() { // default settings - PropertySet aPropSet( getDocument() ); + PropertySet aPropSet(( Reference< css::beans::XPropertySet >(getDocument()) )); aPropSet.setProperty( PROP_IgnoreCase, true ); // always in Excel aPropSet.setProperty( PROP_RegularExpressions, false ); // not supported in Excel aPropSet.setProperty( PROP_Wildcards, true ); // always in Excel @@ -240,14 +241,14 @@ void WorkbookSettings::finalizeImport() aPropSet.setProperty( PROP_CalcAsShown, !maCalcSettings.mbFullPrecision ); aPropSet.setProperty( PROP_LookUpLabels, false ); - Reference< XNumberFormatsSupplier > xNumFmtsSupp( getDocument(), UNO_QUERY ); + Reference< XNumberFormatsSupplier > xNumFmtsSupp( static_cast<cppu::OWeakObject*>(getDocument().get()), UNO_QUERY ); if( xNumFmtsSupp.is() ) { PropertySet aNumFmtProp( xNumFmtsSupp->getNumberFormatSettings() ); aNumFmtProp.setProperty( PROP_NullDate, aNullDate ); } - Reference< XCalculatable > xCalculatable( getDocument(), UNO_QUERY ); + rtl::Reference< ScModelObj > xCalculatable( getDocument() ); if( xCalculatable.is() ) xCalculatable->enableAutomaticCalculation( (maCalcSettings.mnCalcMode == XML_auto) || (maCalcSettings.mnCalcMode == XML_autoNoTable) ); diff --git a/sc/source/filter/oox/worksheetbuffer.cxx b/sc/source/filter/oox/worksheetbuffer.cxx index a00f6cb6cc78..52285a75d390 100644 --- a/sc/source/filter/oox/worksheetbuffer.cxx +++ b/sc/source/filter/oox/worksheetbuffer.cxx @@ -38,6 +38,7 @@ #include <biffhelper.hxx> #include <globstr.hrc> #include <scresid.hxx> +#include <docuno.hxx> namespace oox::xls { diff --git a/sc/source/ui/unoobj/servuno.cxx b/sc/source/ui/unoobj/servuno.cxx index 8680179f162a..432681702738 100644 --- a/sc/source/ui/unoobj/servuno.cxx +++ b/sc/source/ui/unoobj/servuno.cxx @@ -124,12 +124,11 @@ public: OUString sSheetName; if( rDoc.GetName( i, sSheetName ) ) { - uno::Reference< frame::XModel > xModel( mpDocShell->GetModel() ); - uno::Reference <sheet::XSpreadsheetDocument> xSpreadDoc( xModel, uno::UNO_QUERY_THROW ); + rtl::Reference< ScModelObj > xSpreadDoc( mpDocShell->GetModel() ); uno::Reference<sheet::XSpreadsheets > xSheets( xSpreadDoc->getSheets(), uno::UNO_SET_THROW ); uno::Reference< container::XIndexAccess > xIndexAccess( xSheets, uno::UNO_QUERY_THROW ); uno::Reference< sheet::XSpreadsheet > xSheet( xIndexAccess->getByIndex( i ), uno::UNO_QUERY_THROW ); - uno::Sequence< uno::Any > aArgs{ maWorkbook, uno::Any(xModel), uno::Any(sSheetName) }; + uno::Sequence< uno::Any > aArgs{ maWorkbook, uno::Any(uno::Reference< frame::XModel >(xSpreadDoc)), uno::Any(sSheetName) }; // use the convenience function maCachedObject <<= ooo::vba::createVBAUnoAPIServiceWithArgs( mpDocShell, "ooo.vba.excel.Worksheet", aArgs ); break;