summaryrefslogtreecommitdiff
path: root/toolkit
diff options
context:
space:
mode:
authorNoel Grandin <noelgrandin@gmail.com>2021-11-28 19:10:25 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2021-11-28 20:25:20 +0100
commit6762aff78bd346ebf816ead77e73b6fa9d8ea7d8 (patch)
tree80edf863841ca5617fae70d9c3a7fbf421df2adc /toolkit
parentcf6823ea07047ad7681262e94721f88e768f5845 (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.hxx3
-rw-r--r--toolkit/source/awt/stylesettings.hxx4
-rw-r--r--toolkit/source/awt/vclxtoolkit.cxx25
-rw-r--r--toolkit/source/awt/vclxwindow.cxx21
-rw-r--r--toolkit/source/controls/controlmodelcontainerbase.cxx7
-rw-r--r--toolkit/source/controls/grid/defaultgridcolumnmodel.cxx4
-rw-r--r--toolkit/source/hatchwindow/documentcloser.cxx6
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 );
}