diff options
author | Noel Grandin <noel.grandin@collabora.co.uk> | 2021-12-03 09:38:14 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2021-12-03 20:42:00 +0100 |
commit | f9f5c9f0d6af2cb2f39d5bc1513216b8d892977c (patch) | |
tree | 38a38137eb99b1177e5dd85d0e948388307e850d /sd | |
parent | ff2068892d88091b26f3a3c034bcca49727d5840 (diff) |
replace comphelper::OListenerContainer with OInterfaceContainerHelper3
OInterfaceContainerHelper3 is in wide use and can do the same thing with
less ceremony
Change-Id: I5252738d6b7bda6245c66da46352944ead79bd52
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126271
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'sd')
-rw-r--r-- | sd/source/ui/slideshow/slideshowviewimpl.cxx | 110 | ||||
-rw-r--r-- | sd/source/ui/slideshow/slideshowviewimpl.hxx | 30 |
2 files changed, 52 insertions, 88 deletions
diff --git a/sd/source/ui/slideshow/slideshowviewimpl.cxx b/sd/source/ui/slideshow/slideshowviewimpl.cxx index d0829f8f1e8f..c8935469ed95 100644 --- a/sd/source/ui/slideshow/slideshowviewimpl.cxx +++ b/sd/source/ui/slideshow/slideshowviewimpl.cxx @@ -109,71 +109,49 @@ void SlideShowViewListeners::disposing( const lang::EventObject& _rEventSource ) maListeners.clear(); } -// SlideShowViewPaintListeners -SlideShowViewPaintListeners::SlideShowViewPaintListeners( ::osl::Mutex& rMutex ) -: SlideShowViewPaintListeners_Base( rMutex ) +void SlideShowViewMouseListeners::notify( const WrappedMouseEvent& rEvent ) { -} - -bool SlideShowViewPaintListeners::implTypedNotify( const Reference< awt::XPaintListener >& rListener, - const awt::PaintEvent& rEvent ) -{ - rListener->windowPaint( rEvent ); - return true; // continue calling listeners -} - -// SlideShowViewMouseListeners -SlideShowViewMouseListeners::SlideShowViewMouseListeners( ::osl::Mutex& rMutex ) : - SlideShowViewMouseListeners_Base( rMutex ) -{ -} - -bool SlideShowViewMouseListeners::implTypedNotify( const Reference< awt::XMouseListener >& rListener, - const WrappedMouseEvent& rEvent ) -{ - switch( rEvent.meType ) - { - case WrappedMouseEvent::PRESSED: - rListener->mousePressed( rEvent.maEvent ); - break; - - case WrappedMouseEvent::RELEASED: - rListener->mouseReleased( rEvent.maEvent ); - break; + forEach( + [&rEvent] (const Reference<css::awt::XMouseListener>& rListener) + { + switch( rEvent.meType ) + { + case WrappedMouseEvent::PRESSED: + rListener->mousePressed( rEvent.maEvent ); + break; - case WrappedMouseEvent::ENTERED: - rListener->mouseEntered( rEvent.maEvent ); - break; + case WrappedMouseEvent::RELEASED: + rListener->mouseReleased( rEvent.maEvent ); + break; - case WrappedMouseEvent::EXITED: - rListener->mouseExited( rEvent.maEvent ); - break; - } + case WrappedMouseEvent::ENTERED: + rListener->mouseEntered( rEvent.maEvent ); + break; - return true; // continue calling listeners + case WrappedMouseEvent::EXITED: + rListener->mouseExited( rEvent.maEvent ); + break; + } + }); } -// SlideShowViewMouseMotionListeners -SlideShowViewMouseMotionListeners::SlideShowViewMouseMotionListeners( ::osl::Mutex& rMutex ) : - SlideShowViewMouseMotionListeners_Base( rMutex ) -{ -} -bool SlideShowViewMouseMotionListeners::implTypedNotify( const Reference< awt::XMouseMotionListener >& rListener, - const WrappedMouseMotionEvent& rEvent ) +void SlideShowViewMouseMotionListeners::notify( const WrappedMouseMotionEvent& rEvent ) { - switch( rEvent.meType ) - { - case WrappedMouseMotionEvent::DRAGGED: - rListener->mouseDragged( rEvent.maEvent ); - break; - - case WrappedMouseMotionEvent::MOVED: - rListener->mouseMoved( rEvent.maEvent ); - break; - } + forEach( + [&rEvent] (const Reference< awt::XMouseMotionListener >& rListener) + { + switch( rEvent.meType ) + { + case WrappedMouseMotionEvent::DRAGGED: + rListener->mouseDragged( rEvent.maEvent ); + break; - return true; // continue calling listeners + case WrappedMouseMotionEvent::MOVED: + rListener->mouseMoved( rEvent.maEvent ); + break; + } + }); } // SlideShowView @@ -247,17 +225,17 @@ void SAL_CALL SlideShowView::disposing( const lang::EventObject& ) } if (mpPaintListeners != nullptr) { - mpPaintListeners->disposing( evt ); + mpPaintListeners->disposeAndClear( evt ); mpPaintListeners.reset(); } if (mpMouseListeners != nullptr) { - mpMouseListeners->disposing( evt ); + mpMouseListeners->disposeAndClear( evt ); mpMouseListeners.reset(); } if (mpMouseMotionListeners != nullptr) { - mpMouseMotionListeners->disposing( evt ); + mpMouseMotionListeners->disposeAndClear( evt ); mpMouseMotionListeners.reset(); } } @@ -280,7 +258,7 @@ void SlideShowView::paint( const awt::PaintEvent& e ) // with view awt::PaintEvent aEvent( e ); aEvent.Source = static_cast< ::cppu::OWeakObject* >( this ); - mpPaintListeners->notify( aEvent ); + mpPaintListeners->notifyEach( &css::awt::XPaintListener::windowPaint, aEvent ); updateimpl( aGuard, mpSlideShow ); // warning: clears guard! } } @@ -401,7 +379,7 @@ void SAL_CALL SlideShowView::addPaintListener( const Reference< awt::XPaintListe ::osl::MutexGuard aGuard( m_aMutex ); if (mpPaintListeners) - mpPaintListeners->addTypedListener( xListener ); + mpPaintListeners->addInterface( xListener ); } void SAL_CALL SlideShowView::removePaintListener( const Reference< awt::XPaintListener >& xListener ) @@ -409,7 +387,7 @@ void SAL_CALL SlideShowView::removePaintListener( const Reference< awt::XPaintLi ::osl::MutexGuard aGuard( m_aMutex ); if (mpPaintListeners) - mpPaintListeners->removeTypedListener( xListener ); + mpPaintListeners->removeInterface( xListener ); } void SAL_CALL SlideShowView::addMouseListener( const Reference< awt::XMouseListener >& xListener ) @@ -417,7 +395,7 @@ void SAL_CALL SlideShowView::addMouseListener( const Reference< awt::XMouseListe ::osl::MutexGuard aGuard( m_aMutex ); if (mpMouseListeners) - mpMouseListeners->addTypedListener( xListener ); + mpMouseListeners->addInterface( xListener ); } void SAL_CALL SlideShowView::removeMouseListener( const Reference< awt::XMouseListener >& xListener ) @@ -425,7 +403,7 @@ void SAL_CALL SlideShowView::removeMouseListener( const Reference< awt::XMouseLi ::osl::MutexGuard aGuard( m_aMutex ); if (mpMouseListeners) - mpMouseListeners->removeTypedListener( xListener ); + mpMouseListeners->removeInterface( xListener ); } void SAL_CALL SlideShowView::addMouseMotionListener( const Reference< awt::XMouseMotionListener >& xListener ) @@ -441,7 +419,7 @@ void SAL_CALL SlideShowView::addMouseMotionListener( const Reference< awt::XMous } if (mpMouseMotionListeners) - mpMouseMotionListeners->addTypedListener( xListener ); + mpMouseMotionListeners->addInterface( xListener ); } void SAL_CALL SlideShowView::removeMouseMotionListener( const Reference< awt::XMouseMotionListener >& xListener ) @@ -449,7 +427,7 @@ void SAL_CALL SlideShowView::removeMouseMotionListener( const Reference< awt::XM ::osl::MutexGuard aGuard( m_aMutex ); if (mpMouseMotionListeners) - mpMouseMotionListeners->removeTypedListener( xListener ); + mpMouseMotionListeners->removeInterface( xListener ); // TODO(P1): Might be nice to deregister for mouse motion // events, when the last listener is gone. diff --git a/sd/source/ui/slideshow/slideshowviewimpl.hxx b/sd/source/ui/slideshow/slideshowviewimpl.hxx index 85e433107c45..0f090ed13d03 100644 --- a/sd/source/ui/slideshow/slideshowviewimpl.hxx +++ b/sd/source/ui/slideshow/slideshowviewimpl.hxx @@ -22,7 +22,7 @@ #include <memory> #include <cppuhelper/compbase.hxx> #include <cppuhelper/basemutex.hxx> -#include <comphelper/listenernotification.hxx> +#include <comphelper/interfacecontainer3.hxx> #include <com/sun/star/awt/XWindowListener.hpp> #include <com/sun/star/util/XModifyListener.hpp> #include <com/sun/star/awt/XPaintListener.hpp> @@ -86,44 +86,30 @@ private: }; // SlideShowViewPaintListeners -typedef ::comphelper::OListenerContainerBase< css::awt::XPaintListener, - css::awt::PaintEvent > SlideShowViewPaintListeners_Base; +typedef ::comphelper::OInterfaceContainerHelper3< css::awt::XPaintListener > SlideShowViewPaintListeners; -class SlideShowViewPaintListeners : public SlideShowViewPaintListeners_Base -{ -public: - SlideShowViewPaintListeners( ::osl::Mutex& rMutex ); - -protected: - virtual bool implTypedNotify( const css::uno::Reference< css::awt::XPaintListener >& rListener, const css::awt::PaintEvent& rEvent ) override; -}; // SlideShowViewMouseListeners -typedef ::comphelper::OListenerContainerBase< css::awt::XMouseListener, WrappedMouseEvent > SlideShowViewMouseListeners_Base; +typedef ::comphelper::OInterfaceContainerHelper3< css::awt::XMouseListener > SlideShowViewMouseListeners_Base; class SlideShowViewMouseListeners : public SlideShowViewMouseListeners_Base { public: - SlideShowViewMouseListeners( ::osl::Mutex& rMutex ); + SlideShowViewMouseListeners( ::osl::Mutex& rMutex ) : SlideShowViewMouseListeners_Base(rMutex) {} -protected: - virtual bool implTypedNotify( const css::uno::Reference< css::awt::XMouseListener >& rListener, - const WrappedMouseEvent& rEvent ) override; + void notify(const WrappedMouseEvent& rEvent); }; // SlideShowViewMouseMotionListeners -typedef ::comphelper::OListenerContainerBase< css::awt::XMouseMotionListener, - WrappedMouseMotionEvent > SlideShowViewMouseMotionListeners_Base; +typedef ::comphelper::OInterfaceContainerHelper3< css::awt::XMouseMotionListener > SlideShowViewMouseMotionListeners_Base; class SlideShowViewMouseMotionListeners : public SlideShowViewMouseMotionListeners_Base { public: - SlideShowViewMouseMotionListeners( ::osl::Mutex& rMutex ); + SlideShowViewMouseMotionListeners( ::osl::Mutex& rMutex ) : SlideShowViewMouseMotionListeners_Base(rMutex) {} -protected: - virtual bool implTypedNotify( const css::uno::Reference< css::awt::XMouseMotionListener >& rListener, - const WrappedMouseMotionEvent& rEvent ) override; + void notify( const WrappedMouseMotionEvent& rEvent ); }; // SlideShowView |