summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--accessibility/inc/accessibility/extended/accessibletabbarbase.hxx2
-rw-r--r--accessibility/inc/accessibility/extended/accessibletablistboxtable.hxx2
-rw-r--r--accessibility/inc/accessibility/extended/listboxaccessible.hxx2
-rw-r--r--accessibility/inc/accessibility/extended/textwindowaccessibility.hxx6
-rw-r--r--accessibility/inc/accessibility/standard/vclxaccessiblemenubar.hxx2
-rw-r--r--accessibility/source/extended/AccessibleToolPanelDeckTabBar.cxx24
-rw-r--r--accessibility/source/extended/accessibletabbarbase.cxx28
-rw-r--r--accessibility/source/extended/accessibletablistboxtable.cxx11
-rw-r--r--accessibility/source/extended/listboxaccessible.cxx13
-rw-r--r--accessibility/source/extended/textwindowaccessibility.cxx5
-rw-r--r--accessibility/source/standard/vclxaccessiblemenubar.cxx13
-rw-r--r--avmedia/source/opengl/oglwindow.cxx27
-rw-r--r--avmedia/source/opengl/oglwindow.hxx4
-rw-r--r--basctl/source/accessibility/accessibledialogwindow.cxx14
-rw-r--r--basctl/source/inc/accessibledialogwindow.hxx2
-rw-r--r--chart2/source/controller/dialogs/dlg_CreationWizard_UNO.cxx5
-rw-r--r--chart2/source/controller/inc/dlg_CreationWizard_UNO.hxx2
-rw-r--r--extensions/source/update/ui/updatecheckui.cxx18
-rw-r--r--filter/source/pdf/pdffilter.cxx7
-rw-r--r--framework/inc/classes/fwktabwindow.hxx4
-rw-r--r--framework/source/classes/fwktabwindow.cxx4
-rw-r--r--framework/source/dispatch/windowcommanddispatch.cxx24
-rw-r--r--framework/source/inc/dispatch/windowcommanddispatch.hxx3
-rw-r--r--framework/source/services/tabwindowservice.cxx24
-rw-r--r--include/sfx2/sidebar/FocusManager.hxx2
-rw-r--r--include/sfx2/sidebar/SidebarController.hxx2
-rw-r--r--include/svtools/dialogcontrolling.hxx2
-rw-r--r--include/svtools/genericunodialog.hxx2
-rw-r--r--include/svtools/toolpanel/drawerlayouter.hxx2
-rw-r--r--include/toolkit/awt/vclxaccessiblecomponent.hxx2
-rw-r--r--include/toolkit/awt/vclxwindow.hxx2
-rw-r--r--include/vcl/layout.hxx2
-rw-r--r--include/vcl/window.hxx5
-rw-r--r--reportdesign/source/ui/inc/ReportController.hxx2
-rw-r--r--reportdesign/source/ui/report/ReportController.cxx5
-rw-r--r--sc/source/ui/app/inputhdl.cxx10
-rw-r--r--sc/source/ui/inc/inputhdl.hxx4
-rw-r--r--sd/source/ui/accessibility/AccessibleSlideSorterView.cxx7
-rw-r--r--sd/source/ui/annotations/annotationtag.cxx12
-rw-r--r--sd/source/ui/annotations/annotationtag.hxx2
-rw-r--r--sd/source/ui/framework/factories/FullScreenPane.cxx9
-rw-r--r--sd/source/ui/framework/factories/FullScreenPane.hxx2
-rw-r--r--sd/source/ui/inc/FormShellManager.hxx2
-rw-r--r--sd/source/ui/sidebar/LayoutMenu.cxx24
-rw-r--r--sd/source/ui/sidebar/LayoutMenu.hxx2
-rw-r--r--sd/source/ui/slideshow/showwin.cxx5
-rw-r--r--sd/source/ui/slideshow/showwindow.hxx2
-rw-r--r--sd/source/ui/slidesorter/controller/SlideSorterController.cxx17
-rw-r--r--sd/source/ui/slidesorter/inc/controller/SlideSorterController.hxx3
-rw-r--r--sd/source/ui/slidesorter/shell/SlideSorter.cxx4
-rw-r--r--sd/source/ui/view/FormShellManager.cxx57
-rw-r--r--sd/source/ui/view/ViewShellManager.cxx13
-rw-r--r--sfx2/source/sidebar/FocusManager.cxx25
-rw-r--r--sfx2/source/sidebar/SidebarController.cxx15
-rw-r--r--sfx2/source/toolbox/tbxitem.cxx14
-rw-r--r--svtools/source/control/toolbarmenuacc.cxx13
-rw-r--r--svtools/source/control/toolbarmenuimp.hxx2
-rw-r--r--svtools/source/misc/dialogcontrolling.cxx7
-rw-r--r--svtools/source/toolpanel/drawerlayouter.cxx19
-rw-r--r--svtools/source/uno/genericunodialog.cxx7
-rw-r--r--svtools/source/uno/popupwindowcontroller.cxx59
-rw-r--r--svx/source/accessibility/AccessibleFrameSelector.cxx17
-rw-r--r--svx/source/fmcomp/gridcell.cxx8
-rw-r--r--svx/source/form/databaselocationinput.cxx14
-rw-r--r--svx/source/inc/AccessibleFrameSelector.hxx2
-rw-r--r--svx/source/inc/gridcell.hxx2
-rw-r--r--svx/source/svdraw/sdrpaintwindow.cxx16
-rw-r--r--svx/source/tbxctrls/tbcontrl.cxx9
-rw-r--r--sw/inc/SidebarWin.hxx2
-rw-r--r--sw/source/ui/dialog/uiregionsw.cxx5
-rw-r--r--sw/source/uibase/docvw/SidebarWin.cxx61
-rw-r--r--sw/source/uibase/inc/regionsw.hxx2
-rw-r--r--toolkit/source/awt/stylesettings.cxx16
-rw-r--r--toolkit/source/awt/vclxaccessiblecomponent.cxx13
-rw-r--r--toolkit/source/awt/vclxwindow.cxx13
-rw-r--r--vcl/inc/dndevdis.hxx2
-rw-r--r--vcl/inc/window.h2
-rw-r--r--vcl/source/window/dndevdis.cxx5
-rw-r--r--vcl/source/window/event.cxx24
-rw-r--r--vcl/source/window/layout.cxx5
-rw-r--r--vcl/source/window/menubarwindow.cxx22
-rw-r--r--vcl/source/window/menubarwindow.hxx6
-rw-r--r--vcl/source/window/menufloatingwindow.cxx9
-rw-r--r--vcl/source/window/menufloatingwindow.hxx8
84 files changed, 371 insertions, 502 deletions
diff --git a/accessibility/inc/accessibility/extended/accessibletabbarbase.hxx b/accessibility/inc/accessibility/extended/accessibletabbarbase.hxx
index ed920c89399d..d6603ed3104c 100644
--- a/accessibility/inc/accessibility/extended/accessibletabbarbase.hxx
+++ b/accessibility/inc/accessibility/extended/accessibletabbarbase.hxx
@@ -45,7 +45,7 @@ public:
virtual ~AccessibleTabBarBase();
protected:
- DECL_LINK( WindowEventListener, VclSimpleEvent* );
+ DECL_LINK_TYPED( WindowEventListener, VclWindowEvent&, void );
virtual void ProcessWindowEvent( const VclWindowEvent& rVclWindowEvent );
diff --git a/accessibility/inc/accessibility/extended/accessibletablistboxtable.hxx b/accessibility/inc/accessibility/extended/accessibletablistboxtable.hxx
index 1db873c065ac..53659aeaed7a 100644
--- a/accessibility/inc/accessibility/extended/accessibletablistboxtable.hxx
+++ b/accessibility/inc/accessibility/extended/accessibletablistboxtable.hxx
@@ -42,7 +42,7 @@ private:
css::uno::Reference< css::accessibility::XAccessible > m_xCurChild;
void ProcessWindowEvent( const VclWindowEvent& rVclWindowEvent );
- DECL_LINK( WindowEventListener, VclSimpleEvent* );
+ DECL_LINK_TYPED( WindowEventListener, VclWindowEvent&, void );
// helpers ----------------------------------------------------------------
diff --git a/accessibility/inc/accessibility/extended/listboxaccessible.hxx b/accessibility/inc/accessibility/extended/listboxaccessible.hxx
index bd0b260c31fc..7affba94cc28 100644
--- a/accessibility/inc/accessibility/extended/listboxaccessible.hxx
+++ b/accessibility/inc/accessibility/extended/listboxaccessible.hxx
@@ -68,7 +68,7 @@ namespace accessibility
void disposing();
private:
- DECL_LINK( WindowEventListener, VclSimpleEvent* );
+ DECL_LINK_TYPED( WindowEventListener, VclWindowEvent&, void );
private:
ListBoxAccessibleBase( const ListBoxAccessibleBase& ) SAL_DELETED_FUNCTION;
diff --git a/accessibility/inc/accessibility/extended/textwindowaccessibility.hxx b/accessibility/inc/accessibility/extended/textwindowaccessibility.hxx
index 786e2c3e8d51..d777ec0cdabf 100644
--- a/accessibility/inc/accessibility/extended/textwindowaccessibility.hxx
+++ b/accessibility/inc/accessibility/extended/textwindowaccessibility.hxx
@@ -86,7 +86,7 @@ private:
class WindowListenerGuard
{
public:
- inline WindowListenerGuard(::Link<> const & rListener):
+ inline WindowListenerGuard(::Link<VclWindowEvent&,void> const & rListener):
m_aListener(rListener), m_pNotifier(0) {}
inline ~WindowListenerGuard() { endListening(); }
@@ -98,7 +98,7 @@ public:
void endListening();
private:
- ::Link<> m_aListener;
+ ::Link<VclWindowEvent&,void> m_aListener;
VclPtr<vcl::Window> m_pNotifier;
};
@@ -580,7 +580,7 @@ private:
// Assuming that this will only be called with the external (Solar) mutex
// locked.
// init will already have been called.
- DECL_LINK(WindowEventHandler, VclSimpleEvent *);
+ DECL_LINK_TYPED(WindowEventHandler, VclWindowEvent&, void);
// Must be called with both the external (Solar) and internal mutex
// locked.
diff --git a/accessibility/inc/accessibility/standard/vclxaccessiblemenubar.hxx b/accessibility/inc/accessibility/standard/vclxaccessiblemenubar.hxx
index 2d47a064a981..3d4ce1edbc56 100644
--- a/accessibility/inc/accessibility/standard/vclxaccessiblemenubar.hxx
+++ b/accessibility/inc/accessibility/standard/vclxaccessiblemenubar.hxx
@@ -39,7 +39,7 @@ protected:
virtual bool IsFocused() SAL_OVERRIDE;
- DECL_LINK( WindowEventListener, VclSimpleEvent* );
+ DECL_LINK_TYPED( WindowEventListener, VclWindowEvent&, void );
void ProcessWindowEvent( const VclWindowEvent& rVclWindowEvent );
diff --git a/accessibility/source/extended/AccessibleToolPanelDeckTabBar.cxx b/accessibility/source/extended/AccessibleToolPanelDeckTabBar.cxx
index 34d9e974e9d2..34b8362ebc4a 100644
--- a/accessibility/source/extended/AccessibleToolPanelDeckTabBar.cxx
+++ b/accessibility/source/extended/AccessibleToolPanelDeckTabBar.cxx
@@ -116,7 +116,7 @@ namespace accessibility
virtual void LayouterChanged( const ::svt::PDeckLayouter& i_rNewLayouter ) SAL_OVERRIDE;
virtual void Dying() SAL_OVERRIDE;
- DECL_LINK( OnWindowEvent, const VclSimpleEvent* );
+ DECL_LINK_TYPED( OnWindowEvent, VclWindowEvent&, void );
private:
AccessibleToolPanelTabBar& m_rAntiImpl;
@@ -228,30 +228,24 @@ namespace accessibility
m_rAntiImpl.dispose();
}
- IMPL_LINK( AccessibleToolPanelTabBar_Impl, OnWindowEvent, const VclSimpleEvent*, i_pEvent )
+ IMPL_LINK_TYPED( AccessibleToolPanelTabBar_Impl, OnWindowEvent, VclWindowEvent&, rWindowEvent, void )
{
- ENSURE_OR_RETURN( !isDisposed(), "AccessibleToolPanelTabBar_Impl::OnWindowEvent: already disposed!", 0L );
+ ENSURE_OR_RETURN_VOID( !isDisposed(), "AccessibleToolPanelTabBar_Impl::OnWindowEvent: already disposed!" );
- const VclWindowEvent* pWindowEvent( dynamic_cast< const VclWindowEvent* >( i_pEvent ) );
- if ( !pWindowEvent )
- return 0L;
+ const bool bForwardButton = ( rWindowEvent.GetWindow() == &m_pTabBar->GetScrollButton( true ) );
+ const bool bBackwardButton = ( rWindowEvent.GetWindow() == &m_pTabBar->GetScrollButton( false ) );
+ ENSURE_OR_RETURN_VOID( bForwardButton || bBackwardButton, "AccessibleToolPanelTabBar_Impl::OnWindowEvent: where does this come from?" );
- const bool bForwardButton = ( pWindowEvent->GetWindow() == &m_pTabBar->GetScrollButton( true ) );
- const bool bBackwardButton = ( pWindowEvent->GetWindow() == &m_pTabBar->GetScrollButton( false ) );
- ENSURE_OR_RETURN( bForwardButton || bBackwardButton, "AccessibleToolPanelTabBar_Impl::OnWindowEvent: where does this come from?", 0L );
-
- const bool bShow = ( i_pEvent->GetId() == VCLEVENT_WINDOW_SHOW );
- const bool bHide = ( i_pEvent->GetId() == VCLEVENT_WINDOW_HIDE );
+ const bool bShow = ( rWindowEvent.GetId() == VCLEVENT_WINDOW_SHOW );
+ const bool bHide = ( rWindowEvent.GetId() == VCLEVENT_WINDOW_HIDE );
if ( !bShow && !bHide )
// not interested in events other than visibility changes
- return 0L;
+ return;
const Reference< XAccessible > xButtonAccessible( m_pTabBar->GetScrollButton( bForwardButton ).GetAccessible() );
const Any aOldChild( bHide ? xButtonAccessible : Reference< XAccessible >() );
const Any aNewChild( bShow ? xButtonAccessible : Reference< XAccessible >() );
m_rAntiImpl.NotifyAccessibleEvent( AccessibleEventId::CHILD, aOldChild, aNewChild );
-
- return 1L;
}
// MethodGuard
diff --git a/accessibility/source/extended/accessibletabbarbase.cxx b/accessibility/source/extended/accessibletabbarbase.cxx
index 18c6ae50b1a3..a8a6c87439f7 100644
--- a/accessibility/source/extended/accessibletabbarbase.cxx
+++ b/accessibility/source/extended/accessibletabbarbase.cxx
@@ -43,26 +43,20 @@ AccessibleTabBarBase::~AccessibleTabBarBase()
DELETEZ( m_pExternalLock );
}
-IMPL_LINK( AccessibleTabBarBase, WindowEventListener, VclSimpleEvent*, pEvent )
+IMPL_LINK_TYPED( AccessibleTabBarBase, WindowEventListener, VclWindowEvent&, rEvent, void )
{
- VclWindowEvent* pWinEvent = dynamic_cast< VclWindowEvent* >( pEvent );
- OSL_ENSURE( pWinEvent, "AccessibleTabBarBase::WindowEventListener - unknown window event" );
- if( pWinEvent )
+ vcl::Window* pEventWindow = rEvent.GetWindow();
+ OSL_ENSURE( pEventWindow, "AccessibleTabBarBase::WindowEventListener: no window!" );
+
+ if( ( rEvent.GetId() == VCLEVENT_TABBAR_PAGEREMOVED ) &&
+ ( (sal_uInt16)reinterpret_cast<sal_IntPtr>(rEvent.GetData()) == TabBar::PAGE_NOT_FOUND ) &&
+ ( dynamic_cast< AccessibleTabBarPageList *> (this) != NULL ) )
{
- vcl::Window* pEventWindow = pWinEvent->GetWindow();
- OSL_ENSURE( pEventWindow, "AccessibleTabBarBase::WindowEventListener: no window!" );
-
- if( ( pWinEvent->GetId() == VCLEVENT_TABBAR_PAGEREMOVED ) &&
- ( (sal_uInt16)reinterpret_cast<sal_IntPtr>(pWinEvent->GetData()) == TabBar::PAGE_NOT_FOUND ) &&
- ( dynamic_cast< AccessibleTabBarPageList *> (this) != NULL ) )
- {
- return 0;
- }
-
- if ( !pEventWindow->IsAccessibilityEventsSuppressed() || (pWinEvent->GetId() == VCLEVENT_OBJECT_DYING) )
- ProcessWindowEvent( *pWinEvent );
+ return;
}
- return 0;
+
+ if ( !pEventWindow->IsAccessibilityEventsSuppressed() || (rEvent.GetId() == VCLEVENT_OBJECT_DYING) )
+ ProcessWindowEvent( rEvent );
}
void AccessibleTabBarBase::ProcessWindowEvent( const VclWindowEvent& rVclWindowEvent )
diff --git a/accessibility/source/extended/accessibletablistboxtable.cxx b/accessibility/source/extended/accessibletablistboxtable.cxx
index d233aa62429a..4dc268fbd8e8 100644
--- a/accessibility/source/extended/accessibletablistboxtable.cxx
+++ b/accessibility/source/extended/accessibletablistboxtable.cxx
@@ -251,15 +251,10 @@ namespace accessibility
}
}
- IMPL_LINK( AccessibleTabListBoxTable, WindowEventListener, VclSimpleEvent*, pEvent )
+ IMPL_LINK_TYPED( AccessibleTabListBoxTable, WindowEventListener, VclWindowEvent&, rEvent, void )
{
- OSL_ENSURE( pEvent && pEvent->ISA( VclWindowEvent ), "Unknown WindowEvent!" );
- if ( pEvent && pEvent->ISA( VclWindowEvent ) )
- {
- OSL_ENSURE( static_cast<VclWindowEvent*>( pEvent )->GetWindow() && m_pTabListBox, "no event window" );
- ProcessWindowEvent( *static_cast<VclWindowEvent*>(pEvent) );
- }
- return 0;
+ OSL_ENSURE( rEvent.GetWindow() && m_pTabListBox, "no event window" );
+ ProcessWindowEvent( rEvent );
}
// helpers --------------------------------------------------------------------
diff --git a/accessibility/source/extended/listboxaccessible.cxx b/accessibility/source/extended/listboxaccessible.cxx
index e7e428c376f3..fdc340ebcd00 100644
--- a/accessibility/source/extended/listboxaccessible.cxx
+++ b/accessibility/source/extended/listboxaccessible.cxx
@@ -41,17 +41,12 @@ namespace accessibility
}
}
- IMPL_LINK( ListBoxAccessibleBase, WindowEventListener, VclSimpleEvent*, pEvent )
+ IMPL_LINK_TYPED( ListBoxAccessibleBase, WindowEventListener, VclWindowEvent&, rEvent, void )
{
- OSL_ENSURE( pEvent && pEvent->ISA( VclWindowEvent ), "ListBoxAccessibleBase::WindowEventListener: unexpected WindowEvent!" );
- if ( pEvent && pEvent->ISA( VclWindowEvent ) )
- {
- OSL_ENSURE( static_cast< VclWindowEvent* >( pEvent )->GetWindow() , "ListBoxAccessibleBase::WindowEventListener: no event window!" );
- OSL_ENSURE( static_cast< VclWindowEvent* >( pEvent )->GetWindow() == m_pWindow, "ListBoxAccessibleBase::WindowEventListener: where did this come from?" );
+ OSL_ENSURE( rEvent.GetWindow() , "ListBoxAccessibleBase::WindowEventListener: no event window!" );
+ OSL_ENSURE( rEvent.GetWindow() == m_pWindow, "ListBoxAccessibleBase::WindowEventListener: where did this come from?" );
- ProcessWindowEvent( *static_cast< VclWindowEvent* >( pEvent ) );
- }
- return 0;
+ ProcessWindowEvent( rEvent );
}
void ListBoxAccessibleBase::disposing()
diff --git a/accessibility/source/extended/textwindowaccessibility.cxx b/accessibility/source/extended/textwindowaccessibility.cxx
index 657b4fefcdd4..b78aa7e44a70 100644
--- a/accessibility/source/extended/textwindowaccessibility.cxx
+++ b/accessibility/source/extended/textwindowaccessibility.cxx
@@ -1646,9 +1646,9 @@ void Document::Notify(::SfxBroadcaster &, ::SfxHint const & rHint)
}
}
-IMPL_LINK(Document, WindowEventHandler, ::VclSimpleEvent *, pEvent)
+IMPL_LINK_TYPED(Document, WindowEventHandler, ::VclWindowEvent&, rEvent, void)
{
- switch (pEvent->GetId())
+ switch (rEvent.GetId())
{
case VCLEVENT_WINDOW_RESIZE:
{
@@ -1750,7 +1750,6 @@ IMPL_LINK(Document, WindowEventHandler, ::VclSimpleEvent *, pEvent)
break;
}
}
- return 0;
}
void Document::init()
diff --git a/accessibility/source/standard/vclxaccessiblemenubar.cxx b/accessibility/source/standard/vclxaccessiblemenubar.cxx
index 3313f93bf616..36209fefa6b4 100644
--- a/accessibility/source/standard/vclxaccessiblemenubar.cxx
+++ b/accessibility/source/standard/vclxaccessiblemenubar.cxx
@@ -73,18 +73,13 @@ bool VCLXAccessibleMenuBar::IsFocused()
-IMPL_LINK( VCLXAccessibleMenuBar, WindowEventListener, VclSimpleEvent*, pEvent )
+IMPL_LINK_TYPED( VCLXAccessibleMenuBar, WindowEventListener, VclWindowEvent&, rEvent, void )
{
- OSL_ENSURE( pEvent && pEvent->ISA( VclWindowEvent ), "VCLXAccessibleMenuBar::WindowEventListener: unknown window event!" );
- if ( pEvent && pEvent->ISA( VclWindowEvent ) )
+ OSL_ENSURE( rEvent.GetWindow(), "VCLXAccessibleMenuBar::WindowEventListener: no window!" );
+ if ( !rEvent.GetWindow()->IsAccessibilityEventsSuppressed() || ( rEvent.GetId() == VCLEVENT_OBJECT_DYING ) )
{
- OSL_ENSURE( static_cast<VclWindowEvent*>(pEvent)->GetWindow(), "VCLXAccessibleMenuBar::WindowEventListener: no window!" );
- if ( !static_cast<VclWindowEvent*>(pEvent)->GetWindow()->IsAccessibilityEventsSuppressed() || ( pEvent->GetId() == VCLEVENT_OBJECT_DYING ) )
- {
- ProcessWindowEvent( *static_cast<VclWindowEvent*>(pEvent) );
- }
+ ProcessWindowEvent( rEvent );
}
- return 0;
}
diff --git a/avmedia/source/opengl/oglwindow.cxx b/avmedia/source/opengl/oglwindow.cxx
index fe637f882c46..ca60b4757d7f 100644
--- a/avmedia/source/opengl/oglwindow.cxx
+++ b/avmedia/source/opengl/oglwindow.cxx
@@ -201,11 +201,11 @@ void SAL_CALL OGLWindow::removePaintListener( const uno::Reference< awt::XPaintL
{
}
-IMPL_LINK(OGLWindow, FocusGrabber, VclWindowEvent*, pEvent)
+IMPL_LINK_TYPED(OGLWindow, FocusGrabber, VclWindowEvent&, rEvent, void)
{
- if( pEvent->GetId() == VCLEVENT_WINDOW_MOUSEMOVE )
+ if( rEvent.GetId() == VCLEVENT_WINDOW_MOUSEMOVE )
{
- MouseEvent* pMouseEvt = static_cast<MouseEvent*>(pEvent->GetData());
+ MouseEvent* pMouseEvt = static_cast<MouseEvent*>(rEvent.GetData());
if(pMouseEvt)
{
const Point& rMousePos = pMouseEvt->GetPosPixel();
@@ -225,15 +225,13 @@ IMPL_LINK(OGLWindow, FocusGrabber, VclWindowEvent*, pEvent)
}
}
}
-
- return 0;
}
-IMPL_LINK(OGLWindow, CameraHandler, VclWindowEvent*, pEvent)
+IMPL_LINK_TYPED(OGLWindow, CameraHandler, VclWindowEvent&, rEvent, void)
{
- if( pEvent->GetId() == VCLEVENT_WINDOW_KEYINPUT )
+ if( rEvent.GetId() == VCLEVENT_WINDOW_KEYINPUT )
{
- KeyEvent* pKeyEvt = static_cast<KeyEvent*>(pEvent->GetData());
+ KeyEvent* pKeyEvt = static_cast<KeyEvent*>(rEvent.GetData());
if(pKeyEvt)
{
const sal_uInt16 nCode = pKeyEvt->GetKeyCode().GetCode();
@@ -336,21 +334,21 @@ IMPL_LINK(OGLWindow, CameraHandler, VclWindowEvent*, pEvent)
}
}
}
- else if( pEvent->GetId() == VCLEVENT_WINDOW_MOUSEBUTTONDOWN )
+ else if( rEvent.GetId() == VCLEVENT_WINDOW_MOUSEBUTTONDOWN )
{
- MouseEvent* pMouseEvt = static_cast<MouseEvent*>(pEvent->GetData());
+ MouseEvent* pMouseEvt = static_cast<MouseEvent*>(rEvent.GetData());
if(pMouseEvt && pMouseEvt->IsLeft() && pMouseEvt->GetClicks() == 1)
{
m_aLastMousePos = pMouseEvt->GetPosPixel();
}
}
- else if( pEvent->GetId() == VCLEVENT_WINDOW_MOUSEMOVE )
+ else if( rEvent.GetId() == VCLEVENT_WINDOW_MOUSEMOVE )
{
if ( !m_rEventHandler.HasFocus() )
{
m_rEventHandler.GrabFocus();
}
- MouseEvent* pMouseEvt = static_cast<MouseEvent*>(pEvent->GetData());
+ MouseEvent* pMouseEvt = static_cast<MouseEvent*>(rEvent.GetData());
if(pMouseEvt && pMouseEvt->IsLeft() && m_aLastMousePos != Point(0,0))
{
const Point& aCurPos = pMouseEvt->GetPosPixel();
@@ -378,15 +376,14 @@ IMPL_LINK(OGLWindow, CameraHandler, VclWindowEvent*, pEvent)
m_aLastMousePos = aCurPos;
}
}
- else if( pEvent->GetId() == VCLEVENT_WINDOW_MOUSEBUTTONUP )
+ else if( rEvent.GetId() == VCLEVENT_WINDOW_MOUSEBUTTONUP )
{
- MouseEvent* pMouseEvt = static_cast<MouseEvent*>(pEvent->GetData());
+ MouseEvent* pMouseEvt = static_cast<MouseEvent*>(rEvent.GetData());
if(pMouseEvt && pMouseEvt->IsLeft() && pMouseEvt->GetClicks() == 1)
{
m_aLastMousePos = Point(0,0);
}
}
- return 0;
}
} // namespace ogl
diff --git a/avmedia/source/opengl/oglwindow.hxx b/avmedia/source/opengl/oglwindow.hxx
index 71ca91adf03d..eecd700357eb 100644
--- a/avmedia/source/opengl/oglwindow.hxx
+++ b/avmedia/source/opengl/oglwindow.hxx
@@ -62,8 +62,8 @@ public:
virtual void SAL_CALL removePaintListener( const css::uno::Reference< css::awt::XPaintListener >& xListener ) throw (css::uno::RuntimeException, std::exception) SAL_OVERRIDE;
private:
- DECL_LINK( FocusGrabber, VclWindowEvent* );
- DECL_LINK( CameraHandler, VclWindowEvent* );
+ DECL_LINK_TYPED( FocusGrabber, VclWindowEvent&, void );
+ DECL_LINK_TYPED( CameraHandler, VclWindowEvent&, void );
libgltf::glTFHandle& m_rHandle;
rtl::Reference<OpenGLContext> m_xContext;
diff --git a/basctl/source/accessibility/accessibledialogwindow.cxx b/basctl/source/accessibility/accessibledialogwindow.cxx
index fee62f94e420..cbdf5c11fcb6 100644
--- a/basctl/source/accessibility/accessibledialogwindow.cxx
+++ b/basctl/source/accessibility/accessibledialogwindow.cxx
@@ -344,17 +344,11 @@ void AccessibleDialogWindow::SortChildren()
-IMPL_LINK( AccessibleDialogWindow, WindowEventListener, VclSimpleEvent*, pEvent )
+IMPL_LINK_TYPED( AccessibleDialogWindow, WindowEventListener, VclWindowEvent&, rEvent, void )
{
- if (VclWindowEvent* pWinEvent = dynamic_cast<VclWindowEvent*>(pEvent))
- {
- DBG_ASSERT(pWinEvent->GetWindow(), "AccessibleDialogWindow::WindowEventListener: no window!");
- if (!pWinEvent->GetWindow()->IsAccessibilityEventsSuppressed() || pEvent->GetId() == VCLEVENT_OBJECT_DYING)
- ProcessWindowEvent(*pWinEvent);
- }
- else
- DBG_ASSERT(false, "AccessibleDialogWindow::WindowEventListener: unknown window event!");
- return 0;
+ DBG_ASSERT(rEvent.GetWindow(), "AccessibleDialogWindow::WindowEventListener: no window!");
+ if (!rEvent.GetWindow()->IsAccessibilityEventsSuppressed() || rEvent.GetId() == VCLEVENT_OBJECT_DYING)
+ ProcessWindowEvent(rEvent);
}
diff --git a/basctl/source/inc/accessibledialogwindow.hxx b/basctl/source/inc/accessibledialogwindow.hxx
index 97a7ef722f19..bec472af6f2c 100644
--- a/basctl/source/inc/accessibledialogwindow.hxx
+++ b/basctl/source/inc/accessibledialogwindow.hxx
@@ -98,7 +98,7 @@ protected:
void UpdateChildren();
void SortChildren();
- DECL_LINK( WindowEventListener, VclSimpleEvent* );
+ DECL_LINK_TYPED( WindowEventListener, VclWindowEvent&, void );
void ProcessWindowEvent( const VclWindowEvent& rVclWindowEvent );
void FillAccessibleStateSet( utl::AccessibleStateSetHelper& rStateSet );
diff --git a/chart2/source/controller/dialogs/dlg_CreationWizard_UNO.cxx b/chart2/source/controller/dialogs/dlg_CreationWizard_UNO.cxx
index f445f633acaa..cac2042e04aa 100644
--- a/chart2/source/controller/dialogs/dlg_CreationWizard_UNO.cxx
+++ b/chart2/source/controller/dialogs/dlg_CreationWizard_UNO.cxx
@@ -217,11 +217,10 @@ void CreationWizardUnoDlg::createDialogOnDemand()
}
}
}
-IMPL_LINK( CreationWizardUnoDlg, DialogEventHdl, VclWindowEvent*, pEvent )
+IMPL_LINK_TYPED( CreationWizardUnoDlg, DialogEventHdl, VclWindowEvent&, rEvent, void )
{
- if(pEvent && (pEvent->GetId() == VCLEVENT_OBJECT_DYING) )
+ if(rEvent.GetId() == VCLEVENT_OBJECT_DYING)
m_pDialog = 0;//avoid duplicate destruction of m_pDialog
- return 0;
}
sal_Int16 SAL_CALL CreationWizardUnoDlg::execute( ) throw(uno::RuntimeException, std::exception)
diff --git a/chart2/source/controller/inc/dlg_CreationWizard_UNO.hxx b/chart2/source/controller/inc/dlg_CreationWizard_UNO.hxx
index cb33c68a38cf..39ac29d1136d 100644
--- a/chart2/source/controller/inc/dlg_CreationWizard_UNO.hxx
+++ b/chart2/source/controller/inc/dlg_CreationWizard_UNO.hxx
@@ -94,7 +94,7 @@ public:
virtual void SAL_CALL addVetoableChangeListener( const OUString& PropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XVetoableChangeListener >& aListener ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
virtual void SAL_CALL removeVetoableChangeListener( const OUString& PropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XVetoableChangeListener >& aListener ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
- DECL_LINK( DialogEventHdl, VclWindowEvent* );
+ DECL_LINK_TYPED( DialogEventHdl, VclWindowEvent&, void );
protected:
// ____ OComponentHelper ____
diff --git a/extensions/source/update/ui/updatecheckui.cxx b/extensions/source/update/ui/updatecheckui.cxx
index b046ab66512a..9416e74725db 100644
--- a/extensions/source/update/ui/updatecheckui.cxx
+++ b/extensions/source/update/ui/updatecheckui.cxx
@@ -135,7 +135,7 @@ class UpdateCheckUI : public ::cppu::WeakImplHelper
ResMgr* mpSfxResMgr;
Idle maWaitIdle;
Timer maTimeoutTimer;
- Link<> maWindowEventHdl;
+ Link<VclWindowEvent&,void> maWindowEventHdl;
Link<> maApplicationEventHdl;
bool mbShowBubble;
bool mbShowMenuIcon;
@@ -148,7 +148,7 @@ private:
DECL_LINK_TYPED(WaitTimeOutHdl, Idle *, void);
DECL_LINK_TYPED(TimeOutHdl, Timer *, void);
DECL_LINK_TYPED(UserEventHdl, void *, void);
- DECL_LINK( WindowEventHdl, VclWindowEvent* );
+ DECL_LINK_TYPED(WindowEventHdl, VclWindowEvent&, void);
DECL_LINK( ApplicationEventHdl, VclSimpleEvent* );
BubbleWindow* GetBubbleWindow();
@@ -662,14 +662,14 @@ IMPL_LINK_NOARG_TYPED(UpdateCheckUI, UserEventHdl, void*, void)
}
-IMPL_LINK( UpdateCheckUI, WindowEventHdl, VclWindowEvent*, pEvent )
+IMPL_LINK_TYPED( UpdateCheckUI, WindowEventHdl, VclWindowEvent&, rEvent, void )
{
- sal_uLong nEventID = pEvent->GetId();
+ sal_uLong nEventID = rEvent.GetId();
if ( VCLEVENT_OBJECT_DYING == nEventID )
{
SolarMutexGuard aGuard;
- if ( mpIconSysWin == pEvent->GetWindow() )
+ if ( mpIconSysWin == rEvent.GetWindow() )
{
mpIconSysWin->RemoveEventListener( maWindowEventHdl );
RemoveBubbleWindow( true );
@@ -678,7 +678,7 @@ IMPL_LINK( UpdateCheckUI, WindowEventHdl, VclWindowEvent*, pEvent )
else if ( VCLEVENT_WINDOW_MENUBARADDED == nEventID )
{
SolarMutexGuard aGuard;
- vcl::Window *pWindow = pEvent->GetWindow();
+ vcl::Window *pWindow = rEvent.GetWindow();
if ( pWindow )
{
SystemWindow *pSysWin = pWindow->GetSystemWindow();
@@ -691,7 +691,7 @@ IMPL_LINK( UpdateCheckUI, WindowEventHdl, VclWindowEvent*, pEvent )
else if ( VCLEVENT_WINDOW_MENUBARREMOVED == nEventID )
{
SolarMutexGuard aGuard;
- MenuBar *pMBar = static_cast<MenuBar*>(pEvent->GetData());
+ MenuBar *pMBar = static_cast<MenuBar*>(rEvent.GetData());
if ( pMBar && ( pMBar == mpIconMBar ) )
RemoveBubbleWindow( true );
}
@@ -699,7 +699,7 @@ IMPL_LINK( UpdateCheckUI, WindowEventHdl, VclWindowEvent*, pEvent )
( nEventID == VCLEVENT_WINDOW_RESIZE ) )
{
SolarMutexGuard aGuard;
- if ( ( mpIconSysWin == pEvent->GetWindow() ) &&
+ if ( ( mpIconSysWin == rEvent.GetWindow() ) &&
mpBubbleWin && ( mpIconMBar != NULL ) )
{
Rectangle aIconRect = mpIconMBar->GetMenuBarButtonRectPixel( mnIconID );
@@ -709,8 +709,6 @@ IMPL_LINK( UpdateCheckUI, WindowEventHdl, VclWindowEvent*, pEvent )
mpBubbleWin->Show(); // This will recalc the screen position of the bubble
}
}
-
- return 0;
}
diff --git a/filter/source/pdf/pdffilter.cxx b/filter/source/pdf/pdffilter.cxx
index 8c342b0b7ec7..9c6478488298 100644
--- a/filter/source/pdf/pdffilter.cxx
+++ b/filter/source/pdf/pdffilter.cxx
@@ -151,14 +151,13 @@ public:
}
}
- DECL_LINK( DestroyedLink, VclWindowEvent* );
+ DECL_LINK_TYPED( DestroyedLink, VclWindowEvent&, void );
};
-IMPL_LINK( FocusWindowWaitCursor, DestroyedLink, VclWindowEvent*, pEvent )
+IMPL_LINK_TYPED( FocusWindowWaitCursor, DestroyedLink, VclWindowEvent&, rEvent, void )
{
- if( pEvent->GetId() == VCLEVENT_OBJECT_DYING )
+ if( rEvent.GetId() == VCLEVENT_OBJECT_DYING )
m_pFocusWindow = NULL;
- return 0;
}
sal_Bool SAL_CALL PDFFilter::filter( const Sequence< PropertyValue >& rDescriptor )
diff --git a/framework/inc/classes/fwktabwindow.hxx b/framework/inc/classes/fwktabwindow.hxx
index 92976b8f304e..fc39ba208ae5 100644
--- a/framework/inc/classes/fwktabwindow.hxx
+++ b/framework/inc/classes/fwktabwindow.hxx
@@ -112,8 +112,8 @@ public:
virtual ~FwkTabWindow();
virtual void dispose() SAL_OVERRIDE;
- void AddEventListener( const Link<>& rEventListener );
- void RemoveEventListener( const Link<>& rEventListener );
+ void AddEventListener( const Link<VclWindowEvent&,void>& rEventListener );
+ void RemoveEventListener( const Link<VclWindowEvent&,void>& rEventListener );
FwkTabPage* AddTabPage( sal_Int32 nIndex, const css::uno::Sequence< css::beans::NamedValue >& rProperties );
void ActivatePage( sal_Int32 nIndex );
void RemovePage( sal_Int32 nIndex );
diff --git a/framework/source/classes/fwktabwindow.cxx b/framework/source/classes/fwktabwindow.cxx
index b74c8203371c..7ee33f26372d 100644
--- a/framework/source/classes/fwktabwindow.cxx
+++ b/framework/source/classes/fwktabwindow.cxx
@@ -283,12 +283,12 @@ IMPL_LINK_NOARG_TYPED(FwkTabWindow, DeactivatePageHdl, TabControl *, bool)
return true;
}
-void FwkTabWindow::AddEventListener( const Link<>& rEventListener )
+void FwkTabWindow::AddEventListener( const Link<VclWindowEvent&,void>& rEventListener )
{
m_aTabCtrl->AddEventListener( rEventListener );
}
-void FwkTabWindow::RemoveEventListener( const Link<>& rEventListener )
+void FwkTabWindow::RemoveEventListener( const Link<VclWindowEvent&,void>& rEventListener )
{
m_aTabCtrl->RemoveEventListener( rEventListener );
}
diff --git a/framework/source/dispatch/windowcommanddispatch.cxx b/framework/source/dispatch/windowcommanddispatch.cxx
index dcdc4651c2d8..e3bd9bdf5aad 100644
--- a/framework/source/dispatch/windowcommanddispatch.cxx
+++ b/framework/source/dispatch/windowcommanddispatch.cxx
@@ -92,27 +92,23 @@ void WindowCommandDispatch::impl_stopListening()
}
}
-IMPL_LINK(WindowCommandDispatch, impl_notifyCommand, void*, pParam)
+IMPL_LINK_TYPED(WindowCommandDispatch, impl_notifyCommand, VclWindowEvent&, rEvent, void)
{
- if ( ! pParam)
- return 0L;
-
- const VclWindowEvent* pEvent = static_cast<VclWindowEvent*>(pParam);
- if (pEvent->GetId() == VCLEVENT_OBJECT_DYING)
+ if (rEvent.GetId() == VCLEVENT_OBJECT_DYING)
{
impl_stopListening();
- return 0L;
+ return;
}
- if (pEvent->GetId() != VCLEVENT_WINDOW_COMMAND)
- return 0L;
+ if (rEvent.GetId() != VCLEVENT_WINDOW_COMMAND)
+ return;
- const CommandEvent* pCommand = static_cast<CommandEvent*>(pEvent->GetData());
+ const CommandEvent* pCommand = static_cast<CommandEvent*>(rEvent.GetData());
if (pCommand->GetCommand() != CommandEventId::ShowDialog)
- return 0L;
+ return;
const CommandDialogData* pData = pCommand->GetDialogData();
if ( ! pData)
- return 0L;
+ return;
const ShowDialogId nCommand = pData->GetDialogId();
OUString sCommand;
@@ -128,12 +124,10 @@ IMPL_LINK(WindowCommandDispatch, impl_notifyCommand, void*, pParam)
break;
default :
- return 0L;
+ return;
}
impl_dispatchCommand(sCommand);
-
- return 0L;
}
void WindowCommandDispatch::impl_dispatchCommand(const OUString& sCommand)
diff --git a/framework/source/inc/dispatch/windowcommanddispatch.hxx b/framework/source/inc/dispatch/windowcommanddispatch.hxx
index 95c239d69374..f3f63928f208 100644
--- a/framework/source/inc/dispatch/windowcommanddispatch.hxx
+++ b/framework/source/inc/dispatch/windowcommanddispatch.hxx
@@ -31,6 +31,7 @@
namespace com { namespace sun { namespace star { namespace uno {
class XComponentContext;
} } } }
+class VclWindowEvent;
namespace framework{
@@ -101,7 +102,7 @@ class WindowCommandDispatch
/** @short callback from VCL to notify new commands
*/
- DECL_LINK( impl_notifyCommand, void* );
+ DECL_LINK_TYPED( impl_notifyCommand, VclWindowEvent&, void );
/** @short dispatch right command URLs into our frame context.
diff --git a/framework/source/services/tabwindowservice.cxx b/framework/source/services/tabwindowservice.cxx
index 2f8bd08b631f..f15fc6b81ab3 100644
--- a/framework/source/services/tabwindowservice.cxx
+++ b/framework/source/services/tabwindowservice.cxx
@@ -147,7 +147,7 @@ private:
virtual css::uno::Any SAL_CALL impl_getPropertyValue(const OUString& sProperty,
sal_Int32 nHandle ) SAL_OVERRIDE;
- DECL_DLLPRIVATE_LINK( EventListener, VclSimpleEvent * );
+ DECL_DLLPRIVATE_LINK_TYPED( EventListener, VclWindowEvent&, void );
void impl_checkTabIndex (::sal_Int32 nID) throw (css::lang::IndexOutOfBoundsException);
TTabPageInfoHash::iterator impl_getTabPageInfo(::sal_Int32 nID) throw (css::lang::IndexOutOfBoundsException);
@@ -418,13 +418,9 @@ css::uno::Any SAL_CALL TabWindowService::impl_getPropertyValue(const OUString& /
}
// TabWindowService
-IMPL_LINK( TabWindowService, EventListener, VclSimpleEvent*, pEvent )
+IMPL_LINK_TYPED( TabWindowService, EventListener, VclWindowEvent&, rEvent, void )
{
- if (!pEvent || !pEvent->ISA(VclWindowEvent))
- return 0;
-
- sal_uLong nEventId = pEvent->GetId();
- VclWindowEvent* pWinEvt = static_cast< VclWindowEvent* >(pEvent);
+ sal_uLong nEventId = rEvent.GetId();
css::uno::Reference< css::uno::XInterface > xThis ( static_cast< ::cppu::OWeakObject* >(this), css::uno::UNO_QUERY );
css::lang::EventObject aEvent( xThis );
@@ -437,12 +433,12 @@ IMPL_LINK( TabWindowService, EventListener, VclSimpleEvent*, pEvent )
m_pTabWin = NULL;
m_xTabWin.clear();
- return 0;
+ return;
}
::cppu::OInterfaceContainerHelper* pContainer = m_lListener.getContainer(cppu::UnoType<css::awt::XTabListener>::get());
if ( ! pContainer)
- return 0;
+ return;
::cppu::OInterfaceIteratorHelper pIterator(*pContainer);
while (pIterator.hasMoreElements())
@@ -454,19 +450,19 @@ IMPL_LINK( TabWindowService, EventListener, VclSimpleEvent*, pEvent )
switch (nEventId)
{
case VCLEVENT_TABPAGE_ACTIVATE :
- pListener->activated( (sal_Int32)reinterpret_cast<sal_uLong>(pWinEvt->GetData()) );
+ pListener->activated( (sal_Int32)reinterpret_cast<sal_uLong>(rEvent.GetData()) );
break;
case VCLEVENT_TABPAGE_DEACTIVATE :
- pListener->deactivated( (sal_Int32)reinterpret_cast<sal_uLong>(pWinEvt->GetData()) );
+ pListener->deactivated( (sal_Int32)reinterpret_cast<sal_uLong>(rEvent.GetData()) );
break;
case VCLEVENT_TABPAGE_INSERTED :
- pListener->inserted( (sal_Int32)reinterpret_cast<sal_uLong>(pWinEvt->GetData()) );
+ pListener->inserted( (sal_Int32)reinterpret_cast<sal_uLong>(rEvent.GetData()) );
break;
case VCLEVENT_TABPAGE_REMOVED :
- pListener->removed( (sal_Int32)reinterpret_cast<sal_uLong>(pWinEvt->GetData()) );
+ pListener->removed( (sal_Int32)reinterpret_cast<sal_uLong>(rEvent.GetData()) );
break;
case VCLEVENT_TABPAGE_PAGETEXTCHANGED :
@@ -479,8 +475,6 @@ IMPL_LINK( TabWindowService, EventListener, VclSimpleEvent*, pEvent )
pIterator.remove();
}
}
-
- return 0;
}
// TabWindowService
diff --git a/include/sfx2/sidebar/FocusManager.hxx b/include/sfx2/sidebar/FocusManager.hxx
index f93f9e82c368..93b78b871ac1 100644
--- a/include/sfx2/sidebar/FocusManager.hxx
+++ b/include/sfx2/sidebar/FocusManager.hxx
@@ -96,7 +96,7 @@ private:
/** Listen for key events for panels and buttons.
*/
- DECL_LINK(WindowEventListener, VclSimpleEvent*);
+ DECL_LINK_TYPED( WindowEventListener, VclWindowEvent&, void);
DECL_LINK(ChildEventListener, VclSimpleEvent*);
void ClearPanels();
diff --git a/include/sfx2/sidebar/SidebarController.hxx b/include/sfx2/sidebar/SidebarController.hxx
index 450190382b08..0c88901282d9 100644
--- a/include/sfx2/sidebar/SidebarController.hxx
+++ b/include/sfx2/sidebar/SidebarController.hxx
@@ -206,7 +206,7 @@ private:
*/
VclPtr<vcl::Window> mpCloseIndicator;
- DECL_LINK(WindowEventHandler, VclWindowEvent*);
+ DECL_LINK_TYPED(WindowEventHandler, VclWindowEvent&, void);
/** Make maRequestedContext the current context.
*/
void UpdateConfigurations();
diff --git a/include/svtools/dialogcontrolling.hxx b/include/svtools/dialogcontrolling.hxx
index c0841f13dafe..47ef7497e475 100644
--- a/include/svtools/dialogcontrolling.hxx
+++ b/include/svtools/dialogcontrolling.hxx
@@ -115,7 +115,7 @@ namespace svt
void impl_updateAll( const VclWindowEvent& _rTriggerEvent );
void impl_update( const VclWindowEvent& _rTriggerEvent, vcl::Window& _rWindow );
- DECL_LINK( OnWindowEvent, const VclWindowEvent* );
+ DECL_LINK_TYPED( OnWindowEvent, VclWindowEvent&, void );
private:
DialogController( const DialogController& ) SAL_DELETED_FUNCTION;
diff --git a/include/svtools/genericunodialog.hxx b/include/svtools/genericunodialog.hxx
index a8ef263468d8..5765e65eaf2c 100644
--- a/include/svtools/genericunodialog.hxx
+++ b/include/svtools/genericunodialog.hxx
@@ -144,7 +144,7 @@ namespace svt
virtual void implInitialize(const com::sun::star::uno::Any& _rValue);
private:
- DECL_LINK( OnDialogDying, VclWindowEvent* );
+ DECL_LINK_TYPED( OnDialogDying, VclWindowEvent&, void );
/** ensures that m_pDialog is not <NULL/>
diff --git a/include/svtools/toolpanel/drawerlayouter.hxx b/include/svtools/toolpanel/drawerlayouter.hxx
index 6306e7b6c1b5..45665b6fe454 100644
--- a/include/svtools/toolpanel/drawerlayouter.hxx
+++ b/include/svtools/toolpanel/drawerlayouter.hxx
@@ -70,7 +70,7 @@ namespace svt
size_t impl_getPanelPositionFromWindow( const vcl::Window* i_pDrawerWindow ) const;
void impl_removeDrawer( const size_t i_nPosition );
- DECL_LINK( OnWindowEvent, VclSimpleEvent* );
+ DECL_LINK_TYPED( OnWindowEvent, VclWindowEvent&, void );
private:
vcl::Window& m_rParentWindow;
diff --git a/include/toolkit/awt/vclxaccessiblecomponent.hxx b/include/toolkit/awt/vclxaccessiblecomponent.hxx
index 0fdc2a8f083f..bd0c739568d9 100644
--- a/include/toolkit/awt/vclxaccessiblecomponent.hxx
+++ b/include/toolkit/awt/vclxaccessiblecomponent.hxx
@@ -69,7 +69,7 @@ private:
VCLExternalSolarLock* m_pSolarLock;
protected:
- DECL_LINK( WindowEventListener, VclSimpleEvent* );
+ DECL_LINK_TYPED( WindowEventListener, VclWindowEvent&, void );
DECL_LINK( WindowChildEventListener, VclSimpleEvent* );
virtual void ProcessWindowEvent( const VclWindowEvent& rVclWindowEvent );
diff --git a/include/toolkit/awt/vclxwindow.hxx b/include/toolkit/awt/vclxwindow.hxx
index dab9b8e82eeb..d9cae37ca055 100644
--- a/include/toolkit/awt/vclxwindow.hxx
+++ b/include/toolkit/awt/vclxwindow.hxx
@@ -82,7 +82,7 @@ private:
protected:
Size ImplCalcWindowSize( const Size& rOutSz ) const;
- DECL_LINK( WindowEventListener, VclSimpleEvent* );
+ DECL_LINK_TYPED(WindowEventListener, VclWindowEvent&, void );
virtual void ProcessWindowEvent( const VclWindowEvent& rVclWindowEvent );
virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleContext >
diff --git a/include/vcl/layout.hxx b/include/vcl/layout.hxx
index 3dab30bd3e83..ac6f44fe6cc2 100644
--- a/include/vcl/layout.hxx
+++ b/include/vcl/layout.hxx
@@ -418,7 +418,7 @@ private:
private:
friend class VclBuilder;
void designate_label(vcl::Window *pWindow);
- DECL_LINK(WindowEventListener, VclSimpleEvent*);
+ DECL_LINK_TYPED(WindowEventListener, VclWindowEvent&, void);
public:
VclFrame(vcl::Window *pParent)
: VclBin(pParent)
diff --git a/include/vcl/window.hxx b/include/vcl/window.hxx
index 13eb1db909a8..0ea1042f11cd 100644
--- a/include/vcl/window.hxx
+++ b/include/vcl/window.hxx
@@ -68,6 +68,7 @@ class SystemWindow;
class SalFrame;
class MenuFloatingWindow;
class VCLXWindow;
+class VclWindowEvent;
namespace com { namespace sun { namespace star {
namespace accessibility {
@@ -879,8 +880,8 @@ public:
bool CompatPreNotify( NotifyEvent& rNEvt );
bool CompatNotify( NotifyEvent& rNEvt );
- void AddEventListener( const Link<>& rEventListener );
- void RemoveEventListener( const Link<>& rEventListener );
+ void AddEventListener( const Link<VclWindowEvent&,void>& rEventListener );
+ void RemoveEventListener( const Link<VclWindowEvent&,void>& rEventListener );
void AddChildEventListener( const Link<>& rEventListener );
void RemoveChildEventListener( const Link<>& rEventListener );
diff --git a/reportdesign/source/ui/inc/ReportController.hxx b/reportdesign/source/ui/inc/ReportController.hxx
index ca891e6e02d3..e48f9ccf4f47 100644
--- a/reportdesign/source/ui/inc/ReportController.hxx
+++ b/reportdesign/source/ui/inc/ReportController.hxx
@@ -334,7 +334,7 @@ namespace rptui
public:
OReportController(::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > const & the_context);
- DECL_LINK( EventLstHdl, VclWindowEvent* );
+ DECL_LINK_TYPED( EventLstHdl, VclWindowEvent&, void );
DECL_LINK_TYPED( OnCreateHdl, OAddFieldWindow&, void);
DECLARE_XINTERFACE( )
diff --git a/reportdesign/source/ui/report/ReportController.cxx b/reportdesign/source/ui/report/ReportController.cxx
index 864b5da1e4a9..c3334236dde2 100644
--- a/reportdesign/source/ui/report/ReportController.cxx
+++ b/reportdesign/source/ui/report/ReportController.cxx
@@ -2590,15 +2590,14 @@ sal_Int32 OReportController::getGroupPosition(const uno::Reference< report::XGro
}
-IMPL_LINK( OReportController, EventLstHdl, VclWindowEvent*, _pEvent )
+IMPL_LINK_TYPED( OReportController, EventLstHdl, VclWindowEvent&, _rEvent, void )
{
- if ( _pEvent && _pEvent->GetId() == VCLEVENT_WINDOW_CLOSE )
+ if ( _rEvent.GetId() == VCLEVENT_WINDOW_CLOSE )
{
InvalidateFeature(SID_SORTINGANDGROUPING);
InvalidateFeature(SID_FM_ADD_FIELD);
InvalidateFeature(SID_RPT_SHOWREPORTEXPLORER);
}
- return 1L;
}
void OReportController::Notify(SfxBroadcaster & /* _rBc */, SfxHint const & _rHint)
diff --git a/sc/source/ui/app/inputhdl.cxx b/sc/source/ui/app/inputhdl.cxx
index 9e4b8ac749ab..1abcbf3ffeb2 100644
--- a/sc/source/ui/app/inputhdl.cxx
+++ b/sc/source/ui/app/inputhdl.cxx
@@ -765,18 +765,16 @@ void ScInputHandler::GetFormulaData()
}
}
-IMPL_LINK( ScInputHandler, ShowHideTipVisibleParentListener, VclWindowEvent*, pEvent )
+IMPL_LINK_TYPED( ScInputHandler, ShowHideTipVisibleParentListener, VclWindowEvent&, rEvent, void )
{
- if( pEvent->GetId() == VCLEVENT_OBJECT_DYING || pEvent->GetId() == VCLEVENT_WINDOW_HIDE )
+ if( rEvent.GetId() == VCLEVENT_OBJECT_DYING || rEvent.GetId() == VCLEVENT_WINDOW_HIDE )
HideTip();
- return 0;
}
-IMPL_LINK( ScInputHandler, ShowHideTipVisibleSecParentListener, VclWindowEvent*, pEvent )
+IMPL_LINK_TYPED( ScInputHandler, ShowHideTipVisibleSecParentListener, VclWindowEvent&, rEvent, void )
{
- if( pEvent->GetId() == VCLEVENT_OBJECT_DYING || pEvent->GetId() == VCLEVENT_WINDOW_HIDE )
+ if( rEvent.GetId() == VCLEVENT_OBJECT_DYING || rEvent.GetId() == VCLEVENT_WINDOW_HIDE )
HideTipBelow();
- return 0;
}
void ScInputHandler::HideTip()
diff --git a/sc/source/ui/inc/inputhdl.hxx b/sc/source/ui/inc/inputhdl.hxx
index 581cee95db7d..effbc4c34406 100644
--- a/sc/source/ui/inc/inputhdl.hxx
+++ b/sc/source/ui/inc/inputhdl.hxx
@@ -159,8 +159,8 @@ private:
bool GetFuncName( OUString& aStart, OUString& aResult ); // fdo75264
void ShowArgumentsTip( OUString& rSelText );
DECL_LINK_TYPED( ModifyHdl, LinkParamNone*, void );
- DECL_LINK( ShowHideTipVisibleParentListener, VclWindowEvent* );
- DECL_LINK( ShowHideTipVisibleSecParentListener, VclWindowEvent* );
+ DECL_LINK_TYPED( ShowHideTipVisibleParentListener, VclWindowEvent&, void );
+ DECL_LINK_TYPED( ShowHideTipVisibleSecParentListener, VclWindowEvent&, void );
public:
ScInputHandler();
diff --git a/sd/source/ui/accessibility/AccessibleSlideSorterView.cxx b/sd/source/ui/accessibility/AccessibleSlideSorterView.cxx
index d8dc832fe1d5..b8bf84ff9856 100644
--- a/sd/source/ui/accessibility/AccessibleSlideSorterView.cxx
+++ b/sd/source/ui/accessibility/AccessibleSlideSorterView.cxx
@@ -80,7 +80,7 @@ public:
void ConnectListeners();
void ReleaseListeners();
void Notify (SfxBroadcaster& rBroadcaster, const SfxHint& rHint) SAL_OVERRIDE;
- DECL_LINK(WindowEventListener, VclWindowEvent*);
+ DECL_LINK_TYPED(WindowEventListener, VclWindowEvent&, void);
DECL_LINK(SelectionChangeListener, void*);
DECL_LINK_TYPED(BroadcastSelectionChange, void*, void);
DECL_LINK_TYPED(FocusChangeListener, LinkParamNone*, void);
@@ -898,9 +898,9 @@ void AccessibleSlideSorterView::Implementation::Activated()
}
-IMPL_LINK(AccessibleSlideSorterView::Implementation, WindowEventListener, VclWindowEvent*, pEvent)
+IMPL_LINK_TYPED(AccessibleSlideSorterView::Implementation, WindowEventListener, VclWindowEvent&, rEvent, void)
{
- switch (pEvent->GetId())
+ switch (rEvent.GetId())
{
case VCLEVENT_WINDOW_MOVE:
case VCLEVENT_WINDOW_RESIZE:
@@ -917,7 +917,6 @@ IMPL_LINK(AccessibleSlideSorterView::Implementation, WindowEventListener, VclWin
default:
break;
}
- return 1;
}
IMPL_LINK_NOARG(AccessibleSlideSorterView::Implementation, SelectionChangeListener)
diff --git a/sd/source/ui/annotations/annotationtag.cxx b/sd/source/ui/annotations/annotationtag.cxx
index 10c9274ecbbc..4d1e78860867 100644
--- a/sd/source/ui/annotations/annotationtag.cxx
+++ b/sd/source/ui/annotations/annotationtag.cxx
@@ -608,17 +608,15 @@ void AnnotationTag::ClosePopup()
}
}
-IMPL_LINK(AnnotationTag, WindowEventHandler, VclWindowEvent*, pEvent)
+IMPL_LINK_TYPED(AnnotationTag, WindowEventHandler, VclWindowEvent&, rEvent, void)
{
- if( pEvent != NULL )
- {
- vcl::Window* pWindow = pEvent->GetWindow();
+ vcl::Window* pWindow = rEvent.GetWindow();
if( pWindow )
{
if( pWindow == mpAnnotationWindow.get() )
{
- if( pEvent->GetId() == VCLEVENT_WINDOW_DEACTIVATE )
+ if( rEvent.GetId() == VCLEVENT_WINDOW_DEACTIVATE )
{
if( mnClosePopupEvent )
Application::RemoveUserEvent( mnClosePopupEvent );
@@ -628,7 +626,7 @@ IMPL_LINK(AnnotationTag, WindowEventHandler, VclWindowEvent*, pEvent)
}
else if( pWindow == mpListenWindow )
{
- switch( pEvent->GetId() )
+ switch( rEvent.GetId() )
{
case VCLEVENT_WINDOW_MOUSEBUTTONUP:
{
@@ -664,8 +662,6 @@ IMPL_LINK(AnnotationTag, WindowEventHandler, VclWindowEvent*, pEvent)
}
}
}
- }
- return sal_IntPtr(true);
}
IMPL_LINK_NOARG_TYPED(AnnotationTag, ClosePopupHdl, void*, void)
diff --git a/sd/source/ui/annotations/annotationtag.hxx b/sd/source/ui/annotations/annotationtag.hxx
index 043708b40262..024555b7b6c1 100644
--- a/sd/source/ui/annotations/annotationtag.hxx
+++ b/sd/source/ui/annotations/annotationtag.hxx
@@ -73,7 +73,7 @@ protected:
virtual void select() SAL_OVERRIDE;
virtual void deselect() SAL_OVERRIDE;
- DECL_LINK( WindowEventHandler, VclWindowEvent* );
+ DECL_LINK_TYPED( WindowEventHandler, VclWindowEvent&, void );
DECL_LINK_TYPED( ClosePopupHdl, void*, void );
private:
diff --git a/sd/source/ui/framework/factories/FullScreenPane.cxx b/sd/source/ui/framework/factories/FullScreenPane.cxx
index 731de222bc6b..aa05a311e6b5 100644
--- a/sd/source/ui/framework/factories/FullScreenPane.cxx
+++ b/sd/source/ui/framework/factories/FullScreenPane.cxx
@@ -71,7 +71,7 @@ FullScreenPane::FullScreenPane (
// afterwards may or may not work.
// Add resize listener at the work window.
- Link<> aWindowEventHandler (LINK(this, FullScreenPane, WindowEventHandler));
+ Link<VclWindowEvent&,void> aWindowEventHandler (LINK(this, FullScreenPane, WindowEventHandler));
mpWorkWindow->AddEventListener(aWindowEventHandler);
// Set title and icon of the new window to those of the current window
@@ -107,7 +107,7 @@ void SAL_CALL FullScreenPane::disposing()
if (mpWorkWindow.get() != NULL)
{
- Link<> aWindowEventHandler (LINK(this, FullScreenPane, WindowEventHandler));
+ Link<VclWindowEvent&,void> aWindowEventHandler (LINK(this, FullScreenPane, WindowEventHandler));
mpWorkWindow->RemoveEventListener(aWindowEventHandler);
mpWorkWindow.disposeAndClear();
}
@@ -173,9 +173,9 @@ void SAL_CALL FullScreenPane::setAccessible (
}
}
-IMPL_LINK(FullScreenPane, WindowEventHandler, VclWindowEvent*, pEvent)
+IMPL_LINK_TYPED(FullScreenPane, WindowEventHandler, VclWindowEvent&, rEvent, void)
{
- switch (pEvent->GetId())
+ switch (rEvent.GetId())
{
case VCLEVENT_WINDOW_RESIZE:
GetWindow()->SetPosPixel(Point(0,0));
@@ -188,7 +188,6 @@ IMPL_LINK(FullScreenPane, WindowEventHandler, VclWindowEvent*, pEvent)
mpWorkWindow.disposeAndClear();
break;
}
- return 1;
}
Reference<rendering::XCanvas> FullScreenPane::CreateCanvas()
diff --git a/sd/source/ui/framework/factories/FullScreenPane.hxx b/sd/source/ui/framework/factories/FullScreenPane.hxx
index f2a963128a83..02d16705e47b 100644
--- a/sd/source/ui/framework/factories/FullScreenPane.hxx
+++ b/sd/source/ui/framework/factories/FullScreenPane.hxx
@@ -71,7 +71,7 @@ public:
const css::uno::Reference<css::accessibility::XAccessible>& rxAccessible)
throw (css::uno::RuntimeException, std::exception) SAL_OVERRIDE;
- DECL_LINK(WindowEventHandler, VclWindowEvent*);
+ DECL_LINK_TYPED(WindowEventHandler, VclWindowEvent&, void);
protected:
virtual ::com::sun::star::uno::Reference<com::sun::star::rendering::XCanvas>
diff --git a/sd/source/ui/inc/FormShellManager.hxx b/sd/source/ui/inc/FormShellManager.hxx
index f8870c7d046e..a97d16166d93 100644
--- a/sd/source/ui/inc/FormShellManager.hxx
+++ b/sd/source/ui/inc/FormShellManager.hxx
@@ -108,7 +108,7 @@ private:
when the window gets the focus. In this case the form shell is
moved to the bottom of the shell stack.
*/
- DECL_LINK(WindowEventHandler, VclWindowEvent*);
+ DECL_LINK_TYPED(WindowEventHandler, VclWindowEvent&, void);
/** This call back is called when view in the center pane is replaced.
When this happens then we unregister at the window of the old and
diff --git a/sd/source/ui/sidebar/LayoutMenu.cxx b/sd/source/ui/sidebar/LayoutMenu.cxx
index 38e9fea125e7..67861e79bceb 100644
--- a/sd/source/ui/sidebar/LayoutMenu.cxx
+++ b/sd/source/ui/sidebar/LayoutMenu.cxx
@@ -188,7 +188,7 @@ void LayoutMenu::implConstruct( DrawDocShell& rDocumentShell )
".uno:VerticalTextState");
SetSizePixel(GetParent()->GetSizePixel());
- Link<> aWindowEventHandlerLink (LINK(this,LayoutMenu,WindowEventHandler));
+ Link<VclWindowEvent&,void> aWindowEventHandlerLink (LINK(this,LayoutMenu,WindowEventHandler));
GetParent()->AddEventListener(aWindowEventHandlerLink);
}
@@ -221,7 +221,7 @@ void LayoutMenu::Dispose()
Link<tools::EventMultiplexerEvent&,void> aLink (LINK(this,LayoutMenu,EventMultiplexerListener));
mrBase.GetEventMultiplexer()->RemoveEventListener (aLink);
- Link<> aWindowEventHandlerLink (LINK(this,LayoutMenu,WindowEventHandler));
+ Link<VclWindowEvent&,void> aWindowEventHandlerLink (LINK(this,LayoutMenu,WindowEventHandler));
GetParent()->RemoveEventListener(aWindowEventHandlerLink);
}
@@ -736,23 +736,17 @@ IMPL_LINK_TYPED(LayoutMenu, EventMultiplexerListener, ::sd::tools::EventMultiple
}
}
-IMPL_LINK(LayoutMenu, WindowEventHandler, VclWindowEvent*, pEvent)
+IMPL_LINK_TYPED(LayoutMenu, WindowEventHandler, VclWindowEvent&, rEvent, void)
{
- if (pEvent != NULL)
+ switch (rEvent.GetId())
{
- switch (pEvent->GetId())
- {
- case VCLEVENT_WINDOW_SHOW:
- case VCLEVENT_WINDOW_RESIZE:
- SetSizePixel(GetParent()->GetSizePixel());
- return sal_IntPtr(true);
+ case VCLEVENT_WINDOW_SHOW:
+ case VCLEVENT_WINDOW_RESIZE:
+ SetSizePixel(GetParent()->GetSizePixel());
+ break;
- default:
- return sal_IntPtr(false);
- }
+ default: break;
}
-
- return sal_IntPtr(false);
}
void LayoutMenu::DataChanged (const DataChangedEvent& rEvent)
diff --git a/sd/source/ui/sidebar/LayoutMenu.hxx b/sd/source/ui/sidebar/LayoutMenu.hxx
index adef23a61229..0969de6c525f 100644
--- a/sd/source/ui/sidebar/LayoutMenu.hxx
+++ b/sd/source/ui/sidebar/LayoutMenu.hxx
@@ -192,7 +192,7 @@ private:
DECL_LINK_TYPED(RightClickHandler, const MouseEvent&, void);
DECL_LINK_TYPED(StateChangeHandler, const OUString&, void);
DECL_LINK_TYPED(EventMultiplexerListener, ::sd::tools::EventMultiplexerEvent&, void);
- DECL_LINK(WindowEventHandler, VclWindowEvent*);
+ DECL_LINK_TYPED(WindowEventHandler, VclWindowEvent&, void);
DECL_LINK_TYPED(OnMenuItemSelected, Menu*, bool);
};
diff --git a/sd/source/ui/slideshow/showwin.cxx b/sd/source/ui/slideshow/showwin.cxx
index 6bac4037cd7a..2854779ac0d6 100644
--- a/sd/source/ui/slideshow/showwin.cxx
+++ b/sd/source/ui/slideshow/showwin.cxx
@@ -583,17 +583,16 @@ IMPL_LINK_NOARG_TYPED(ShowWindow, MouseTimeoutHdl, Timer *, void)
}
}
-IMPL_LINK( ShowWindow, EventHdl, VclWindowEvent*, pEvent )
+IMPL_LINK_TYPED( ShowWindow, EventHdl, VclWindowEvent&, rEvent, void )
{
if( mbMouseAutoHide )
{
- if (pEvent->GetId() == VCLEVENT_WINDOW_SHOW)
+ if (rEvent.GetId() == VCLEVENT_WINDOW_SHOW)
{
maMouseTimer.SetTimeout( HIDE_MOUSE_TIMEOUT );
maMouseTimer.Start();
}
}
- return 0L;
}
void ShowWindow::SetPresentationArea( const Rectangle& rPresArea )
diff --git a/sd/source/ui/slideshow/showwindow.hxx b/sd/source/ui/slideshow/showwindow.hxx
index ab7aac7e0f9c..6a39b2ec8ca6 100644
--- a/sd/source/ui/slideshow/showwindow.hxx
+++ b/sd/source/ui/slideshow/showwindow.hxx
@@ -109,7 +109,7 @@ private:
DECL_LINK_TYPED( PauseTimeoutHdl, Timer*, void );
DECL_LINK_TYPED(MouseTimeoutHdl, Timer *, void);
- DECL_LINK( EventHdl, VclWindowEvent* );
+ DECL_LINK_TYPED( EventHdl, VclWindowEvent&, void );
::rtl::Reference< SlideshowImpl > mxController;
};
diff --git a/sd/source/ui/slidesorter/controller/SlideSorterController.cxx b/sd/source/ui/slidesorter/controller/SlideSorterController.cxx
index 1aaae267a10a..3b342467b363 100644
--- a/sd/source/ui/slidesorter/controller/SlideSorterController.cxx
+++ b/sd/source/ui/slidesorter/controller/SlideSorterController.cxx
@@ -540,13 +540,17 @@ void SlideSorterController::HandleModelChange()
}
}
-IMPL_LINK(SlideSorterController, WindowEventHandler, VclWindowEvent*, pEvent)
+IMPL_LINK(SlideSorterController, ApplicationEventHandler, VclWindowEvent*, pEvent)
{
- if (pEvent != NULL)
- {
- vcl::Window* pWindow = pEvent->GetWindow();
+ if (pEvent)
+ WindowEventHandler(*pEvent);
+ return 1;
+}
+IMPL_LINK_TYPED(SlideSorterController, WindowEventHandler, VclWindowEvent&, rEvent, void)
+{
+ vcl::Window* pWindow = rEvent.GetWindow();
sd::Window *pActiveWindow (mrSlideSorter.GetContentWindow());
- switch (pEvent->GetId())
+ switch (rEvent.GetId())
{
case VCLEVENT_WINDOW_ACTIVATE:
case VCLEVENT_WINDOW_SHOW:
@@ -606,9 +610,6 @@ IMPL_LINK(SlideSorterController, WindowEventHandler, VclWindowEvent*, pEvent)
default:
break;
}
- }
-
- return sal_IntPtr(true);
}
void SlideSorterController::GetCtrlState (SfxItemSet& rSet)
diff --git a/sd/source/ui/slidesorter/inc/controller/SlideSorterController.hxx b/sd/source/ui/slidesorter/inc/controller/SlideSorterController.hxx
index 8d1d378991c1..e47ed18795d8 100644
--- a/sd/source/ui/slidesorter/inc/controller/SlideSorterController.hxx
+++ b/sd/source/ui/slidesorter/inc/controller/SlideSorterController.hxx
@@ -160,7 +160,8 @@ public:
*/
void HandleModelChange();
- DECL_LINK(WindowEventHandler, VclWindowEvent*);
+ DECL_LINK_TYPED(WindowEventHandler, VclWindowEvent&, void);
+ DECL_LINK(ApplicationEventHandler, VclWindowEvent*);
/** Update the display of all pages. This involves a redraw and
releasing previews and caches.
diff --git a/sd/source/ui/slidesorter/shell/SlideSorter.cxx b/sd/source/ui/slidesorter/shell/SlideSorter.cxx
index fd45631f4a08..91db811d6baf 100644
--- a/sd/source/ui/slidesorter/shell/SlideSorter.cxx
+++ b/sd/source/ui/slidesorter/shell/SlideSorter.cxx
@@ -271,7 +271,7 @@ void SlideSorter::SetupListeners()
LINK(
mpSlideSorterController.get(),
controller::SlideSorterController,
- WindowEventHandler));
+ ApplicationEventHandler));
mpSlideSorterController->GetScrollBarManager().Connect();
}
@@ -298,7 +298,7 @@ void SlideSorter::ReleaseListeners()
Application::RemoveEventListener(
LINK(mpSlideSorterController.get(),
controller::SlideSorterController,
- WindowEventHandler));
+ ApplicationEventHandler));
}
void SlideSorter::CreateModelViewController()
diff --git a/sd/source/ui/view/FormShellManager.cxx b/sd/source/ui/view/FormShellManager.cxx
index 02ffc9f91ece..44ecdfec1417 100644
--- a/sd/source/ui/view/FormShellManager.cxx
+++ b/sd/source/ui/view/FormShellManager.cxx
@@ -223,45 +223,40 @@ IMPL_LINK_TYPED(FormShellManager, ConfigurationUpdateHandler, sd::tools::EventMu
}
}
-IMPL_LINK(FormShellManager, WindowEventHandler, VclWindowEvent*, pEvent)
+IMPL_LINK_TYPED(FormShellManager, WindowEventHandler, VclWindowEvent&, rEvent, void)
{
- if (pEvent != NULL)
+ switch (rEvent.GetId())
{
- switch (pEvent->GetId())
+ case VCLEVENT_WINDOW_GETFOCUS:
{
- case VCLEVENT_WINDOW_GETFOCUS:
+ // The window of the center pane got the focus. Therefore
+ // the form shell is moved to the bottom of the object bar
+ // stack.
+ ViewShell* pShell = mrBase.GetMainViewShell().get();
+ if (pShell!=NULL && mbFormShellAboveViewShell)
{
- // The window of the center pane got the focus. Therefore
- // the form shell is moved to the bottom of the object bar
- // stack.
- ViewShell* pShell = mrBase.GetMainViewShell().get();
- if (pShell!=NULL && mbFormShellAboveViewShell)
- {
- mbFormShellAboveViewShell = false;
- ViewShellManager::UpdateLock aLock (mrBase.GetViewShellManager());
- mrBase.GetViewShellManager()->SetFormShell(
- pShell,
- mpFormShell,
- mbFormShellAboveViewShell);
- }
+ mbFormShellAboveViewShell = false;
+ ViewShellManager::UpdateLock aLock (mrBase.GetViewShellManager());
+ mrBase.GetViewShellManager()->SetFormShell(
+ pShell,
+ mpFormShell,
+ mbFormShellAboveViewShell);
}
+ }
+ break;
+
+ case VCLEVENT_WINDOW_LOSEFOCUS:
+ // We follow the sloppy focus policy. Losing the focus is
+ // ignored. We wait for the focus to be placed either in
+ // the window or the form shell. The later, however, is
+ // notified over the FormControlActivated handler, not this
+ // one.
break;
- case VCLEVENT_WINDOW_LOSEFOCUS:
- // We follow the sloppy focus policy. Losing the focus is
- // ignored. We wait for the focus to be placed either in
- // the window or the form shell. The later, however, is
- // notified over the FormControlActivated handler, not this
- // one.
- break;
-
- case VCLEVENT_OBJECT_DYING:
- mpMainViewShellWindow = NULL;
- break;
- }
+ case VCLEVENT_OBJECT_DYING:
+ mpMainViewShellWindow = NULL;
+ break;
}
-
- return 0;
}
void FormShellManager::Notify(SfxBroadcaster&, const SfxHint& rHint)
diff --git a/sd/source/ui/view/ViewShellManager.cxx b/sd/source/ui/view/ViewShellManager.cxx
index 72b10b33979a..5c015b3abe7b 100644
--- a/sd/source/ui/view/ViewShellManager.cxx
+++ b/sd/source/ui/view/ViewShellManager.cxx
@@ -204,7 +204,7 @@ private:
*/
void CreateTargetStack (ShellStack& rStack) const;
- DECL_LINK(WindowEventHandler, VclWindowEvent*);
+ DECL_LINK_TYPED(WindowEventHandler, VclWindowEvent&, void);
#if OSL_DEBUG_LEVEL >= 2
void DumpShellStack (const ShellStack& rStack);
@@ -984,14 +984,11 @@ void ViewShellManager::Implementation::CreateTargetStack (ShellStack& rStack) co
}
}
-IMPL_LINK(ViewShellManager::Implementation, WindowEventHandler, VclWindowEvent*, pEvent)
+IMPL_LINK_TYPED(ViewShellManager::Implementation, WindowEventHandler, VclWindowEvent&, rEvent, void)
{
- if (pEvent != NULL)
- {
- vcl::Window* pEventWindow
- = static_cast<VclWindowEvent*>(pEvent)->GetWindow();
+ vcl::Window* pEventWindow = rEvent.GetWindow();
- switch (pEvent->GetId())
+ switch (rEvent.GetId())
{
case VCLEVENT_WINDOW_GETFOCUS:
{
@@ -1028,8 +1025,6 @@ IMPL_LINK(ViewShellManager::Implementation, WindowEventHandler, VclWindowEvent*,
}
break;
}
- }
- return sal_IntPtr(true);
}
ShellDescriptor ViewShellManager::Implementation::CreateSubShell (
diff --git a/sfx2/source/sidebar/FocusManager.cxx b/sfx2/source/sidebar/FocusManager.cxx
index fbb326f05694..d36b7ac870ef 100644
--- a/sfx2/source/sidebar/FocusManager.cxx
+++ b/sfx2/source/sidebar/FocusManager.cxx
@@ -508,42 +508,33 @@ void FocusManager::HandleKeyEvent (
}
}
-IMPL_LINK(FocusManager, WindowEventListener, VclSimpleEvent*, pEvent)
+IMPL_LINK_TYPED(FocusManager, WindowEventListener, VclWindowEvent&, rWindowEvent, void)
{
- if (pEvent == NULL)
- return 0;
-
- if ( ! pEvent->ISA(VclWindowEvent))
- return 0;
-
- VclWindowEvent* pWindowEvent = static_cast<VclWindowEvent*>(pEvent);
- vcl::Window* pSource = pWindowEvent->GetWindow();
+ vcl::Window* pSource = rWindowEvent.GetWindow();
if (pSource == NULL)
- return 0;
+ return;
- switch (pWindowEvent->GetId())
+ switch (rWindowEvent.GetId())
{
case VCLEVENT_WINDOW_KEYINPUT:
{
- KeyEvent* pKeyEvent = static_cast<KeyEvent*>(pWindowEvent->GetData());
+ KeyEvent* pKeyEvent = static_cast<KeyEvent*>(rWindowEvent.GetData());
HandleKeyEvent(pKeyEvent->GetKeyCode(), *pSource);
- return 1;
+ break;
}
case VCLEVENT_OBJECT_DYING:
RemoveWindow(*pSource);
- return 1;
+ break;
case VCLEVENT_WINDOW_GETFOCUS:
case VCLEVENT_WINDOW_LOSEFOCUS:
pSource->Invalidate();
- return 1;
+ break;
default:
break;
}
-
- return 0;
}
IMPL_LINK(FocusManager, ChildEventListener, VclSimpleEvent*, pEvent)
diff --git a/sfx2/source/sidebar/SidebarController.cxx b/sfx2/source/sidebar/SidebarController.cxx
index 08279d741c23..3d0f16fc55b2 100644
--- a/sfx2/source/sidebar/SidebarController.cxx
+++ b/sfx2/source/sidebar/SidebarController.cxx
@@ -820,14 +820,11 @@ Reference<ui::XUIElement> SidebarController::CreateUIElement (
}
}
-IMPL_LINK(SidebarController, WindowEventHandler, VclWindowEvent*, pEvent)
+IMPL_LINK_TYPED(SidebarController, WindowEventHandler, VclWindowEvent&, rEvent, void)
{
- if (pEvent==NULL)
- return sal_IntPtr(false);
-
- if (pEvent->GetWindow() == mpParentWindow)
+ if (rEvent.GetWindow() == mpParentWindow)
{
- switch (pEvent->GetId())
+ switch (rEvent.GetId())
{
case VCLEVENT_WINDOW_SHOW:
case VCLEVENT_WINDOW_RESIZE:
@@ -857,9 +854,9 @@ IMPL_LINK(SidebarController, WindowEventHandler, VclWindowEvent*, pEvent)
break;
}
}
- else if (pEvent->GetWindow()==mpSplitWindow && mpSplitWindow!=nullptr)
+ else if (rEvent.GetWindow()==mpSplitWindow && mpSplitWindow!=nullptr)
{
- switch (pEvent->GetId())
+ switch (rEvent.GetId())
{
case VCLEVENT_WINDOW_MOUSEBUTTONDOWN:
mnWidthOnSplitterButtonDown = mpParentWindow->GetSizePixel().Width();
@@ -877,8 +874,6 @@ IMPL_LINK(SidebarController, WindowEventHandler, VclWindowEvent*, pEvent)
break;
}
}
-
- return sal_IntPtr(true);
}
void SidebarController::ShowPopupMenu (
diff --git a/sfx2/source/toolbox/tbxitem.cxx b/sfx2/source/toolbox/tbxitem.cxx
index 3ca799d8fb2d..e3940f16434b 100644
--- a/sfx2/source/toolbox/tbxitem.cxx
+++ b/sfx2/source/toolbox/tbxitem.cxx
@@ -193,25 +193,21 @@ struct SfxToolBoxControl_Impl
sal_uInt16 nSlotId;
VclPtr<SfxPopupWindow> mpFloatingWindow;
VclPtr<SfxPopupWindow> mpPopupWindow;
- DECL_LINK( WindowEventListener, VclSimpleEvent* );
+ DECL_LINK_TYPED( WindowEventListener, VclWindowEvent&, void );
};
-IMPL_LINK( SfxToolBoxControl_Impl, WindowEventListener, VclSimpleEvent*, pEvent )
+IMPL_LINK_TYPED( SfxToolBoxControl_Impl, WindowEventListener, VclWindowEvent&, rEvent, void )
{
- if ( pEvent &&
- pEvent->ISA( VclWindowEvent ) &&
- (( pEvent->GetId() == VCLEVENT_WINDOW_MOVE ) ||
- ( pEvent->GetId() == VCLEVENT_WINDOW_ACTIVATE )))
+ if ( ( rEvent.GetId() == VCLEVENT_WINDOW_MOVE ) ||
+ ( rEvent.GetId() == VCLEVENT_WINDOW_ACTIVATE ))
{
- vcl::Window* pWindow( static_cast<VclWindowEvent*>(pEvent)->GetWindow() );
+ vcl::Window* pWindow( rEvent.GetWindow() );
if (( pWindow == mpFloatingWindow ) &&
( mpPopupWindow != nullptr ))
{
mpPopupWindow.disposeAndClear();
}
}
-
- return 1;
}
diff --git a/svtools/source/control/toolbarmenuacc.cxx b/svtools/source/control/toolbarmenuacc.cxx
index da71f3e3d122..5bfc82116f33 100644
--- a/svtools/source/control/toolbarmenuacc.cxx
+++ b/svtools/source/control/toolbarmenuacc.cxx
@@ -61,23 +61,20 @@ ToolbarMenuAcc::~ToolbarMenuAcc()
-IMPL_LINK( ToolbarMenuAcc, WindowEventListener, VclSimpleEvent*, pEvent )
+IMPL_LINK_TYPED( ToolbarMenuAcc, WindowEventListener, VclWindowEvent&, rEvent, void )
{
- DBG_ASSERT( pEvent && pEvent->ISA( VclWindowEvent ), "Unknown WindowEvent!" );
-
/* Ignore VCLEVENT_WINDOW_ENDPOPUPMODE, because the UNO accessibility wrapper
* might have been destroyed by the previous VCLEventListener (if no AT tool
* is running), e.g. sub-toolbars in impress.
*/
- if ( mpParent && pEvent && pEvent->ISA( VclWindowEvent ) && (pEvent->GetId() != VCLEVENT_WINDOW_ENDPOPUPMODE) )
+ if ( mpParent && (rEvent.GetId() != VCLEVENT_WINDOW_ENDPOPUPMODE) )
{
- DBG_ASSERT( static_cast<VclWindowEvent*>(pEvent)->GetWindow(), "Window???" );
- if( !static_cast<VclWindowEvent*>(pEvent)->GetWindow()->IsAccessibilityEventsSuppressed() || ( pEvent->GetId() == VCLEVENT_OBJECT_DYING ) )
+ DBG_ASSERT( rEvent.GetWindow(), "Window???" );
+ if( !rEvent.GetWindow()->IsAccessibilityEventsSuppressed() || ( rEvent.GetId() == VCLEVENT_OBJECT_DYING ) )
{
- ProcessWindowEvent( *static_cast<VclWindowEvent*>(pEvent) );
+ ProcessWindowEvent( rEvent );
}
}
- return 0;
}
diff --git a/svtools/source/control/toolbarmenuimp.hxx b/svtools/source/control/toolbarmenuimp.hxx
index 951bc746142b..8a385f2fd6c7 100644
--- a/svtools/source/control/toolbarmenuimp.hxx
+++ b/svtools/source/control/toolbarmenuimp.hxx
@@ -164,7 +164,7 @@ public:
virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > SAL_CALL getSelectedAccessibleChild( sal_Int32 nSelectedChildIndex ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
virtual void SAL_CALL deselectAccessibleChild( sal_Int32 nSelectedChildIndex ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
- DECL_LINK( WindowEventListener, VclSimpleEvent* );
+ DECL_LINK_TYPED( WindowEventListener, VclWindowEvent&, void );
private:
EventListenerVector mxEventListeners;
diff --git a/svtools/source/misc/dialogcontrolling.cxx b/svtools/source/misc/dialogcontrolling.cxx
index ca6280410007..12219e4f0e94 100644
--- a/svtools/source/misc/dialogcontrolling.cxx
+++ b/svtools/source/misc/dialogcontrolling.cxx
@@ -103,11 +103,10 @@ namespace svt
}
- IMPL_LINK( DialogController, OnWindowEvent, const VclWindowEvent*, _pEvent )
+ IMPL_LINK_TYPED( DialogController, OnWindowEvent, VclWindowEvent&, _rEvent, void )
{
- if ( m_pImpl->pEventFilter->payAttentionTo( *_pEvent ) )
- impl_updateAll( *_pEvent );
- return 0L;
+ if ( m_pImpl->pEventFilter->payAttentionTo( _rEvent ) )
+ impl_updateAll( _rEvent );
}
diff --git a/svtools/source/toolpanel/drawerlayouter.cxx b/svtools/source/toolpanel/drawerlayouter.cxx
index a2042d81489a..55be1a2a35aa 100644
--- a/svtools/source/toolpanel/drawerlayouter.cxx
+++ b/svtools/source/toolpanel/drawerlayouter.cxx
@@ -230,18 +230,15 @@ namespace svt
}
- IMPL_LINK( DrawerDeckLayouter, OnWindowEvent, VclSimpleEvent*, i_pEvent )
+ IMPL_LINK_TYPED( DrawerDeckLayouter, OnWindowEvent, VclWindowEvent&, rWindowEvent, void )
{
- const VclWindowEvent* pWindowEvent = PTR_CAST( VclWindowEvent, i_pEvent );
- ENSURE_OR_RETURN( pWindowEvent, "no WindowEvent", 0L );
-
bool bActivatePanel = false;
- switch ( pWindowEvent->GetId() )
+ switch ( rWindowEvent.GetId() )
{
case VCLEVENT_WINDOW_MOUSEBUTTONUP:
{
- const MouseEvent* pMouseEvent = static_cast< const MouseEvent* >( pWindowEvent->GetData() );
- ENSURE_OR_RETURN( pMouseEvent, "no mouse event with MouseButtonUp", 0L );
+ const MouseEvent* pMouseEvent = static_cast< const MouseEvent* >( rWindowEvent.GetData() );
+ ENSURE_OR_RETURN_VOID( pMouseEvent, "no mouse event with MouseButtonUp" );
if ( pMouseEvent->GetButtons() == MOUSE_LEFT )
{
bActivatePanel = true;
@@ -250,8 +247,8 @@ namespace svt
break;
case VCLEVENT_WINDOW_KEYINPUT:
{
- const KeyEvent* pKeyEvent = static_cast< const KeyEvent* >( pWindowEvent->GetData() );
- ENSURE_OR_RETURN( pKeyEvent, "no key event with KeyInput", 0L );
+ const KeyEvent* pKeyEvent = static_cast< const KeyEvent* >( rWindowEvent.GetData() );
+ ENSURE_OR_RETURN_VOID( pKeyEvent, "no key event with KeyInput" );
const vcl::KeyCode& rKeyCode( pKeyEvent->GetKeyCode() );
if ( ( rKeyCode.GetModifier() == 0 ) && ( rKeyCode.GetCode() == KEY_RETURN ) )
{
@@ -262,7 +259,7 @@ namespace svt
}
if ( bActivatePanel )
{
- const size_t nPanelPos = impl_getPanelPositionFromWindow( pWindowEvent->GetWindow() );
+ const size_t nPanelPos = impl_getPanelPositionFromWindow( rWindowEvent.GetWindow() );
if ( nPanelPos != m_rPanelDeck.GetActivePanel() )
{
m_rPanelDeck.ActivatePanel( nPanelPos );
@@ -272,9 +269,7 @@ namespace svt
PToolPanel pPanel( m_rPanelDeck.GetPanel( nPanelPos ) );
pPanel->GrabFocus();
}
- return 1L;
}
- return 0L;
}
diff --git a/svtools/source/uno/genericunodialog.cxx b/svtools/source/uno/genericunodialog.cxx
index 64e965674878..bb4f08654f34 100644
--- a/svtools/source/uno/genericunodialog.cxx
+++ b/svtools/source/uno/genericunodialog.cxx
@@ -318,12 +318,11 @@ void OGenericUnoDialog::destroyDialog()
}
-IMPL_LINK( OGenericUnoDialog, OnDialogDying, VclWindowEvent*, _pEvent )
+IMPL_LINK_TYPED( OGenericUnoDialog, OnDialogDying, VclWindowEvent&, _rEvent, void )
{
- OSL_ENSURE( _pEvent->GetWindow() == m_pDialog, "OGenericUnoDialog::OnDialogDying: where does this come from?" );
- if ( _pEvent->GetId() == VCLEVENT_OBJECT_DYING )
+ OSL_ENSURE( _rEvent.GetWindow() == m_pDialog, "OGenericUnoDialog::OnDialogDying: where does this come from?" );
+ if ( _rEvent.GetId() == VCLEVENT_OBJECT_DYING )
m_pDialog = NULL;
- return 0L;
}
diff --git a/svtools/source/uno/popupwindowcontroller.cxx b/svtools/source/uno/popupwindowcontroller.cxx
index e6d2ac08f257..a0d7ec634679 100644
--- a/svtools/source/uno/popupwindowcontroller.cxx
+++ b/svtools/source/uno/popupwindowcontroller.cxx
@@ -42,7 +42,7 @@ public:
~PopupWindowControllerImpl();
void SetPopupWindow( vcl::Window* pPopupWindow, ToolBox* pToolBox );
- DECL_LINK( WindowEventListener, VclSimpleEvent* );
+ DECL_LINK_TYPED( WindowEventListener, VclWindowEvent&, void );
private:
VclPtr<vcl::Window> mpPopupWindow;
@@ -77,46 +77,41 @@ void PopupWindowControllerImpl::SetPopupWindow( vcl::Window* pPopupWindow, ToolB
}
}
-IMPL_LINK( PopupWindowControllerImpl, WindowEventListener, VclSimpleEvent*, pEvent )
+IMPL_LINK_TYPED( PopupWindowControllerImpl, WindowEventListener, VclWindowEvent&, rWindowEvent, void )
{
- VclWindowEvent* pWindowEvent = dynamic_cast< VclWindowEvent* >( pEvent );
- if( pWindowEvent )
+ switch( rWindowEvent.GetId() )
{
- switch( pWindowEvent->GetId() )
- {
- case VCLEVENT_WINDOW_CLOSE:
- case VCLEVENT_WINDOW_ENDPOPUPMODE:
- SetPopupWindow(0,0);
- break;
+ case VCLEVENT_WINDOW_CLOSE:
+ case VCLEVENT_WINDOW_ENDPOPUPMODE:
+ SetPopupWindow(0,0);
+ break;
- case VCLEVENT_WINDOW_SHOW:
+ case VCLEVENT_WINDOW_SHOW:
+ {
+ if( mpPopupWindow )
{
- if( mpPopupWindow )
- {
- if( mpToolBox )
- mpToolBox->CallEventListeners( VCLEVENT_DROPDOWN_OPEN, static_cast<void*>(mpPopupWindow) );
- mpPopupWindow->CallEventListeners( VCLEVENT_WINDOW_GETFOCUS, 0 );
-
- svtools::ToolbarMenu* pToolbarMenu = dynamic_cast< svtools::ToolbarMenu* >( mpPopupWindow.get() );
- if( pToolbarMenu )
- pToolbarMenu->highlightFirstEntry();
- break;
- }
+ if( mpToolBox )
+ mpToolBox->CallEventListeners( VCLEVENT_DROPDOWN_OPEN, static_cast<void*>(mpPopupWindow) );
+ mpPopupWindow->CallEventListeners( VCLEVENT_WINDOW_GETFOCUS, 0 );
+
+ svtools::ToolbarMenu* pToolbarMenu = dynamic_cast< svtools::ToolbarMenu* >( mpPopupWindow.get() );
+ if( pToolbarMenu )
+ pToolbarMenu->highlightFirstEntry();
break;
}
- case VCLEVENT_WINDOW_HIDE:
+ break;
+ }
+ case VCLEVENT_WINDOW_HIDE:
+ {
+ if( mpPopupWindow )
{
- if( mpPopupWindow )
- {
- mpPopupWindow->CallEventListeners( VCLEVENT_WINDOW_LOSEFOCUS, 0 );
- if( mpToolBox )
- mpToolBox->CallEventListeners( VCLEVENT_DROPDOWN_CLOSE, static_cast<void*>(mpPopupWindow) );
- }
- break;
- }
+ mpPopupWindow->CallEventListeners( VCLEVENT_WINDOW_LOSEFOCUS, 0 );
+ if( mpToolBox )
+ mpToolBox->CallEventListeners( VCLEVENT_DROPDOWN_CLOSE, static_cast<void*>(mpPopupWindow) );
}
+ break;
+ }
}
- return 1;
}
diff --git a/svx/source/accessibility/AccessibleFrameSelector.cxx b/svx/source/accessibility/AccessibleFrameSelector.cxx
index 2667be3860cb..9cc6b776bbef 100644
--- a/svx/source/accessibility/AccessibleFrameSelector.cxx
+++ b/svx/source/accessibility/AccessibleFrameSelector.cxx
@@ -488,21 +488,14 @@ void AccFrameSelector::NotifyFocusListeners(bool bGetFocus)
-IMPL_LINK( AccFrameSelector, WindowEventListener, VclSimpleEvent*, pEvent )
+IMPL_LINK_TYPED( AccFrameSelector, WindowEventListener, VclWindowEvent&, rEvent, void )
{
- VclWindowEvent* pWinEvent = dynamic_cast< VclWindowEvent* >( pEvent );
- DBG_ASSERT( pWinEvent, "AccFrameSelector::WindowEventListener - unknown window event" );
- if ( pWinEvent )
+ vcl::Window* pWindow = rEvent.GetWindow();
+ DBG_ASSERT( pWindow, "AccFrameSelector::WindowEventListener: no window!" );
+ if ( !pWindow->IsAccessibilityEventsSuppressed() || ( rEvent.GetId() == VCLEVENT_OBJECT_DYING ) )
{
- vcl::Window* pWindow = pWinEvent->GetWindow();
- DBG_ASSERT( pWindow, "AccFrameSelector::WindowEventListener: no window!" );
- if ( !pWindow->IsAccessibilityEventsSuppressed() || ( pWinEvent->GetId() == VCLEVENT_OBJECT_DYING ) )
- {
- ProcessWindowEvent( *pWinEvent );
- }
+ ProcessWindowEvent( rEvent );
}
-
- return 0;
}
diff --git a/svx/source/fmcomp/gridcell.cxx b/svx/source/fmcomp/gridcell.cxx
index 04b8c2b93ea4..b73b821cb733 100644
--- a/svx/source/fmcomp/gridcell.cxx
+++ b/svx/source/fmcomp/gridcell.cxx
@@ -3406,12 +3406,10 @@ void SAL_CALL FmXGridCell::removePaintListener( const Reference< awt::XPaintList
}
-IMPL_LINK( FmXGridCell, OnWindowEvent, VclWindowEvent*, _pEvent )
+IMPL_LINK_TYPED( FmXGridCell, OnWindowEvent, VclWindowEvent&, _rEvent, void )
{
- ENSURE_OR_THROW( _pEvent, "illegal event pointer" );
- ENSURE_OR_THROW( _pEvent->GetWindow(), "illegal window" );
- onWindowEvent( _pEvent->GetId(), *_pEvent->GetWindow(), _pEvent->GetData() );
- return 1L;
+ ENSURE_OR_THROW( _rEvent.GetWindow(), "illegal window" );
+ onWindowEvent( _rEvent.GetId(), *_rEvent.GetWindow(), _rEvent.GetData() );
}
diff --git a/svx/source/form/databaselocationinput.cxx b/svx/source/form/databaselocationinput.cxx
index 54ab8fca8a55..ede20e829949 100644
--- a/svx/source/form/databaselocationinput.cxx
+++ b/svx/source/form/databaselocationinput.cxx
@@ -70,7 +70,7 @@ namespace svx
void impl_onLocationModified();
OUString impl_getCurrentURL() const;
- DECL_LINK( OnControlAction, VclWindowEvent* );
+ DECL_LINK_TYPED( OnControlAction, VclWindowEvent&, void );
private:
const Reference<XComponentContext> m_xContext;
@@ -196,23 +196,21 @@ namespace svx
}
- IMPL_LINK( DatabaseLocationInputController_Impl, OnControlAction, VclWindowEvent*, _pEvent )
+ IMPL_LINK_TYPED( DatabaseLocationInputController_Impl, OnControlAction, VclWindowEvent&, _rEvent, void )
{
- if ( ( _pEvent->GetWindow() == &m_rBrowseButton )
- && ( _pEvent->GetId() == VCLEVENT_BUTTON_CLICK )
+ if ( ( _rEvent.GetWindow() == &m_rBrowseButton )
+ && ( _rEvent.GetId() == VCLEVENT_BUTTON_CLICK )
)
{
impl_onBrowseButtonClicked();
}
- if ( ( _pEvent->GetWindow() == &m_rLocationInput )
- && ( _pEvent->GetId() == VCLEVENT_EDIT_MODIFY )
+ if ( ( _rEvent.GetWindow() == &m_rLocationInput )
+ && ( _rEvent.GetId() == VCLEVENT_EDIT_MODIFY )
)
{
impl_onLocationModified();
}
-
- return 0L;
}
diff --git a/svx/source/inc/AccessibleFrameSelector.hxx b/svx/source/inc/AccessibleFrameSelector.hxx
index 3c20eec95e5d..a058576e41c6 100644
--- a/svx/source/inc/AccessibleFrameSelector.hxx
+++ b/svx/source/inc/AccessibleFrameSelector.hxx
@@ -102,7 +102,7 @@ public:
void NotifyAccessibleEvent( const sal_Int16 _nEventId, const ::com::sun::star::uno::Any& _rOldValue, const ::com::sun::star::uno::Any& _rNewValue );
protected:
- DECL_LINK( WindowEventListener, VclSimpleEvent* );
+ DECL_LINK_TYPED( WindowEventListener, VclWindowEvent&, void );
void ProcessWindowEvent( const VclWindowEvent& rVclWindowEvent );
diff --git a/svx/source/inc/gridcell.hxx b/svx/source/inc/gridcell.hxx
index 812c5d4867ca..b341397a2cfe 100644
--- a/svx/source/inc/gridcell.hxx
+++ b/svx/source/inc/gridcell.hxx
@@ -817,7 +817,7 @@ protected:
virtual void onFocusLost( const ::com::sun::star::awt::FocusEvent& _rEvent );
private:
- DECL_LINK( OnWindowEvent, VclWindowEvent* );
+ DECL_LINK_TYPED( OnWindowEvent, VclWindowEvent&, void );
};
diff --git a/svx/source/svdraw/sdrpaintwindow.cxx b/svx/source/svdraw/sdrpaintwindow.cxx
index b0f3f7f7fd20..dea8e6c9fbb1 100644
--- a/svx/source/svdraw/sdrpaintwindow.cxx
+++ b/svx/source/svdraw/sdrpaintwindow.cxx
@@ -35,25 +35,19 @@ class CandidateMgr
{
std::vector<VclPtr<vcl::Window> > m_aCandidates;
std::set<VclPtr<vcl::Window> > m_aDeletedCandidates;
- DECL_LINK(WindowEventListener, VclSimpleEvent*);
+ DECL_LINK_TYPED(WindowEventListener, VclWindowEvent&, void);
public:
void PaintTransparentChildren(vcl::Window & rWindow, Rectangle const& rPixelRect);
~CandidateMgr();
};
-IMPL_LINK(CandidateMgr, WindowEventListener, VclSimpleEvent*, pEvent)
+IMPL_LINK_TYPED(CandidateMgr, WindowEventListener, VclWindowEvent&, rEvent, void)
{
- VclWindowEvent* pWinEvent = dynamic_cast< VclWindowEvent* >( pEvent );
- if (pWinEvent)
+ vcl::Window* pWindow = rEvent.GetWindow();
+ if (rEvent.GetId() == VCLEVENT_OBJECT_DYING)
{
- vcl::Window* pWindow = pWinEvent->GetWindow();
- if (pWinEvent->GetId() == VCLEVENT_OBJECT_DYING)
- {
- m_aDeletedCandidates.insert(pWindow);
- }
+ m_aDeletedCandidates.insert(pWindow);
}
-
- return 0;
}
CandidateMgr::~CandidateMgr()
diff --git a/svx/source/tbxctrls/tbcontrl.cxx b/svx/source/tbxctrls/tbcontrl.cxx
index fda39c5684c1..6a94bce85b15 100644
--- a/svx/source/tbxctrls/tbcontrl.cxx
+++ b/svx/source/tbxctrls/tbcontrl.cxx
@@ -193,7 +193,7 @@ private:
OUString( ".uno:CharEndPreviewFontName" ),
aArgs );
}
- DECL_DLLPRIVATE_LINK( CheckAndMarkUnknownFont, VclWindowEvent* );
+ DECL_DLLPRIVATE_LINK_TYPED( CheckAndMarkUnknownFont, VclWindowEvent&, void );
void SetOptimalSize();
@@ -960,10 +960,10 @@ void SvxFontNameBox_Impl::FillList()
SetSelection( aOldSel );
}
-IMPL_LINK( SvxFontNameBox_Impl, CheckAndMarkUnknownFont, VclWindowEvent*, event )
+IMPL_LINK_TYPED( SvxFontNameBox_Impl, CheckAndMarkUnknownFont, VclWindowEvent&, event, void )
{
- if( event->GetId() != VCLEVENT_EDIT_MODIFY )
- return 0;
+ if( event.GetId() != VCLEVENT_EDIT_MODIFY )
+ return;
OUString fontname = GetSubEdit()->GetText();
lcl_GetDocFontList( &pFontList, this );
// If the font is unknown, show it in italic.
@@ -986,7 +986,6 @@ IMPL_LINK( SvxFontNameBox_Impl, CheckAndMarkUnknownFont, VclWindowEvent*, event
SetQuickHelpText( SVX_RESSTR( RID_SVXSTR_CHARFONTNAME_NOTAVAILABLE ));
}
}
- return 0;
}
void SvxFontNameBox_Impl::Update( const SvxFontItem* pFontItem )
diff --git a/sw/inc/SidebarWin.hxx b/sw/inc/SidebarWin.hxx
index ff90443fccc2..93d5b22159d8 100644
--- a/sw/inc/SidebarWin.hxx
+++ b/sw/inc/SidebarWin.hxx
@@ -168,7 +168,7 @@ class SwSidebarWin : public vcl::Window
return mbReadonly;
}
- DECL_LINK( WindowEventListener, VclSimpleEvent* );
+ DECL_LINK_TYPED( WindowEventListener, VclWindowEvent&, void );
inline bool IsMouseOverSidebarWin() const { return mbMouseOver; }
void SetLanguage(const SvxLanguageItem& rNewItem);
diff --git a/sw/source/ui/dialog/uiregionsw.cxx b/sw/source/ui/dialog/uiregionsw.cxx
index 48ca34d85095..a03d382ce7ee 100644
--- a/sw/source/ui/dialog/uiregionsw.cxx
+++ b/sw/source/ui/dialog/uiregionsw.cxx
@@ -1349,9 +1349,9 @@ IMPL_LINK_TYPED( SwEditRegionDlg, DlgClosedHdl, sfx2::FileDialogHelper *, _pFile
Application::SetDefDialogParent( m_pOldDefDlgParent );
}
-IMPL_LINK( SwEditRegionDlg, SubRegionEventHdl, VclWindowEvent *, pEvent )
+IMPL_LINK_TYPED( SwEditRegionDlg, SubRegionEventHdl, VclWindowEvent&, rEvent, void )
{
- if( !m_bSubRegionsFilled && pEvent && pEvent->GetId() == VCLEVENT_DROPDOWN_PRE_OPEN )
+ if( !m_bSubRegionsFilled && rEvent.GetId() == VCLEVENT_DROPDOWN_PRE_OPEN )
{
//if necessary fill the names bookmarks/sections/tables now
@@ -1374,7 +1374,6 @@ IMPL_LINK( SwEditRegionDlg, SubRegionEventHdl, VclWindowEvent *, pEvent )
lcl_FillSubRegionList(rSh, *m_pSubRegionED, 0);
m_bSubRegionsFilled = true;
}
- return 0;
}
Image SwEditRegionDlg::BuildBitmap( bool bProtect, bool bHidden )
diff --git a/sw/source/uibase/docvw/SidebarWin.cxx b/sw/source/uibase/docvw/SidebarWin.cxx
index c82e10feabe6..4cfc515c1619 100644
--- a/sw/source/uibase/docvw/SidebarWin.cxx
+++ b/sw/source/uibase/docvw/SidebarWin.cxx
@@ -1114,52 +1114,47 @@ void SwSidebarWin::SwitchToPostIt(sal_uInt16 aDirection)
pPostIt->GrabFocus();
}
-IMPL_LINK( SwSidebarWin, WindowEventListener, VclSimpleEvent*, pEvent )
+IMPL_LINK_TYPED( SwSidebarWin, WindowEventListener, VclWindowEvent&, rEvent, void )
{
- VclWindowEvent* pWinEvent = dynamic_cast<VclWindowEvent*>(pEvent);
- if ( pWinEvent )
+ if ( rEvent.GetId() == VCLEVENT_WINDOW_MOUSEMOVE )
{
- if ( pWinEvent->GetId() == VCLEVENT_WINDOW_MOUSEMOVE )
+ MouseEvent* pMouseEvt = static_cast<MouseEvent*>(rEvent.GetData());
+ if ( pMouseEvt->IsEnterWindow() )
{
- MouseEvent* pMouseEvt = static_cast<MouseEvent*>(pWinEvent->GetData());
- if ( pMouseEvt->IsEnterWindow() )
+ mbMouseOver = true;
+ if ( !HasFocus() )
{
- mbMouseOver = true;
- if ( !HasFocus() )
- {
- SetViewState(ViewState::VIEW);
- Invalidate();
- }
+ SetViewState(ViewState::VIEW);
+ Invalidate();
}
- else if ( pMouseEvt->IsLeaveWindow())
+ }
+ else if ( pMouseEvt->IsLeaveWindow())
+ {
+ if (!IsPreview())
{
- if (!IsPreview())
+ mbMouseOver = false;
+ if ( !HasFocus() )
{
- mbMouseOver = false;
- if ( !HasFocus() )
- {
- SetViewState(ViewState::NORMAL);
- Invalidate();
- }
+ SetViewState(ViewState::NORMAL);
+ Invalidate();
}
}
}
- else if ( pWinEvent->GetId() == VCLEVENT_WINDOW_ACTIVATE &&
- pWinEvent->GetWindow() == mpSidebarTextControl )
- {
- const bool bLockView = mrView.GetWrtShell().IsViewLocked();
- mrView.GetWrtShell().LockView( true );
-
- if ( !IsPreview() )
- {
- mrMgr.SetActiveSidebarWin( this );
- }
+ }
+ else if ( rEvent.GetId() == VCLEVENT_WINDOW_ACTIVATE &&
+ rEvent.GetWindow() == mpSidebarTextControl )
+ {
+ const bool bLockView = mrView.GetWrtShell().IsViewLocked();
+ mrView.GetWrtShell().LockView( true );
- mrView.GetWrtShell().LockView( bLockView );
- mrMgr.MakeVisible( this );
+ if ( !IsPreview() )
+ {
+ mrMgr.SetActiveSidebarWin( this );
}
+
+ mrView.GetWrtShell().LockView( bLockView );
+ mrMgr.MakeVisible( this );
}
- return sal_IntPtr(true);
}
void SwSidebarWin::Delete()
diff --git a/sw/source/uibase/inc/regionsw.hxx b/sw/source/uibase/inc/regionsw.hxx
index 605dba521e80..22b94605f697 100644
--- a/sw/source/uibase/inc/regionsw.hxx
+++ b/sw/source/uibase/inc/regionsw.hxx
@@ -124,7 +124,7 @@ class SwEditRegionDlg : public SfxModalDialog
DECL_LINK( FileNameHdl, Edit* );
DECL_LINK_TYPED( DDEHdl, Button*, void );
DECL_LINK_TYPED( DlgClosedHdl, sfx2::FileDialogHelper*, void );
- DECL_LINK( SubRegionEventHdl, VclWindowEvent * );
+ DECL_LINK_TYPED( SubRegionEventHdl, VclWindowEvent&, void );
bool CheckPasswd(CheckBox* pBox = 0);
diff --git a/toolkit/source/awt/stylesettings.cxx b/toolkit/source/awt/stylesettings.cxx
index c3553d5502be..844d36a88698 100644
--- a/toolkit/source/awt/stylesettings.cxx
+++ b/toolkit/source/awt/stylesettings.cxx
@@ -65,23 +65,23 @@ namespace toolkit
{
}
- DECL_LINK( OnWindowEvent, const VclWindowEvent* );
+ DECL_LINK_TYPED( OnWindowEvent, VclWindowEvent&, void );
};
- IMPL_LINK( WindowStyleSettings_Data, OnWindowEvent, const VclWindowEvent*, i_pEvent )
+ IMPL_LINK_TYPED( WindowStyleSettings_Data, OnWindowEvent, VclWindowEvent&, rEvent, void )
{
- if ( !i_pEvent || ( i_pEvent->GetId() != VCLEVENT_WINDOW_DATACHANGED ) )
- return 0L;
- const DataChangedEvent* pDataChangedEvent = static_cast< const DataChangedEvent* >( i_pEvent->GetData() );
+ if ( rEvent.GetId() != VCLEVENT_WINDOW_DATACHANGED )
+ return;
+ const DataChangedEvent* pDataChangedEvent = static_cast< const DataChangedEvent* >( rEvent.GetData() );
if ( !pDataChangedEvent || ( pDataChangedEvent->GetType() != DataChangedEventType::SETTINGS ) )
- return 0L;
+ return;
if ( !( pDataChangedEvent->GetFlags() & AllSettingsFlags::STYLE ) )
- return 0L;
+ return;
EventObject aEvent( *pOwningWindow );
aStyleChangeListeners.notifyEach( &XStyleChangeListener::styleSettingsChanged, aEvent );
- return 1L;
+ return;
}
diff --git a/toolkit/source/awt/vclxaccessiblecomponent.cxx b/toolkit/source/awt/vclxaccessiblecomponent.cxx
index e5addcbe7787..61098cd1488f 100644
--- a/toolkit/source/awt/vclxaccessiblecomponent.cxx
+++ b/toolkit/source/awt/vclxaccessiblecomponent.cxx
@@ -102,23 +102,20 @@ uno::Sequence< OUString > VCLXAccessibleComponent::getSupportedServiceNames() th
return aNames;
}
-IMPL_LINK( VCLXAccessibleComponent, WindowEventListener, VclSimpleEvent*, pEvent )
+IMPL_LINK_TYPED( VCLXAccessibleComponent, WindowEventListener, VclWindowEvent&, rEvent, void )
{
- DBG_ASSERT( pEvent && pEvent->ISA( VclWindowEvent ), "Unknown WindowEvent!" );
-
/* Ignore VCLEVENT_WINDOW_ENDPOPUPMODE, because the UNO accessibility wrapper
* might have been destroyed by the previous VCLEventListener (if no AT tool
* is running), e.g. sub-toolbars in impress.
*/
- if ( pEvent && pEvent->ISA( VclWindowEvent ) && mxWindow.is() /* #122218# */ && (pEvent->GetId() != VCLEVENT_WINDOW_ENDPOPUPMODE) )
+ if ( mxWindow.is() /* #122218# */ && (rEvent.GetId() != VCLEVENT_WINDOW_ENDPOPUPMODE) )
{
- DBG_ASSERT( static_cast<VclWindowEvent*>(pEvent)->GetWindow(), "Window???" );
- if( !static_cast<VclWindowEvent*>(pEvent)->GetWindow()->IsAccessibilityEventsSuppressed() || ( pEvent->GetId() == VCLEVENT_OBJECT_DYING ) )
+ DBG_ASSERT( rEvent.GetWindow(), "Window???" );
+ if( !rEvent.GetWindow()->IsAccessibilityEventsSuppressed() || ( rEvent.GetId() == VCLEVENT_OBJECT_DYING ) )
{
- ProcessWindowEvent( *static_cast<VclWindowEvent*>(pEvent) );
+ ProcessWindowEvent( rEvent );
}
}
- return 0;
}
IMPL_LINK( VCLXAccessibleComponent, WindowChildEventListener, VclSimpleEvent*, pEvent )
diff --git a/toolkit/source/awt/vclxwindow.cxx b/toolkit/source/awt/vclxwindow.cxx
index 2d50217551f0..866fef255f65 100644
--- a/toolkit/source/awt/vclxwindow.cxx
+++ b/toolkit/source/awt/vclxwindow.cxx
@@ -403,18 +403,13 @@ void VCLXWindow::notifyWindowRemoved( vcl::Window& _rWindow )
}
}
-IMPL_LINK( VCLXWindow, WindowEventListener, VclSimpleEvent*, pEvent )
+IMPL_LINK_TYPED( VCLXWindow, WindowEventListener, VclWindowEvent&, rEvent, void )
{
if ( mpImpl->mnListenerLockLevel )
- return 0L;
+ return;
- DBG_ASSERT( pEvent && pEvent->ISA( VclWindowEvent ), "Unknown WindowEvent!" );
- if ( pEvent && pEvent->ISA( VclWindowEvent ) )
- {
- DBG_ASSERT( static_cast<VclWindowEvent*>(pEvent)->GetWindow() && GetWindow(), "Window???" );
- ProcessWindowEvent( *static_cast<VclWindowEvent*>(pEvent) );
- }
- return 0;
+ DBG_ASSERT( rEvent.GetWindow() && GetWindow(), "Window???" );
+ ProcessWindowEvent( rEvent );
}
namespace
diff --git a/vcl/inc/dndevdis.hxx b/vcl/inc/dndevdis.hxx
index 4d5df39aa3c0..915f83bcc7ca 100644
--- a/vcl/inc/dndevdis.hxx
+++ b/vcl/inc/dndevdis.hxx
@@ -36,7 +36,7 @@ class DNDEventDispatcher: public ::cppu::WeakImplHelper<
VclPtr<vcl::Window> m_pCurrentWindow;
void designate_currentwindow(vcl::Window *pWindow);
- DECL_LINK(WindowEventListener, VclSimpleEvent*);
+ DECL_LINK_TYPED(WindowEventListener, VclWindowEvent&, void);
::osl::Mutex m_aMutex;
::com::sun::star::uno::Sequence< ::com::sun::star::datatransfer::DataFlavor > m_aDataFlavorList;
diff --git a/vcl/inc/window.h b/vcl/inc/window.h
index 4745bf6a4372..00c1785067e7 100644
--- a/vcl/inc/window.h
+++ b/vcl/inc/window.h
@@ -229,7 +229,7 @@ public:
VclPtr<vcl::Window> mpNextOverlap;
VclPtr<vcl::Window> mpLastFocusWindow;
VclPtr<vcl::Window> mpDlgCtrlDownWindow;
- VclEventListeners maEventListeners;
+ std::vector<Link<VclWindowEvent&,void>> maEventListeners;
VclEventListeners maChildEventListeners;
// The canvas interface for this VCL window. Is persistent after the first GetCanvas() call
diff --git a/vcl/source/window/dndevdis.cxx b/vcl/source/window/dndevdis.cxx
index 94d6ae75b1dd..33dfbc44366c 100644
--- a/vcl/source/window/dndevdis.cxx
+++ b/vcl/source/window/dndevdis.cxx
@@ -70,13 +70,12 @@ vcl::Window* DNDEventDispatcher::findTopLevelWindow(Point location)
return pChildWindow;
}
-IMPL_LINK(DNDEventDispatcher, WindowEventListener, VclSimpleEvent*, pEvent)
+IMPL_LINK_TYPED(DNDEventDispatcher, WindowEventListener, VclWindowEvent&, rEvent, void)
{
- if (pEvent && pEvent->GetId() == VCLEVENT_OBJECT_DYING)
+ if (rEvent.GetId() == VCLEVENT_OBJECT_DYING)
{
designate_currentwindow(NULL);
}
- return 0;
}
void DNDEventDispatcher::designate_currentwindow(vcl::Window *pWindow)
diff --git a/vcl/source/window/event.cxx b/vcl/source/window/event.cxx
index 5bef68726978..20ee6164abbb 100644
--- a/vcl/source/window/event.cxx
+++ b/vcl/source/window/event.cxx
@@ -212,7 +212,18 @@ void Window::CallEventListeners( sal_uLong nEvent, void* pData )
if ( aDelData.IsDead() )
return;
- mpWindowImpl->maEventListeners.Call( &aEvent );
+ if (!mpWindowImpl->maEventListeners.empty())
+ {
+ // Copy the list, because this can be destroyed when calling a Link...
+ std::vector<Link<VclWindowEvent&,void>> aCopy( mpWindowImpl->maEventListeners );
+ for ( Link<VclWindowEvent&,void>& rLink : aCopy )
+ {
+ if (aDelData.IsDead()) break;
+ // check this hasn't been removed in some re-enterancy scenario fdo#47368
+ if( std::find(mpWindowImpl->maEventListeners.begin(), mpWindowImpl->maEventListeners.end(), rLink) != mpWindowImpl->maEventListeners.end() )
+ rLink.Call( aEvent );
+ }
+ }
if ( aDelData.IsDead() )
return;
@@ -243,15 +254,18 @@ void Window::FireVclEvent( VclSimpleEvent& rEvent )
Application::ImplCallEventListeners(rEvent);
}
-void Window::AddEventListener( const Link<>& rEventListener )
+void Window::AddEventListener( const Link<VclWindowEvent&,void>& rEventListener )
{
- mpWindowImpl->maEventListeners.addListener( rEventListener );
+ mpWindowImpl->maEventListeners.push_back( rEventListener );
}
-void Window::RemoveEventListener( const Link<>& rEventListener )
+void Window::RemoveEventListener( const Link<VclWindowEvent&,void>& rEventListener )
{
if (mpWindowImpl)
- mpWindowImpl->maEventListeners.removeListener( rEventListener );
+ {
+ auto& rListeners = mpWindowImpl->maEventListeners;
+ rListeners.erase( std::remove(rListeners.begin(), rListeners.end(), rEventListener ), rListeners.end() );
+ }
}
void Window::AddChildEventListener( const Link<>& rEventListener )
diff --git a/vcl/source/window/layout.cxx b/vcl/source/window/layout.cxx
index 08692cce8ff1..532a6817a4c2 100644
--- a/vcl/source/window/layout.cxx
+++ b/vcl/source/window/layout.cxx
@@ -1351,11 +1351,10 @@ void VclFrame::setAllocation(const Size &rAllocation)
setLayoutAllocation(*pChild, aChildPos, aAllocation);
}
-IMPL_LINK(VclFrame, WindowEventListener, VclSimpleEvent*, pEvent)
+IMPL_LINK_TYPED(VclFrame, WindowEventListener, VclWindowEvent&, rEvent, void)
{
- if (pEvent && pEvent->GetId() == VCLEVENT_OBJECT_DYING)
+ if (rEvent.GetId() == VCLEVENT_OBJECT_DYING)
designate_label(NULL);
- return 0;
}
void VclFrame::designate_label(vcl::Window *pWindow)
diff --git a/vcl/source/window/menubarwindow.cxx b/vcl/source/window/menubarwindow.cxx
index 5380b05af57c..ae6c6b83ae53 100644
--- a/vcl/source/window/menubarwindow.cxx
+++ b/vcl/source/window/menubarwindow.cxx
@@ -251,20 +251,20 @@ IMPL_LINK_NOARG_TYPED(MenuBarWindow, CloseHdl, ToolBox *, void)
}
}
-IMPL_LINK( MenuBarWindow, ToolboxEventHdl, VclWindowEvent*, pEvent )
+IMPL_LINK_TYPED( MenuBarWindow, ToolboxEventHdl, VclWindowEvent&, rEvent, void )
{
if( ! pMenu )
- return 0;
+ return;
MenuBar::MenuBarButtonCallbackArg aArg;
aArg.nId = 0xffff;
- aArg.bHighlight = (pEvent->GetId() == VCLEVENT_TOOLBOX_HIGHLIGHT);
+ aArg.bHighlight = (rEvent.GetId() == VCLEVENT_TOOLBOX_HIGHLIGHT);
aArg.pMenuBar = dynamic_cast<MenuBar*>(pMenu);
- if( pEvent->GetId() == VCLEVENT_TOOLBOX_HIGHLIGHT )
+ if( rEvent.GetId() == VCLEVENT_TOOLBOX_HIGHLIGHT )
aArg.nId = aCloseBtn->GetHighlightItemId();
- else if( pEvent->GetId() == VCLEVENT_TOOLBOX_HIGHLIGHTOFF )
+ else if( rEvent.GetId() == VCLEVENT_TOOLBOX_HIGHLIGHTOFF )
{
- sal_uInt16 nPos = static_cast< sal_uInt16 >(reinterpret_cast<sal_IntPtr>(pEvent->GetData()));
+ sal_uInt16 nPos = static_cast< sal_uInt16 >(reinterpret_cast<sal_IntPtr>(rEvent.GetData()));
aArg.nId = aCloseBtn->GetItemId(nPos);
}
std::map< sal_uInt16, AddButtonEntry >::iterator it = m_aAddButtons.find( aArg.nId );
@@ -272,19 +272,17 @@ IMPL_LINK( MenuBarWindow, ToolboxEventHdl, VclWindowEvent*, pEvent )
{
it->second.m_aHighlightLink.Call( aArg );
}
- return 0;
}
-IMPL_LINK( MenuBarWindow, ShowHideListener, VclWindowEvent*, pEvent )
+IMPL_LINK_TYPED( MenuBarWindow, ShowHideListener, VclWindowEvent&, rEvent, void )
{
if( ! pMenu )
- return 0;
+ return;
- if( pEvent->GetId() == VCLEVENT_WINDOW_SHOW )
+ if( rEvent.GetId() == VCLEVENT_WINDOW_SHOW )
pMenu->ImplCallEventListeners( VCLEVENT_MENU_SHOW, ITEMPOS_INVALID );
- else if( pEvent->GetId() == VCLEVENT_WINDOW_HIDE )
+ else if( rEvent.GetId() == VCLEVENT_WINDOW_HIDE )
pMenu->ImplCallEventListeners( VCLEVENT_MENU_HIDE, ITEMPOS_INVALID );
- return 0;
}
void MenuBarWindow::ImplCreatePopup( bool bPreSelectFirst )
diff --git a/vcl/source/window/menubarwindow.hxx b/vcl/source/window/menubarwindow.hxx
index f460a770f45c..7621faf92898 100644
--- a/vcl/source/window/menubarwindow.hxx
+++ b/vcl/source/window/menubarwindow.hxx
@@ -103,9 +103,9 @@ private:
virtual void ApplySettings(vcl::RenderContext& rRenderContext) SAL_OVERRIDE;
- DECL_LINK_TYPED(CloseHdl, ToolBox*, void);
- DECL_LINK( ToolboxEventHdl, VclWindowEvent* );
- DECL_LINK( ShowHideListener, VclWindowEvent* );
+ DECL_LINK_TYPED( CloseHdl, ToolBox*, void );
+ DECL_LINK_TYPED( ToolboxEventHdl, VclWindowEvent&, void );
+ DECL_LINK_TYPED( ShowHideListener, VclWindowEvent&, void );
void StateChanged( StateChangedType nType ) SAL_OVERRIDE;
void DataChanged( const DataChangedEvent& rDCEvt ) SAL_OVERRIDE;
diff --git a/vcl/source/window/menufloatingwindow.cxx b/vcl/source/window/menufloatingwindow.cxx
index 33d33e0ad324..1a2fb4c50351 100644
--- a/vcl/source/window/menufloatingwindow.cxx
+++ b/vcl/source/window/menufloatingwindow.cxx
@@ -363,16 +363,15 @@ IMPL_LINK_NOARG_TYPED(MenuFloatingWindow, SubmenuClose, Timer *, void)
}
}
-IMPL_LINK( MenuFloatingWindow, ShowHideListener, VclWindowEvent*, pEvent )
+IMPL_LINK_TYPED( MenuFloatingWindow, ShowHideListener, VclWindowEvent&, rEvent, void )
{
if( ! pMenu )
- return 0;
+ return;
- if( pEvent->GetId() == VCLEVENT_WINDOW_SHOW )
+ if( rEvent.GetId() == VCLEVENT_WINDOW_SHOW )
pMenu->ImplCallEventListeners( VCLEVENT_MENU_SHOW, ITEMPOS_INVALID );
- else if( pEvent->GetId() == VCLEVENT_WINDOW_HIDE )
+ else if( rEvent.GetId() == VCLEVENT_WINDOW_HIDE )
pMenu->ImplCallEventListeners( VCLEVENT_MENU_HIDE, ITEMPOS_INVALID );
- return 0;
}
void MenuFloatingWindow::EnableScrollMenu( bool b )
diff --git a/vcl/source/window/menufloatingwindow.hxx b/vcl/source/window/menufloatingwindow.hxx
index 60a688bad775..2b555aaefc7a 100644
--- a/vcl/source/window/menufloatingwindow.hxx
+++ b/vcl/source/window/menufloatingwindow.hxx
@@ -57,11 +57,11 @@ private:
bool bIgnoreFirstMove : 1;
bool bKeyInput : 1;
- DECL_LINK_TYPED(PopupEnd, FloatingWindow*, void);
+ DECL_LINK_TYPED( PopupEnd, FloatingWindow*, void );
DECL_LINK_TYPED( HighlightChanged, Timer*, void );
- DECL_LINK_TYPED(SubmenuClose, Timer *, void);
- DECL_LINK_TYPED(AutoScroll, Timer *, void);
- DECL_LINK( ShowHideListener, VclWindowEvent* );
+ DECL_LINK_TYPED( SubmenuClose, Timer *, void );
+ DECL_LINK_TYPED( AutoScroll, Timer *, void );
+ DECL_LINK_TYPED( ShowHideListener, VclWindowEvent&, void );
virtual void StateChanged( StateChangedType nType ) SAL_OVERRIDE;
virtual void DataChanged( const DataChangedEvent& rDCEvt ) SAL_OVERRIDE;