chart2/source/inc/chartview/DrawModelWrapper.hxx | 2 +- chart2/source/view/main/DrawModelWrapper.cxx | 8 +++----- include/svx/svdmodel.hxx | 9 +++++---- reportdesign/inc/RptModel.hxx | 2 +- reportdesign/source/core/sdr/RptModel.cxx | 4 ++-- sc/inc/drwlayer.hxx | 2 +- sc/source/core/data/drwlayer.cxx | 6 +++--- sd/inc/drawdoc.hxx | 2 +- sd/source/core/drawdoc.cxx | 4 ++-- sd/source/ui/animations/SlideTransitionPane.cxx | 2 +- sd/source/ui/app/sdxfer.cxx | 4 ++-- sd/source/ui/slideshow/slideshowimpl.cxx | 2 +- svx/source/svdraw/svdmodel.cxx | 9 ++++----- svx/source/svdraw/svdoole2.cxx | 3 +-- svx/source/unogallery/unogalitem.cxx | 6 +++--- svx/source/unogallery/unogaltheme.cxx | 4 ++-- svx/source/xml/xmlexport.cxx | 10 ++++++---- sw/inc/drawdoc.hxx | 2 +- sw/source/core/draw/drawdoc.cxx | 4 ++-- 19 files changed, 42 insertions(+), 43 deletions(-)
New commits: commit 516f7dafd009988f3fc58041bc265b836f4b7322 Author: Noel Grandin <noel.gran...@collabora.co.uk> AuthorDate: Fri Oct 6 09:58:45 2023 +0200 Commit: Noel Grandin <noel.gran...@collabora.co.uk> CommitDate: Fri Oct 6 14:13:28 2023 +0200 SdrModel::getUnoModel can use XModel instead of XInterface Change-Id: Ica10c62066881ba86099d2057ff6fe20e0084a85 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157632 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk> diff --git a/chart2/source/inc/chartview/DrawModelWrapper.hxx b/chart2/source/inc/chartview/DrawModelWrapper.hxx index fb977528e8f1..080587e7ecfe 100644 --- a/chart2/source/inc/chartview/DrawModelWrapper.hxx +++ b/chart2/source/inc/chartview/DrawModelWrapper.hxx @@ -66,7 +66,7 @@ public: SfxItemPool& GetItemPool(); - SAL_DLLPRIVATE virtual css::uno::Reference< css::uno::XInterface > + SAL_DLLPRIVATE virtual css::uno::Reference< css::frame::XModel > createUnoModel() override; SAL_DLLPRIVATE css::uno::Reference< css::frame::XModel > getUnoModel(); diff --git a/chart2/source/view/main/DrawModelWrapper.cxx b/chart2/source/view/main/DrawModelWrapper.cxx index d5aff15c6660..9b4a8b28a1ef 100644 --- a/chart2/source/view/main/DrawModelWrapper.cxx +++ b/chart2/source/view/main/DrawModelWrapper.cxx @@ -123,16 +123,14 @@ DrawModelWrapper::~DrawModelWrapper() m_pRefDevice.disposeAndClear(); } -uno::Reference< uno::XInterface > DrawModelWrapper::createUnoModel() +uno::Reference< frame::XModel > DrawModelWrapper::createUnoModel() { - uno::Reference< lang::XComponent > xComponent = new SvxUnoDrawingModel( this ); //tell Andreas Schluens if SvxUnoDrawingModel is not needed anymore -> remove export from svx to avoid link problems in writer - return uno::Reference< uno::XInterface >::query( xComponent ); + return new SvxUnoDrawingModel( this ); //tell Andreas Schluens if SvxUnoDrawingModel is not needed anymore -> remove export from svx to avoid link problems in writer } uno::Reference< frame::XModel > DrawModelWrapper::getUnoModel() { - uno::Reference< uno::XInterface > xI = SdrModel::getUnoModel(); - return uno::Reference<frame::XModel>::query( xI ); + return SdrModel::getUnoModel(); } SdrModel& DrawModelWrapper::getSdrModel() diff --git a/include/svx/svdmodel.hxx b/include/svx/svdmodel.hxx index 9016c9a03fe0..81ec0927db4c 100644 --- a/include/svx/svdmodel.hxx +++ b/include/svx/svdmodel.hxx @@ -22,6 +22,7 @@ #include <functional> #include <memory> #include <com/sun/star/uno/Sequence.hxx> +#include <com/sun/star/frame/XModel.hpp> #include <editeng/forbiddencharacterstable.hxx> #include <editeng/outliner.hxx> #include <rtl/ustring.hxx> @@ -253,7 +254,7 @@ public: protected: void implDtorClearModel(); - virtual css::uno::Reference< css::uno::XInterface > createUnoModel(); + virtual css::uno::Reference< css::frame::XModel > createUnoModel(); private: SdrModel(const SdrModel& rSrcModel) = delete; @@ -267,7 +268,7 @@ private: SVX_DLLPRIVATE void ImpCreateTables(bool bDisablePropertyFiles); // this is a weak reference to a possible living api wrapper for this model - css::uno::Reference< css::uno::XInterface > mxUnoModel; + css::uno::Reference< css::frame::XModel > mxUnoModel; // used to disable unique name checking during page move bool mbMakePageObjectsNamesUnique = true; @@ -553,8 +554,8 @@ public: bool GetDisableTextEditUsesCommonUndoManager() const { return mbDisableTextEditUsesCommonUndoManager; } void SetDisableTextEditUsesCommonUndoManager(bool bNew) { mbDisableTextEditUsesCommonUndoManager = bNew; } - css::uno::Reference< css::uno::XInterface > const & getUnoModel(); - void setUnoModel( const css::uno::Reference< css::uno::XInterface >& xModel ); + css::uno::Reference< css::frame::XModel > const & getUnoModel(); + void setUnoModel( const css::uno::Reference< css::frame::XModel >& xModel ); // these functions are used by the api to disable repaints during a // set of api calls. diff --git a/reportdesign/inc/RptModel.hxx b/reportdesign/inc/RptModel.hxx index b0c14aabc230..a80c1f9c0a63 100644 --- a/reportdesign/inc/RptModel.hxx +++ b/reportdesign/inc/RptModel.hxx @@ -46,7 +46,7 @@ private: ::dbaui::DBSubComponentController* m_pController; ::reportdesign::OReportDefinition* m_pReportDefinition; - virtual css::uno::Reference< css::uno::XInterface > createUnoModel() override; + virtual css::uno::Reference< css::frame::XModel > createUnoModel() override; OReportModel( const OReportModel& ) = delete; void operator=(const OReportModel& rSrcModel) = delete; diff --git a/reportdesign/source/core/sdr/RptModel.cxx b/reportdesign/source/core/sdr/RptModel.cxx index 6f7cfa1482d8..0aad6b6f0895 100644 --- a/reportdesign/source/core/sdr/RptModel.cxx +++ b/reportdesign/source/core/sdr/RptModel.cxx @@ -139,9 +139,9 @@ uno::Reference< report::XReportDefinition > OReportModel::getReportDefinition() return xReportDefinition; } -uno::Reference< uno::XInterface > OReportModel::createUnoModel() +uno::Reference< frame::XModel > OReportModel::createUnoModel() { - return uno::Reference< uno::XInterface >(getReportDefinition(),uno::UNO_QUERY); + return getReportDefinition(); } uno::Reference< uno::XInterface > OReportModel::createShape(const OUString& aServiceSpecifier,uno::Reference< drawing::XShape >& _rShape,sal_Int32 nOrientation) diff --git a/sc/inc/drwlayer.hxx b/sc/inc/drwlayer.hxx index eea0b118b521..6f1322b4b9d6 100644 --- a/sc/inc/drwlayer.hxx +++ b/sc/inc/drwlayer.hxx @@ -227,7 +227,7 @@ private: public: static void SetGlobalDrawPersist(SfxObjectShell* pPersist); private: - virtual css::uno::Reference< css::uno::XInterface > createUnoModel() override; + virtual css::uno::Reference< css::frame::XModel > createUnoModel() override; }; extern bool bDrawIsInUndo; // somewhere as member! diff --git a/sc/source/core/data/drwlayer.cxx b/sc/source/core/data/drwlayer.cxx index 26ee7fb41375..a909a9d11ad1 100644 --- a/sc/source/core/data/drwlayer.cxx +++ b/sc/source/core/data/drwlayer.cxx @@ -2938,11 +2938,11 @@ void ScDrawLayer::SetChanged( bool bFlg /* = true */ ) FmFormModel::SetChanged( bFlg ); } -css::uno::Reference< css::uno::XInterface > ScDrawLayer::createUnoModel() +css::uno::Reference< css::frame::XModel > ScDrawLayer::createUnoModel() { - css::uno::Reference< css::uno::XInterface > xRet; + css::uno::Reference< css::frame::XModel > xRet; if( pDoc && pDoc->GetDocumentShell() ) - xRet = static_cast<cppu::OWeakObject*>(pDoc->GetDocumentShell()->GetModel()); + xRet = pDoc->GetDocumentShell()->GetModel(); return xRet; } diff --git a/sd/inc/drawdoc.hxx b/sd/inc/drawdoc.hxx index 12814f3717b8..5b602c45ec12 100644 --- a/sd/inc/drawdoc.hxx +++ b/sd/inc/drawdoc.hxx @@ -191,7 +191,7 @@ private: sal_Int32 mnImagePreferredDPI; - SAL_DLLPRIVATE virtual css::uno::Reference< css::uno::XInterface > createUnoModel() override; + SAL_DLLPRIVATE virtual css::uno::Reference< css::frame::XModel > createUnoModel() override; public: diff --git a/sd/source/core/drawdoc.cxx b/sd/source/core/drawdoc.cxx index 3adb91275784..76a1efd2d97b 100644 --- a/sd/source/core/drawdoc.cxx +++ b/sd/source/core/drawdoc.cxx @@ -1010,9 +1010,9 @@ void SdDrawDocument::SetOnlineSpell(bool bIn) } // OnlineSpelling: highlighting on/off -uno::Reference< uno::XInterface > SdDrawDocument::createUnoModel() +uno::Reference< frame::XModel > SdDrawDocument::createUnoModel() { - uno::Reference< uno::XInterface > xModel; + uno::Reference< frame::XModel > xModel; try { diff --git a/sd/source/ui/animations/SlideTransitionPane.cxx b/sd/source/ui/animations/SlideTransitionPane.cxx index ac3f01762d50..e2c954623eaa 100644 --- a/sd/source/ui/animations/SlideTransitionPane.cxx +++ b/sd/source/ui/animations/SlideTransitionPane.cxx @@ -436,7 +436,7 @@ void SlideTransitionPane::Initialize(SdDrawDocument* pDoc) mxVS_TRANSITION_ICONSWin.reset(new weld::CustomWeld(*m_xBuilder, "transitions_icons", *mxVS_TRANSITION_ICONS)); if( pDoc ) - mxModel.set( pDoc->getUnoModel(), uno::UNO_QUERY ); + mxModel = pDoc->getUnoModel(); // TODO: get correct view if( mxModel.is()) mxView.set( mxModel->getCurrentController(), uno::UNO_QUERY ); diff --git a/sd/source/ui/app/sdxfer.cxx b/sd/source/ui/app/sdxfer.cxx index 693dd399c321..11fc9017f64d 100644 --- a/sd/source/ui/app/sdxfer.cxx +++ b/sd/source/ui/app/sdxfer.cxx @@ -574,8 +574,8 @@ bool SdTransferable::WriteObject( tools::SvRef<SotTempStream>& rxOStm, void* pOb pDoc->BurnInStyleSheetAttributes(); rxOStm->SetBufferSize( 16348 ); - Reference< XComponent > xComponent( new SdXImpressDocument( pDoc, true ) ); - pDoc->setUnoModel( Reference< XInterface >::query( xComponent ) ); + rtl::Reference< SdXImpressDocument > xComponent( new SdXImpressDocument( pDoc, true ) ); + pDoc->setUnoModel( xComponent ); { css::uno::Reference<css::io::XOutputStream> xDocOut( new utl::OOutputStreamWrapper( *rxOStm ) ); diff --git a/sd/source/ui/slideshow/slideshowimpl.cxx b/sd/source/ui/slideshow/slideshowimpl.cxx index f91a6aaa816b..903e7d925baf 100644 --- a/sd/source/ui/slideshow/slideshowimpl.cxx +++ b/sd/source/ui/slideshow/slideshowimpl.cxx @@ -487,7 +487,7 @@ constexpr OUStringLiteral gsBookmark( u"Bookmark" ); constexpr OUStringLiteral gsVerb( u"Verb" ); SlideshowImpl::SlideshowImpl( const Reference< XPresentation2 >& xPresentation, ViewShell* pViewSh, ::sd::View* pView, SdDrawDocument* pDoc, vcl::Window* pParentWindow ) -: mxModel(pDoc->getUnoModel(),UNO_QUERY_THROW) +: mxModel(pDoc->getUnoModel()) , maUpdateTimer("SlideShowImpl maUpdateTimer") , maInputFreezeTimer("SlideShowImpl maInputFreezeTimer") , maDeactivateTimer("SlideShowImpl maDeactivateTimer") diff --git a/svx/source/svdraw/svdmodel.cxx b/svx/source/svdraw/svdmodel.cxx index ef4ffdfb9c29..ba57b71c685b 100644 --- a/svx/source/svdraw/svdmodel.cxx +++ b/svx/source/svdraw/svdmodel.cxx @@ -1579,7 +1579,7 @@ std::shared_ptr<model::Theme> const& SdrModel::getTheme() const return mpImpl->mpTheme; } -uno::Reference< uno::XInterface > const & SdrModel::getUnoModel() +uno::Reference< frame::XModel > const & SdrModel::getUnoModel() { if( !mxUnoModel.is() ) mxUnoModel = createUnoModel(); @@ -1587,7 +1587,7 @@ uno::Reference< uno::XInterface > const & SdrModel::getUnoModel() return mxUnoModel; } -void SdrModel::setUnoModel(const uno::Reference<uno::XInterface>& xModel) +void SdrModel::setUnoModel(const uno::Reference<frame::XModel>& xModel) { mxUnoModel = xModel; } @@ -1604,11 +1604,10 @@ void SdrModel::adaptSizeAndBorderForAllPages( // to do this for higher-level (derived) Models (e.g. Draw/Impress) } -uno::Reference< uno::XInterface > SdrModel::createUnoModel() +uno::Reference< frame::XModel > SdrModel::createUnoModel() { OSL_FAIL( "SdrModel::createUnoModel() - base implementation should not be called!" ); - uno::Reference<uno::XInterface> xInt; - return xInt; + return nullptr; } void SdrModel::setLock( bool bLock ) diff --git a/svx/source/svdraw/svdoole2.cxx b/svx/source/svdraw/svdoole2.cxx index 58c0c5d8ff91..0362d3656b3e 100644 --- a/svx/source/svdraw/svdoole2.cxx +++ b/svx/source/svdraw/svdoole2.cxx @@ -1917,8 +1917,7 @@ bool SdrOle2Obj::IsCalc() const uno::Reference< frame::XModel > SdrOle2Obj::GetParentXModel() const { - uno::Reference< frame::XModel > xDoc(getSdrModelFromSdrObject().getUnoModel(), uno::UNO_QUERY); - return xDoc; + return getSdrModelFromSdrObject().getUnoModel(); } bool SdrOle2Obj::CalculateNewScaling( Fraction& aScaleWidth, Fraction& aScaleHeight, Size& aObjAreaSize ) diff --git a/svx/source/unogallery/unogalitem.cxx b/svx/source/unogallery/unogalitem.cxx index 5e72a25c0a28..d6efdf2822d8 100644 --- a/svx/source/unogallery/unogalitem.cxx +++ b/svx/source/unogallery/unogalitem.cxx @@ -314,10 +314,10 @@ void GalleryItem::_getPropertyValues( const comphelper::PropertyMapEntry** ppEnt if( pGalTheme && pGalTheme->GetModel( pGalTheme->maGalleryObjectCollection.searchPosWithObject( implGetObject() ), *pModel ) ) { - uno::Reference< lang::XComponent > xDrawing( new GalleryDrawingModel( pModel ) ); + rtl::Reference< GalleryDrawingModel > xDrawing( new GalleryDrawingModel( pModel ) ); - pModel->setUnoModel( uno::Reference< uno::XInterface >::query( xDrawing ) ); - *pValue <<= xDrawing; + pModel->setUnoModel( xDrawing ); + *pValue <<= uno::Reference< lang::XComponent >(xDrawing); } else delete pModel; diff --git a/svx/source/unogallery/unogaltheme.cxx b/svx/source/unogallery/unogaltheme.cxx index b40cbc3651ba..f35548b634b7 100644 --- a/svx/source/unogallery/unogaltheme.cxx +++ b/svx/source/unogallery/unogaltheme.cxx @@ -259,8 +259,8 @@ void SAL_CALL GalleryTheme::update( ) rtl::Reference<SdrPage> pNewPage = pOrigPage->CloneSdrPage(*pTmpModel); pTmpModel->InsertPage(pNewPage.get(), 0); - uno::Reference< lang::XComponent > xDrawing( new GalleryDrawingModel( pTmpModel ) ); - pTmpModel->setUnoModel( uno::Reference< uno::XInterface >::query( xDrawing ) ); + rtl::Reference< GalleryDrawingModel > xDrawing( new GalleryDrawingModel( pTmpModel ) ); + pTmpModel->setUnoModel( xDrawing ); nRet = insertDrawingByIndex( xDrawing, nIndex ); return nRet; diff --git a/svx/source/xml/xmlexport.cxx b/svx/source/xml/xmlexport.cxx index d6bc3870ce08..f3ba564ce03f 100644 --- a/svx/source/xml/xmlexport.cxx +++ b/svx/source/xml/xmlexport.cxx @@ -57,8 +57,9 @@ bool SvxDrawingLayerExport( SdrModel* pModel, const uno::Reference<io::XOutputSt { if( !xSourceDoc.is() ) { - xSourceDoc = new SvxUnoDrawingModel( pModel ); - pModel->setUnoModel( Reference< XInterface >::query( xSourceDoc ) ); + rtl::Reference<SvxUnoDrawingModel> pDrawingModel = new SvxUnoDrawingModel( pModel ); + xSourceDoc = pDrawingModel; + pModel->setUnoModel( pDrawingModel ); } uno::Reference< uno::XComponentContext> xContext( ::comphelper::getProcessComponentContext() ); @@ -152,8 +153,9 @@ bool SvxDrawingLayerImport( SdrModel* pModel, const uno::Reference<io::XInputStr Reference< lang::XComponent > xTargetDocument( xComponent ); if( !xTargetDocument.is() ) { - xTargetDocument = new SvxUnoDrawingModel( pModel ); - pModel->setUnoModel( Reference< XInterface >::query( xTargetDocument ) ); + rtl::Reference<SvxUnoDrawingModel> pDrawingModel = new SvxUnoDrawingModel( pModel ); + xTargetDocument = pDrawingModel; + pModel->setUnoModel( pDrawingModel ); } Reference< frame::XModel > xTargetModel( xTargetDocument, UNO_QUERY ); diff --git a/sw/inc/drawdoc.hxx b/sw/inc/drawdoc.hxx index d80be90bc220..c4e6d23ad086 100644 --- a/sw/inc/drawdoc.hxx +++ b/sw/inc/drawdoc.hxx @@ -43,7 +43,7 @@ public: private: /// override of <SdrModel::createUnoModel()> is needed to provide corresponding uno model. - virtual css::uno::Reference<css::uno::XInterface> createUnoModel() override; + virtual css::uno::Reference<css::frame::XModel> createUnoModel() override; }; #endif diff --git a/sw/source/core/draw/drawdoc.cxx b/sw/source/core/draw/drawdoc.cxx index 6d86df36b6bb..4470168feb95 100644 --- a/sw/source/core/draw/drawdoc.cxx +++ b/sw/source/core/draw/drawdoc.cxx @@ -129,9 +129,9 @@ uno::Reference<embed::XStorage> SwDrawModel::GetDocumentStorage() const return m_rDoc.GetDocStorage(); } -uno::Reference< uno::XInterface > SwDrawModel::createUnoModel() +uno::Reference< frame::XModel > SwDrawModel::createUnoModel() { - uno::Reference< uno::XInterface > xModel; + uno::Reference< frame::XModel > xModel; try {