diff options
author | Noel Grandin <noelgrandin@gmail.com> | 2021-11-28 19:10:25 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2021-11-28 20:25:20 +0100 |
commit | 6762aff78bd346ebf816ead77e73b6fa9d8ea7d8 (patch) | |
tree | 80edf863841ca5617fae70d9c3a7fbf421df2adc /toolkit | |
parent | cf6823ea07047ad7681262e94721f88e768f5845 (diff) |
use more OInterfaceContainerHelper3 in toolkit
Change-Id: If91b208db7fa59bc626293c0a868ac490a8d2d70
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125983
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'toolkit')
-rw-r--r-- | toolkit/inc/controls/controlmodelcontainerbase.hxx | 3 | ||||
-rw-r--r-- | toolkit/source/awt/stylesettings.hxx | 4 | ||||
-rw-r--r-- | toolkit/source/awt/vclxtoolkit.cxx | 25 | ||||
-rw-r--r-- | toolkit/source/awt/vclxwindow.cxx | 21 | ||||
-rw-r--r-- | toolkit/source/controls/controlmodelcontainerbase.cxx | 7 | ||||
-rw-r--r-- | toolkit/source/controls/grid/defaultgridcolumnmodel.cxx | 4 | ||||
-rw-r--r-- | 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 <cppuhelper/basemutex.hxx> #include <com/sun/star/awt/tab/XTabPageModel.hpp> #include <com/sun/star/lang/XInitialization.hpp> +#include <comphelper/interfacecontainer3.hxx> #include <mutex> #include <vector> @@ -78,7 +79,7 @@ public: protected: ContainerListenerMultiplexer maContainerListeners; - ::comphelper::OInterfaceContainerHelper2 maChangeListeners; + ::comphelper::OInterfaceContainerHelper3<css::util::XChangesListener> 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 <com/sun/star/awt/XStyleSettings.hpp> -#include <comphelper/interfacecontainer2.hxx> +#include <comphelper/interfacecontainer3.hxx> #include <cppuhelper/implbase.hxx> #include <tools/link.hxx> @@ -171,7 +171,7 @@ namespace toolkit DECL_LINK( OnWindowEvent, VclWindowEvent&, void ); VCLXWindow* pOwningWindow; - ::comphelper::OInterfaceContainerHelper2 aStyleChangeListeners; + ::comphelper::OInterfaceContainerHelper3<css::awt::XStyleChangeListener> 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 <awt/vclxspinbutton.hxx> #include <tools/debug.hxx> #include <tools/diagnose_ex.h> +#include <comphelper/interfacecontainer3.hxx> #include <comphelper/processfactory.hxx> #include <comphelper/profilezone.hxx> @@ -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<css::awt::XTopWindowListener> m_aTopWindowListeners; + ::comphelper::OInterfaceContainerHelper3<css::awt::XKeyHandler> m_aKeyHandlers; + ::comphelper::OInterfaceContainerHelper3<css::awt::XFocusListener> m_aFocusListeners; ::Link<VclSimpleEvent&,void> m_aEventListenerLink; ::Link<VclWindowEvent&,bool> 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<XInterface> & i : aListeners) + for (const css::uno::Reference<css::awt::XTopWindowListener> & 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<XInterface> & i : aHandlers) + for (const css::uno::Reference<css::awt::XKeyHandler> & 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<sal_Int16>(pWindow->GetGetFocusFlags()), xNext, false); - for (const css::uno::Reference<XInterface> & i : aListeners) + for (const css::uno::Reference<css::awt::XFocusListener> & 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 <vcl/commandevent.hxx> #include <comphelper/flagguard.hxx> #include <comphelper/interfacecontainer2.hxx> +#include <comphelper/interfacecontainer3.hxx> #include <comphelper/profilezone.hxx> #include "stylesettings.hxx" #include <tools/urlobj.hxx> @@ -96,8 +97,8 @@ private: bool mbDirectVisible; ::osl::Mutex maListenerContainerMutex; - ::comphelper::OInterfaceContainerHelper2 maWindow2Listeners; - ::comphelper::OInterfaceContainerHelper2 maDockableWindowListeners; + ::comphelper::OInterfaceContainerHelper3<css::awt::XWindowListener2> maWindow2Listeners; + ::comphelper::OInterfaceContainerHelper3<XDockableWindowListener> 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<css::awt::XWindowListener2>& getWindow2Listeners() { return maWindow2Listeners; } + ::comphelper::OInterfaceContainerHelper3<XDockableWindowListener>& 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<css::awt::XWindowListener2>& 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<css::awt::XWindowListener2>& 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<cppu::OWeakObject*>(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 <comphelper/sequence.hxx> #include <comphelper/servicehelper.hxx> #include <comphelper/componentguard.hxx> -#include <comphelper/interfacecontainer2.hxx> +#include <comphelper/interfacecontainer3.hxx> #include <cppuhelper/basemutex.hxx> #include <cppuhelper/compbase.hxx> #include <cppuhelper/supportsservice.hxx> @@ -88,7 +88,7 @@ public: private: typedef ::std::vector< css::uno::Reference< css::awt::grid::XGridColumn > > Columns; - ::comphelper::OInterfaceContainerHelper2 m_aContainerListeners; + ::comphelper::OInterfaceContainerHelper3<XContainerListener> 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 <com/sun/star/frame/XFrame.hpp> #include <com/sun/star/awt/XVclWindowPeer.hpp> #include <cppuhelper/implbase.hxx> -#include <comphelper/interfacecontainer2.hxx> +#include <comphelper/interfacecontainer3.hxx> #include <cppuhelper/supportsservice.hxx> #include <osl/mutex.hxx> #include <vcl/svapp.hxx> @@ -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<lang::XEventListener>> 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<lang::XEventListener>( m_aMutex ) ); m_pListenersContainer->addInterface( xListener ); } |