From 6762aff78bd346ebf816ead77e73b6fa9d8ea7d8 Mon Sep 17 00:00:00 2001 From: Noel Grandin Date: Sun, 28 Nov 2021 19:10:25 +0200 Subject: [PATCH] use more OInterfaceContainerHelper3 in toolkit Change-Id: If91b208db7fa59bc626293c0a868ac490a8d2d70 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125983 Tested-by: Jenkins Reviewed-by: Noel Grandin --- .../controls/controlmodelcontainerbase.hxx | 3 ++- toolkit/source/awt/stylesettings.hxx | 4 +-- toolkit/source/awt/vclxtoolkit.cxx | 25 ++++++++----------- toolkit/source/awt/vclxwindow.cxx | 21 ++++++++-------- .../controls/controlmodelcontainerbase.cxx | 7 ++---- .../controls/grid/defaultgridcolumnmodel.cxx | 4 +-- toolkit/source/hatchwindow/documentcloser.cxx | 6 ++--- 7 files changed, 32 insertions(+), 38 deletions(-) diff --git a/toolkit/inc/controls/controlmodelcontainerbase.hxx b/toolkit/inc/controls/controlmodelcontainerbase.hxx index e84bb4267e42..768474ffd116 100644 --- a/toolkit/inc/controls/controlmodelcontainerbase.hxx +++ b/toolkit/inc/controls/controlmodelcontainerbase.hxx @@ -37,6 +37,7 @@ #include #include #include +#include #include #include @@ -78,7 +79,7 @@ public: protected: ContainerListenerMultiplexer maContainerListeners; - ::comphelper::OInterfaceContainerHelper2 maChangeListeners; + ::comphelper::OInterfaceContainerHelper3 maChangeListeners; UnoControlModelHolderVector maModels; AllGroups maGroups; diff --git a/toolkit/source/awt/stylesettings.hxx b/toolkit/source/awt/stylesettings.hxx index ebd9bd2c6ee3..477a1f093be0 100644 --- a/toolkit/source/awt/stylesettings.hxx +++ b/toolkit/source/awt/stylesettings.hxx @@ -22,7 +22,7 @@ #include -#include +#include #include #include @@ -171,7 +171,7 @@ namespace toolkit DECL_LINK( OnWindowEvent, VclWindowEvent&, void ); VCLXWindow* pOwningWindow; - ::comphelper::OInterfaceContainerHelper2 aStyleChangeListeners; + ::comphelper::OInterfaceContainerHelper3 aStyleChangeListeners; }; diff --git a/toolkit/source/awt/vclxtoolkit.cxx b/toolkit/source/awt/vclxtoolkit.cxx index 6c21a5b474f1..351166d713e3 100644 --- a/toolkit/source/awt/vclxtoolkit.cxx +++ b/toolkit/source/awt/vclxtoolkit.cxx @@ -132,6 +132,7 @@ #include #include #include +#include #include #include @@ -444,9 +445,9 @@ class VCLXToolkit : public VCLXToolkitMutexHelper, oslModule hSvToolsLib; FN_SvtCreateWindow fnSvtCreateWindow; - ::comphelper::OInterfaceContainerHelper2 m_aTopWindowListeners; - ::comphelper::OInterfaceContainerHelper2 m_aKeyHandlers; - ::comphelper::OInterfaceContainerHelper2 m_aFocusListeners; + ::comphelper::OInterfaceContainerHelper3 m_aTopWindowListeners; + ::comphelper::OInterfaceContainerHelper3 m_aKeyHandlers; + ::comphelper::OInterfaceContainerHelper3 m_aFocusListeners; ::Link m_aEventListenerLink; ::Link m_aKeyListenerLink; bool m_bEventListener; @@ -2416,17 +2417,15 @@ void VCLXToolkit::callTopWindowListeners( if (!pWindow->IsTopWindow()) return; - std::vector< css::uno::Reference< css::uno::XInterface > > + std::vector< css::uno::Reference< css::awt::XTopWindowListener > > aListeners(m_aTopWindowListeners.getElements()); if (aListeners.empty()) return; css::lang::EventObject aAwtEvent( static_cast< css::awt::XWindow * >(pWindow->GetWindowPeer())); - for (const css::uno::Reference & i : aListeners) + for (const css::uno::Reference & xListener : aListeners) { - css::uno::Reference< css::awt::XTopWindowListener > - xListener(i, css::uno::UNO_QUERY); try { (xListener.get()->*pFn)(aAwtEvent); @@ -2441,7 +2440,7 @@ void VCLXToolkit::callTopWindowListeners( bool VCLXToolkit::callKeyHandlers(::VclSimpleEvent const * pEvent, bool bPressed) { - std::vector< css::uno::Reference< css::uno::XInterface > > + std::vector< css::uno::Reference< css::awt::XKeyHandler > > aHandlers(m_aKeyHandlers.getElements()); if (!aHandlers.empty()) @@ -2464,10 +2463,8 @@ bool VCLXToolkit::callKeyHandlers(::VclSimpleEvent const * pEvent, pKeyEvent->GetKeyCode().GetCode(), pKeyEvent->GetCharCode(), sal::static_int_cast< sal_Int16 >( pKeyEvent->GetKeyCode().GetFunction())); - for (const css::uno::Reference & i : aHandlers) + for (const css::uno::Reference & xHandler : aHandlers) { - css::uno::Reference< css::awt::XKeyHandler > xHandler( - i, css::uno::UNO_QUERY); try { if (bPressed ? xHandler->keyPressed(aAwtEvent) @@ -2491,7 +2488,7 @@ void VCLXToolkit::callFocusListeners(::VclSimpleEvent const * pEvent, if (!pWindow->IsTopWindow()) return; - std::vector< css::uno::Reference< css::uno::XInterface > > + std::vector< css::uno::Reference< css::awt::XFocusListener > > aListeners(m_aFocusListeners.getElements()); if (aListeners.empty()) return; @@ -2513,10 +2510,8 @@ void VCLXToolkit::callFocusListeners(::VclSimpleEvent const * pEvent, static_cast< css::awt::XWindow * >(pWindow->GetWindowPeer()), static_cast(pWindow->GetGetFocusFlags()), xNext, false); - for (const css::uno::Reference & i : aListeners) + for (const css::uno::Reference & xListener : aListeners) { - css::uno::Reference< css::awt::XFocusListener > xListener( - i, css::uno::UNO_QUERY); try { bGained ? xListener->focusGained(aAwtEvent) diff --git a/toolkit/source/awt/vclxwindow.cxx b/toolkit/source/awt/vclxwindow.cxx index b6cb0c90ecb5..6a07668e436b 100644 --- a/toolkit/source/awt/vclxwindow.cxx +++ b/toolkit/source/awt/vclxwindow.cxx @@ -55,6 +55,7 @@ #include #include #include +#include #include #include "stylesettings.hxx" #include @@ -96,8 +97,8 @@ private: bool mbDirectVisible; ::osl::Mutex maListenerContainerMutex; - ::comphelper::OInterfaceContainerHelper2 maWindow2Listeners; - ::comphelper::OInterfaceContainerHelper2 maDockableWindowListeners; + ::comphelper::OInterfaceContainerHelper3 maWindow2Listeners; + ::comphelper::OInterfaceContainerHelper3 maDockableWindowListeners; EventListenerMultiplexer maEventListeners; FocusListenerMultiplexer maFocusListeners; WindowListenerMultiplexer maWindowListeners; @@ -171,8 +172,8 @@ public: /** returns the container of registered XWindowListener2 listeners */ - ::comphelper::OInterfaceContainerHelper2& getWindow2Listeners() { return maWindow2Listeners; } - ::comphelper::OInterfaceContainerHelper2& getDockableWindowListeners(){ return maDockableWindowListeners; } + ::comphelper::OInterfaceContainerHelper3& getWindow2Listeners() { return maWindow2Listeners; } + ::comphelper::OInterfaceContainerHelper3& getDockableWindowListeners() { return maDockableWindowListeners; } EventListenerMultiplexer& getEventListeners() { return maEventListeners; } FocusListenerMultiplexer& getFocusListeners() { return maFocusListeners; } WindowListenerMultiplexer& getWindowListeners() { return maWindowListeners; } @@ -404,7 +405,7 @@ namespace { struct CallWindow2Listener { - CallWindow2Listener( ::comphelper::OInterfaceContainerHelper2& i_rWindow2Listeners, const bool i_bEnabled, const EventObject& i_rEvent ) + CallWindow2Listener( ::comphelper::OInterfaceContainerHelper3& i_rWindow2Listeners, const bool i_bEnabled, const EventObject& i_rEvent ) :m_rWindow2Listeners( i_rWindow2Listeners ) ,m_bEnabled( i_bEnabled ) ,m_aEvent( i_rEvent ) @@ -416,7 +417,7 @@ namespace m_rWindow2Listeners.notifyEach( m_bEnabled ? &XWindowListener2::windowEnabled : &XWindowListener2::windowDisabled, m_aEvent ); } - ::comphelper::OInterfaceContainerHelper2& m_rWindow2Listeners; + ::comphelper::OInterfaceContainerHelper3& m_rWindow2Listeners; const bool m_bEnabled; const EventObject m_aEvent; }; @@ -784,10 +785,10 @@ void VCLXWindow::ProcessWindowEvent( const VclWindowEvent& rVclWindowEvent ) aEvent.bInteractive = true; Reference< XDockableWindowListener > xFirstListener; - ::comphelper::OInterfaceIteratorHelper2 aIter( mpImpl->getDockableWindowListeners() ); + ::comphelper::OInterfaceIteratorHelper3 aIter( mpImpl->getDockableWindowListeners() ); while ( aIter.hasMoreElements() && !xFirstListener.is() ) { - xFirstListener.set( aIter.next(), UNO_QUERY ); + xFirstListener = aIter.next(); } css::awt::DockingData aDockingData = @@ -826,10 +827,10 @@ void VCLXWindow::ProcessWindowEvent( const VclWindowEvent& rVclWindowEvent ) aEvent.Source = static_cast(this); Reference< XDockableWindowListener > xFirstListener; - ::comphelper::OInterfaceIteratorHelper2 aIter( mpImpl->getDockableWindowListeners() ); + ::comphelper::OInterfaceIteratorHelper3 aIter( mpImpl->getDockableWindowListeners() ); while ( aIter.hasMoreElements() && !xFirstListener.is() ) { - xFirstListener.set( aIter.next(), UNO_QUERY ); + xFirstListener = aIter.next(); } *p_bFloating = xFirstListener->prepareToggleFloatingMode( aEvent ); diff --git a/toolkit/source/controls/controlmodelcontainerbase.cxx b/toolkit/source/controls/controlmodelcontainerbase.cxx index 1172ac5c99a8..6bc024cb6bfe 100644 --- a/toolkit/source/controls/controlmodelcontainerbase.cxx +++ b/toolkit/source/controls/controlmodelcontainerbase.cxx @@ -870,12 +870,9 @@ void ControlModelContainerBase::implNotifyTabModelChange( const OUString& _rAcce aEvent.Changes.getArray()[ 0 ].Accessor <<= _rAccessor; - std::vector< Reference< XInterface > > aChangeListeners( maChangeListeners.getElements() ); + std::vector< Reference< css::util::XChangesListener > > aChangeListeners( maChangeListeners.getElements() ); for ( const auto& rListener : aChangeListeners ) - { - if ( rListener.is() ) - static_cast< XChangesListener* >( rListener.get() )->changesOccurred( aEvent ); - } + rListener->changesOccurred( aEvent ); } diff --git a/toolkit/source/controls/grid/defaultgridcolumnmodel.cxx b/toolkit/source/controls/grid/defaultgridcolumnmodel.cxx index d93d10c5b2c9..afa3e54157b0 100644 --- a/toolkit/source/controls/grid/defaultgridcolumnmodel.cxx +++ b/toolkit/source/controls/grid/defaultgridcolumnmodel.cxx @@ -29,7 +29,7 @@ #include #include #include -#include +#include #include #include #include @@ -88,7 +88,7 @@ public: private: typedef ::std::vector< css::uno::Reference< css::awt::grid::XGridColumn > > Columns; - ::comphelper::OInterfaceContainerHelper2 m_aContainerListeners; + ::comphelper::OInterfaceContainerHelper3 m_aContainerListeners; Columns m_aColumns; }; diff --git a/toolkit/source/hatchwindow/documentcloser.cxx b/toolkit/source/hatchwindow/documentcloser.cxx index 6e014dd7ea46..d33f8b147ea4 100644 --- a/toolkit/source/hatchwindow/documentcloser.cxx +++ b/toolkit/source/hatchwindow/documentcloser.cxx @@ -26,7 +26,7 @@ #include #include #include -#include +#include #include #include #include @@ -46,7 +46,7 @@ class ODocumentCloser : public ::cppu::WeakImplHelper< css::lang::XComponent, { ::osl::Mutex m_aMutex; css::uno::Reference< css::frame::XFrame > m_xFrame; - std::unique_ptr<::comphelper::OInterfaceContainerHelper2> m_pListenersContainer; // list of listeners + std::unique_ptr<::comphelper::OInterfaceContainerHelper3> m_pListenersContainer; // list of listeners bool m_bDisposed; @@ -192,7 +192,7 @@ void SAL_CALL ODocumentCloser::addEventListener( const uno::Reference< lang::XEv throw lang::DisposedException(); // TODO if ( !m_pListenersContainer ) - m_pListenersContainer.reset( new ::comphelper::OInterfaceContainerHelper2( m_aMutex ) ); + m_pListenersContainer.reset( new ::comphelper::OInterfaceContainerHelper3( m_aMutex ) ); m_pListenersContainer->addInterface( xListener ); }