avmedia/inc/mediacontrol.hxx                                |    2 
 avmedia/source/framework/mediacontrol.cxx                   |    4 -
 chart2/source/controller/dialogs/dlg_DataEditor.cxx         |    4 -
 chart2/source/controller/inc/dlg_DataEditor.hxx             |    2 
 cui/source/customize/cfg.cxx                                |    4 -
 cui/source/inc/cfg.hxx                                      |    2 
 dbaccess/source/ui/app/AppDetailPageHelper.cxx              |    3 
 dbaccess/source/ui/app/AppDetailPageHelper.hxx              |    2 
 dbaccess/source/ui/dlg/indexdialog.cxx                      |    4 -
 dbaccess/source/ui/inc/indexdialog.hxx                      |    2 
 extensions/source/bibliography/toolbar.cxx                  |    3 
 extensions/source/bibliography/toolbar.hxx                  |    2 
 framework/inc/uielement/addonstoolbarmanager.hxx            |   10 +-
 framework/inc/uielement/toolbarmanager.hxx                  |   12 +--
 framework/source/uielement/addonstoolbarmanager.cxx         |   30 ++------
 framework/source/uielement/toolbarmanager.cxx               |   43 ++++-------
 include/sfx2/sidebar/SidebarToolBox.hxx                     |   12 +--
 include/sfx2/templatedlg.hxx                                |    8 +-
 include/sfx2/titledockwin.hxx                               |    6 -
 include/svx/fontwork.hxx                                    |    6 -
 include/svx/imapdlg.hxx                                     |    2 
 include/vcl/toolbox.hxx                                     |   29 +++----
 reportdesign/source/ui/dlg/AddField.cxx                     |    3 
 reportdesign/source/ui/dlg/Condition.cxx                    |    7 -
 reportdesign/source/ui/dlg/Condition.hxx                    |    4 -
 reportdesign/source/ui/dlg/GroupsSorting.cxx                |    3 
 reportdesign/source/ui/inc/AddField.hxx                     |    2 
 reportdesign/source/ui/inc/GroupsSorting.hxx                |    2 
 sc/source/ui/inc/navipi.hxx                                 |    2 
 sc/source/ui/navipi/navipi.cxx                              |    4 -
 sc/source/ui/sidebar/CellAppearancePropertyPanel.cxx        |   11 +-
 sc/source/ui/sidebar/CellAppearancePropertyPanel.hxx        |    4 -
 sc/source/ui/sidebar/CellBorderStyleControl.cxx             |   18 +---
 sc/source/ui/sidebar/CellBorderStyleControl.hxx             |    6 -
 sc/source/ui/sidebar/NumberFormatPropertyPanel.cxx          |    6 -
 sc/source/ui/sidebar/NumberFormatPropertyPanel.hxx          |    2 
 sd/source/ui/dlg/navigatr.cxx                               |   12 +--
 sd/source/ui/inc/navigatr.hxx                               |    6 -
 sfx2/source/appl/newhelp.cxx                                |    4 -
 sfx2/source/appl/newhelp.hxx                                |    4 -
 sfx2/source/dialog/recfloat.cxx                             |    4 -
 sfx2/source/dialog/taskpane.cxx                             |    6 -
 sfx2/source/dialog/templdlg.cxx                             |   11 +-
 sfx2/source/dialog/titledockwin.cxx                         |    6 -
 sfx2/source/doc/templatedlg.cxx                             |   16 +---
 sfx2/source/inc/recfloat.hxx                                |    2 
 sfx2/source/inc/templdgi.hxx                                |    6 -
 sfx2/source/sidebar/SidebarToolBox.cxx                      |   45 ++++--------
 sfx2/source/sidebar/TitleBar.cxx                            |    4 -
 sfx2/source/sidebar/TitleBar.hxx                            |    2 
 starmath/inc/toolbox.hxx                                    |    4 -
 starmath/source/toolbox.cxx                                 |    6 -
 svx/inc/galbrws2.hxx                                        |    2 
 svx/source/dialog/_bmpmask.cxx                              |    6 -
 svx/source/dialog/_contdlg.cxx                              |    4 -
 svx/source/dialog/contimp.hxx                               |    2 
 svx/source/dialog/fontwork.cxx                              |    9 --
 svx/source/dialog/imapdlg.cxx                               |    4 -
 svx/source/form/datanavi.cxx                                |    3 
 svx/source/gallery2/galbrws2.cxx                            |    4 -
 svx/source/inc/datanavi.hxx                                 |    2 
 svx/source/sidebar/area/AreaPropertyPanel.cxx               |   10 +-
 svx/source/sidebar/area/AreaPropertyPanel.hxx               |    2 
 svx/source/sidebar/area/AreaTransparencyGradientControl.cxx |   12 +--
 svx/source/sidebar/area/AreaTransparencyGradientControl.hxx |    4 -
 svx/source/sidebar/line/LinePropertyPanel.cxx               |    9 +-
 svx/source/sidebar/line/LinePropertyPanel.hxx               |    2 
 svx/source/sidebar/paragraph/ParaPropertyPanel.cxx          |   14 +--
 svx/source/sidebar/paragraph/ParaPropertyPanel.hxx          |    4 -
 svx/source/sidebar/possize/PosSizePropertyPanel.cxx         |    4 -
 svx/source/sidebar/possize/PosSizePropertyPanel.hxx         |    2 
 svx/source/sidebar/text/TextPropertyPanel.cxx               |   12 +--
 svx/source/sidebar/text/TextPropertyPanel.hxx               |    4 -
 sw/source/ui/envelp/envprt.cxx                              |    3 
 sw/source/ui/envelp/envprt.hxx                              |    2 
 sw/source/ui/fldui/fldvar.cxx                               |    4 -
 sw/source/ui/fldui/fldvar.hxx                               |    2 
 sw/source/uibase/dbui/mailmergechildwindow.cxx              |    3 
 sw/source/uibase/inc/inputwin.hxx                           |    2 
 sw/source/uibase/inc/mailmergechildwindow.hxx               |    2 
 sw/source/uibase/inc/navipi.hxx                             |    6 -
 sw/source/uibase/inc/workctrl.hxx                           |    2 
 sw/source/uibase/ribbar/inputwin.cxx                        |    4 -
 sw/source/uibase/ribbar/workctrl.cxx                        |    3 
 sw/source/uibase/sidebar/PagePropertyPanel.cxx              |   18 +---
 sw/source/uibase/sidebar/PagePropertyPanel.hxx              |    8 +-
 sw/source/uibase/utlui/navipi.cxx                           |   16 +---
 vcl/inc/toolbox.h                                           |    2 
 vcl/source/window/menubarwindow.cxx                         |    7 -
 vcl/source/window/menubarwindow.hxx                         |    2 
 vcl/source/window/toolbox.cxx                               |    6 -
 vcl/source/window/toolbox2.cxx                              |    7 -
 92 files changed, 237 insertions(+), 381 deletions(-)

New commits:
commit c8fdfc39ebf89e10bc01bf9569b29b5b4c85d40d
Author: Stephan Bergmann <sberg...@redhat.com>
Date:   Tue May 5 23:35:34 2015 +0200

    Use typed ToolBox::SetDeactivateHdl Link
    
    Change-Id: Ia2521b000e962a0cc461a54f73b5c97bbe34a602

diff --git a/framework/inc/uielement/addonstoolbarmanager.hxx 
b/framework/inc/uielement/addonstoolbarmanager.hxx
index 1dc3f14..542a366 100644
--- a/framework/inc/uielement/addonstoolbarmanager.hxx
+++ b/framework/inc/uielement/addonstoolbarmanager.hxx
@@ -63,7 +63,7 @@ class AddonsToolBarManager : public ToolBarManager
         DECL_LINK(Command, void *);
         DECL_LINK_TYPED(Select, ToolBox *, void);
         DECL_LINK_TYPED(Activate, ToolBox *, void);
-        DECL_LINK(Deactivate, void *);
+        DECL_LINK_TYPED(Deactivate, ToolBox *, void);
         DECL_LINK( StateChanged, StateChangedType* );
         DECL_LINK( DataChanged, DataChangedEvent* );
 
diff --git a/framework/inc/uielement/toolbarmanager.hxx 
b/framework/inc/uielement/toolbarmanager.hxx
index 6e8ea30..7e1ae3b 100644
--- a/framework/inc/uielement/toolbarmanager.hxx
+++ b/framework/inc/uielement/toolbarmanager.hxx
@@ -133,7 +133,7 @@ class ToolBarManager : public ToolbarManager_Base
         DECL_LINK_TYPED(DoubleClick, ToolBox *, void);
         DECL_LINK_TYPED(Select, ToolBox *, void);
         DECL_LINK_TYPED(Activate, ToolBox *, void);
-        DECL_LINK(Deactivate, void *);
+        DECL_LINK_TYPED(Deactivate, ToolBox *, void);
         DECL_LINK( StateChanged, StateChangedType* );
         DECL_LINK( DataChanged, DataChangedEvent* );
         DECL_LINK( MiscOptionsChanged, void* );
diff --git a/framework/source/uielement/addonstoolbarmanager.cxx 
b/framework/source/uielement/addonstoolbarmanager.cxx
index 506ddd6..ca56c44 100644
--- a/framework/source/uielement/addonstoolbarmanager.cxx
+++ b/framework/source/uielement/addonstoolbarmanager.cxx
@@ -443,10 +443,8 @@ IMPL_LINK_NOARG_TYPED(AddonsToolBarManager, Select, 
ToolBox *, void)
 IMPL_LINK_NOARG_TYPED(AddonsToolBarManager, Activate, ToolBox *, void)
 {}
 
-IMPL_LINK_NOARG(AddonsToolBarManager, Deactivate)
-{
-    return 1;
-}
+IMPL_LINK_NOARG_TYPED(AddonsToolBarManager, Deactivate, ToolBox *, void)
+{}
 
 IMPL_LINK( AddonsToolBarManager, StateChanged, StateChangedType*, 
pStateChangedType )
 {
diff --git a/framework/source/uielement/toolbarmanager.cxx 
b/framework/source/uielement/toolbarmanager.cxx
index 30869c1..ca2c943 100644
--- a/framework/source/uielement/toolbarmanager.cxx
+++ b/framework/source/uielement/toolbarmanager.cxx
@@ -279,7 +279,7 @@ void ToolBarManager::Destroy()
     Link<> aEmpty;
     m_pToolBar->SetSelectHdl( Link<ToolBox *, void>() );
     m_pToolBar->SetActivateHdl( Link<ToolBox *, void>() );
-    m_pToolBar->SetDeactivateHdl( aEmpty );
+    m_pToolBar->SetDeactivateHdl( Link<ToolBox *, void>() );
     m_pToolBar->SetClickHdl( Link<ToolBox *, void>() );
     m_pToolBar->SetDropdownClickHdl( Link<ToolBox *, void>() );
     m_pToolBar->SetDoubleClickHdl( Link<ToolBox *, void>() );
@@ -2029,10 +2029,8 @@ IMPL_LINK_NOARG_TYPED(ToolBarManager, Select, ToolBox *, 
void)
 IMPL_LINK_NOARG_TYPED(ToolBarManager, Activate, ToolBox *, void)
 {}
 
-IMPL_LINK_NOARG(ToolBarManager, Deactivate)
-{
-    return 1;
-}
+IMPL_LINK_NOARG_TYPED(ToolBarManager, Deactivate, ToolBox *, void)
+{}
 
 IMPL_LINK( ToolBarManager, StateChanged, StateChangedType*, pStateChangedType )
 {
diff --git a/include/sfx2/sidebar/SidebarToolBox.hxx 
b/include/sfx2/sidebar/SidebarToolBox.hxx
index 4e27f0d..32db84e 100644
--- a/include/sfx2/sidebar/SidebarToolBox.hxx
+++ b/include/sfx2/sidebar/SidebarToolBox.hxx
@@ -83,7 +83,7 @@ private:
     DECL_LINK_TYPED(DoubleClickHandler, ToolBox*, void);
     DECL_LINK_TYPED(SelectHandler, ToolBox*, void);
     DECL_LINK_TYPED(ActivateToolBox, ToolBox*, void);
-    DECL_LINK(DeactivateToolBox, ToolBox*);
+    DECL_LINK_TYPED(DeactivateToolBox, ToolBox*, void);
 
     void CreateController (
         const sal_uInt16 nItemId,
diff --git a/include/vcl/toolbox.hxx b/include/vcl/toolbox.hxx
index dec93ff..f6a4f14 100644
--- a/include/vcl/toolbox.hxx
+++ b/include/vcl/toolbox.hxx
@@ -188,7 +188,7 @@ private:
     Link<ToolBox *, void> maClickHdl;
     Link<ToolBox *, void> maDoubleClickHdl;
     Link<ToolBox *, void> maActivateHdl;
-    Link<>              maDeactivateHdl;
+    Link<ToolBox *, void> maDeactivateHdl;
     Link<>              maHighlightHdl;
     Link<ToolBox *, void> maSelectHdl;
     Link<>              maCommandHandler;
@@ -499,8 +499,7 @@ public:
     void                SetDoubleClickHdl( const Link<ToolBox *, void>& rLink 
) { maDoubleClickHdl = rLink; }
     void                SetDropdownClickHdl( const Link<ToolBox *, void>& 
rLink );
     void                SetActivateHdl( const Link<ToolBox *, void>& rLink ) { 
maActivateHdl = rLink; }
-    void                SetDeactivateHdl( const Link<>& rLink ) { 
maDeactivateHdl = rLink; }
-    const Link<>&       GetDeactivateHdl() const { return maDeactivateHdl; }
+    void                SetDeactivateHdl( const Link<ToolBox *, void>& rLink ) 
{ maDeactivateHdl = rLink; }
     void                SetHighlightHdl( const Link<>& rLink ) { 
maHighlightHdl = rLink; }
     const Link<>&       GetHighlightHdl() const { return maHighlightHdl; }
     void                SetSelectHdl( const Link<ToolBox *, void>& rLink ) { 
maSelectHdl = rLink; }
diff --git a/sfx2/source/sidebar/SidebarToolBox.cxx 
b/sfx2/source/sidebar/SidebarToolBox.cxx
index a39031e..ce0c7bd 100644
--- a/sfx2/source/sidebar/SidebarToolBox.cxx
+++ b/sfx2/source/sidebar/SidebarToolBox.cxx
@@ -80,7 +80,7 @@ void SidebarToolBox::dispose()
         SetDoubleClickHdl(Link<ToolBox *, void>());
         SetSelectHdl(Link<ToolBox *, void>());
         SetActivateHdl(Link<ToolBox *, void>());
-        SetDeactivateHdl(Link<>());
+        SetDeactivateHdl(Link<ToolBox *, void>());
         mbAreHandlersRegistered = false;
     }
 
@@ -276,10 +276,8 @@ IMPL_LINK_TYPED(SidebarToolBox, SelectHandler, ToolBox*, 
pToolBox, void)
 IMPL_LINK_NOARG_TYPED(SidebarToolBox, ActivateToolBox, ToolBox*, void)
 {}
 
-IMPL_LINK(SidebarToolBox, DeactivateToolBox, ToolBox*, EMPTYARG)
-{
-    return 1;
-}
+IMPL_LINK_NOARG_TYPED(SidebarToolBox, DeactivateToolBox, ToolBox*, void)
+{}
 
 } } // end of namespace sfx2::sidebar
 
commit 8ff3a90d3c49b4c062fb6c2f0e80d8489f8bbe3e
Author: Stephan Bergmann <sberg...@redhat.com>
Date:   Tue May 5 23:15:53 2015 +0200

    Use typed ToolBox::SetActivateHdl Link
    
    Change-Id: I15044bd9ea94562c1d4727f64aa0b32543e0cc0a

diff --git a/framework/inc/uielement/addonstoolbarmanager.hxx 
b/framework/inc/uielement/addonstoolbarmanager.hxx
index 561cfca..1dc3f14 100644
--- a/framework/inc/uielement/addonstoolbarmanager.hxx
+++ b/framework/inc/uielement/addonstoolbarmanager.hxx
@@ -62,7 +62,7 @@ class AddonsToolBarManager : public ToolBarManager
         DECL_LINK_TYPED(DoubleClick, ToolBox *, void);
         DECL_LINK(Command, void *);
         DECL_LINK_TYPED(Select, ToolBox *, void);
-        DECL_LINK(Activate, void *);
+        DECL_LINK_TYPED(Activate, ToolBox *, void);
         DECL_LINK(Deactivate, void *);
         DECL_LINK( StateChanged, StateChangedType* );
         DECL_LINK( DataChanged, DataChangedEvent* );
diff --git a/framework/inc/uielement/toolbarmanager.hxx 
b/framework/inc/uielement/toolbarmanager.hxx
index 56db281..6e8ea30 100644
--- a/framework/inc/uielement/toolbarmanager.hxx
+++ b/framework/inc/uielement/toolbarmanager.hxx
@@ -132,7 +132,7 @@ class ToolBarManager : public ToolbarManager_Base
         DECL_LINK_TYPED(DropdownClick, ToolBox *, void);
         DECL_LINK_TYPED(DoubleClick, ToolBox *, void);
         DECL_LINK_TYPED(Select, ToolBox *, void);
-        DECL_LINK(Activate, void *);
+        DECL_LINK_TYPED(Activate, ToolBox *, void);
         DECL_LINK(Deactivate, void *);
         DECL_LINK( StateChanged, StateChangedType* );
         DECL_LINK( DataChanged, DataChangedEvent* );
diff --git a/framework/source/uielement/addonstoolbarmanager.cxx 
b/framework/source/uielement/addonstoolbarmanager.cxx
index bc6a4b0..506ddd6 100644
--- a/framework/source/uielement/addonstoolbarmanager.cxx
+++ b/framework/source/uielement/addonstoolbarmanager.cxx
@@ -440,10 +440,8 @@ IMPL_LINK_NOARG_TYPED(AddonsToolBarManager, Select, 
ToolBox *, void)
     }
 }
 
-IMPL_LINK_NOARG(AddonsToolBarManager, Activate)
-{
-    return 1;
-}
+IMPL_LINK_NOARG_TYPED(AddonsToolBarManager, Activate, ToolBox *, void)
+{}
 
 IMPL_LINK_NOARG(AddonsToolBarManager, Deactivate)
 {
diff --git a/framework/source/uielement/toolbarmanager.cxx 
b/framework/source/uielement/toolbarmanager.cxx
index 75baaa5..30869c1 100644
--- a/framework/source/uielement/toolbarmanager.cxx
+++ b/framework/source/uielement/toolbarmanager.cxx
@@ -278,7 +278,7 @@ void ToolBarManager::Destroy()
 
     Link<> aEmpty;
     m_pToolBar->SetSelectHdl( Link<ToolBox *, void>() );
-    m_pToolBar->SetActivateHdl( aEmpty );
+    m_pToolBar->SetActivateHdl( Link<ToolBox *, void>() );
     m_pToolBar->SetDeactivateHdl( aEmpty );
     m_pToolBar->SetClickHdl( Link<ToolBox *, void>() );
     m_pToolBar->SetDropdownClickHdl( Link<ToolBox *, void>() );
@@ -2026,10 +2026,8 @@ IMPL_LINK_NOARG_TYPED(ToolBarManager, Select, ToolBox *, 
void)
     }
 }
 
-IMPL_LINK_NOARG(ToolBarManager, Activate)
-{
-    return 1;
-}
+IMPL_LINK_NOARG_TYPED(ToolBarManager, Activate, ToolBox *, void)
+{}
 
 IMPL_LINK_NOARG(ToolBarManager, Deactivate)
 {
diff --git a/include/sfx2/sidebar/SidebarToolBox.hxx 
b/include/sfx2/sidebar/SidebarToolBox.hxx
index 8663c4b..4e27f0d 100644
--- a/include/sfx2/sidebar/SidebarToolBox.hxx
+++ b/include/sfx2/sidebar/SidebarToolBox.hxx
@@ -82,7 +82,7 @@ private:
     DECL_LINK_TYPED(ClickHandler, ToolBox*, void);
     DECL_LINK_TYPED(DoubleClickHandler, ToolBox*, void);
     DECL_LINK_TYPED(SelectHandler, ToolBox*, void);
-    DECL_LINK(ActivateToolBox, ToolBox*);
+    DECL_LINK_TYPED(ActivateToolBox, ToolBox*, void);
     DECL_LINK(DeactivateToolBox, ToolBox*);
 
     void CreateController (
diff --git a/include/vcl/toolbox.hxx b/include/vcl/toolbox.hxx
index 9762385..dec93ff 100644
--- a/include/vcl/toolbox.hxx
+++ b/include/vcl/toolbox.hxx
@@ -187,7 +187,7 @@ private:
     ToolBoxLayoutMode   meLayoutMode;
     Link<ToolBox *, void> maClickHdl;
     Link<ToolBox *, void> maDoubleClickHdl;
-    Link<>              maActivateHdl;
+    Link<ToolBox *, void> maActivateHdl;
     Link<>              maDeactivateHdl;
     Link<>              maHighlightHdl;
     Link<ToolBox *, void> maSelectHdl;
@@ -498,8 +498,7 @@ public:
     void                SetClickHdl( const Link<ToolBox *, void>& rLink ) { 
maClickHdl = rLink; }
     void                SetDoubleClickHdl( const Link<ToolBox *, void>& rLink 
) { maDoubleClickHdl = rLink; }
     void                SetDropdownClickHdl( const Link<ToolBox *, void>& 
rLink );
-    void                SetActivateHdl( const Link<>& rLink ) { maActivateHdl 
= rLink; }
-    const Link<>&       GetActivateHdl() const { return maActivateHdl; }
+    void                SetActivateHdl( const Link<ToolBox *, void>& rLink ) { 
maActivateHdl = rLink; }
     void                SetDeactivateHdl( const Link<>& rLink ) { 
maDeactivateHdl = rLink; }
     const Link<>&       GetDeactivateHdl() const { return maDeactivateHdl; }
     void                SetHighlightHdl( const Link<>& rLink ) { 
maHighlightHdl = rLink; }
diff --git a/sfx2/source/sidebar/SidebarToolBox.cxx 
b/sfx2/source/sidebar/SidebarToolBox.cxx
index 78dec70..a39031e 100644
--- a/sfx2/source/sidebar/SidebarToolBox.cxx
+++ b/sfx2/source/sidebar/SidebarToolBox.cxx
@@ -79,7 +79,7 @@ void SidebarToolBox::dispose()
         SetClickHdl(Link<ToolBox *, void>());
         SetDoubleClickHdl(Link<ToolBox *, void>());
         SetSelectHdl(Link<ToolBox *, void>());
-        SetActivateHdl(Link<>());
+        SetActivateHdl(Link<ToolBox *, void>());
         SetDeactivateHdl(Link<>());
         mbAreHandlersRegistered = false;
     }
@@ -273,10 +273,8 @@ IMPL_LINK_TYPED(SidebarToolBox, SelectHandler, ToolBox*, 
pToolBox, void)
         xController->execute((sal_Int16)pToolBox->GetModifier());
 }
 
-IMPL_LINK(SidebarToolBox, ActivateToolBox, ToolBox*, EMPTYARG)
-{
-    return 1;
-}
+IMPL_LINK_NOARG_TYPED(SidebarToolBox, ActivateToolBox, ToolBox*, void)
+{}
 
 IMPL_LINK(SidebarToolBox, DeactivateToolBox, ToolBox*, EMPTYARG)
 {
commit b515d1f36fdf8c242079da60eb4ecd5fd456583c
Author: Stephan Bergmann <sberg...@redhat.com>
Date:   Tue May 5 22:43:11 2015 +0200

    Use various typed ToolBox::Set*Hdl Links
    
    Change-Id: Iddfd36ae0de86fdd2d4febb2c05d1fe0c02801f0

diff --git a/avmedia/inc/mediacontrol.hxx b/avmedia/inc/mediacontrol.hxx
index b7cd918..37b5738 100644
--- a/avmedia/inc/mediacontrol.hxx
+++ b/avmedia/inc/mediacontrol.hxx
@@ -83,7 +83,7 @@ private:
                         DECL_LINK( implTimeEndHdl, Slider* );
                         DECL_LINK( implVolumeHdl, Slider* );
                         DECL_LINK(implVolumeEndHdl, void *);
-                        DECL_LINK( implSelectHdl, ToolBox* );
+                        DECL_LINK_TYPED( implSelectHdl, ToolBox*, void );
                         DECL_LINK( implZoomSelectHdl, ListBox* );
                         DECL_LINK_TYPED(implTimeoutHdl, Idle *, void);
 
diff --git a/avmedia/source/framework/mediacontrol.cxx 
b/avmedia/source/framework/mediacontrol.cxx
index 99523fe..dbc6b73 100644
--- a/avmedia/source/framework/mediacontrol.cxx
+++ b/avmedia/source/framework/mediacontrol.cxx
@@ -486,7 +486,7 @@ IMPL_LINK_NOARG(MediaControl, implVolumeEndHdl)
 
 
 
-IMPL_LINK( MediaControl, implSelectHdl, ToolBox*, p )
+IMPL_LINK_TYPED( MediaControl, implSelectHdl, ToolBox*, p, void )
 {
     if( p )
     {
@@ -570,8 +570,6 @@ IMPL_LINK( MediaControl, implSelectHdl, ToolBox*, p )
     {
         p->Invalidate( INVALIDATE_UPDATE );
     }
-
-    return 0;
 }
 
 
diff --git a/chart2/source/controller/dialogs/dlg_DataEditor.cxx 
b/chart2/source/controller/dialogs/dlg_DataEditor.cxx
index 4f4ce2f..683a4c9 100644
--- a/chart2/source/controller/dialogs/dlg_DataEditor.cxx
+++ b/chart2/source/controller/dialogs/dlg_DataEditor.cxx
@@ -112,7 +112,7 @@ void DataEditor::dispose()
 }
 
 // react on click (or keypress) on toolbar icon
-IMPL_LINK_NOARG(DataEditor, ToolboxHdl)
+IMPL_LINK_NOARG_TYPED(DataEditor, ToolboxHdl, ToolBox *, void)
 {
     sal_uInt16 nId = m_pTbxData->GetCurItemId();
 
@@ -130,8 +130,6 @@ IMPL_LINK_NOARG(DataEditor, ToolboxHdl)
         m_xBrwData->SwapColumn();
     else if (nId == TBI_DATA_SWAP_ROW)
         m_xBrwData->SwapRow();
-
-    return 0;
 }
 
 // refresh toolbar icons according to currently selected cell in brwose box
diff --git a/chart2/source/controller/inc/dlg_DataEditor.hxx 
b/chart2/source/controller/inc/dlg_DataEditor.hxx
index f37b16c..a32c6d8 100644
--- a/chart2/source/controller/inc/dlg_DataEditor.hxx
+++ b/chart2/source/controller/inc/dlg_DataEditor.hxx
@@ -74,7 +74,7 @@ private:
         m_xContext;
 
     /// handles actions of the toolbox
-    DECL_LINK( ToolboxHdl, void* );
+    DECL_LINK_TYPED( ToolboxHdl, ToolBox*, void );
     /// is called, if the cursor of the table has moved
     DECL_LINK( BrowserCursorMovedHdl, void*);
     /// this is called if MiscOptions change, esp. High-Contrast mode
diff --git a/cui/source/customize/cfg.cxx b/cui/source/customize/cfg.cxx
index ac1a8b4..998621f 100644
--- a/cui/source/customize/cfg.cxx
+++ b/cui/source/customize/cfg.cxx
@@ -5019,7 +5019,7 @@ uno::Reference< graphic::XGraphic> 
SvxIconSelectorDialog::GetSelectedIcon()
     return result;
 }
 
-IMPL_LINK( SvxIconSelectorDialog, SelectHdl, ToolBox *, pToolBox )
+IMPL_LINK_TYPED( SvxIconSelectorDialog, SelectHdl, ToolBox *, pToolBox, void )
 {
     (void)pToolBox;
 
@@ -5047,8 +5047,6 @@ IMPL_LINK( SvxIconSelectorDialog, SelectHdl, ToolBox *, 
pToolBox )
     {
         pBtnDelete->Enable( false );
     }
-
-    return 0;
 }
 
 IMPL_LINK( SvxIconSelectorDialog, ImportHdl, PushButton *, pButton )
diff --git a/cui/source/inc/cfg.hxx b/cui/source/inc/cfg.hxx
index 35c8b40..73b0514 100644
--- a/cui/source/inc/cfg.hxx
+++ b/cui/source/inc/cfg.hxx
@@ -755,7 +755,7 @@ public:
     ::com::sun::star::uno::Reference< ::com::sun::star::graphic::XGraphic >
         GetSelectedIcon();
 
-    DECL_LINK( SelectHdl, ToolBox * );
+    DECL_LINK_TYPED( SelectHdl, ToolBox *, void );
     DECL_LINK( ImportHdl, PushButton * );
     DECL_LINK( DeleteHdl, PushButton * );
 };
diff --git a/dbaccess/source/ui/app/AppDetailPageHelper.cxx 
b/dbaccess/source/ui/app/AppDetailPageHelper.cxx
index fade1cf..4b72d59 100644
--- a/dbaccess/source/ui/app/AppDetailPageHelper.cxx
+++ b/dbaccess/source/ui/app/AppDetailPageHelper.cxx
@@ -1150,7 +1150,7 @@ void OAppDetailPageHelper::showPreview( const OUString& 
_sDataSourceName,
     }
 }
 
-IMPL_LINK(OAppDetailPageHelper, OnDropdownClickHdl, ToolBox*, /*pToolBox*/)
+IMPL_LINK_NOARG_TYPED(OAppDetailPageHelper, OnDropdownClickHdl, ToolBox*, void)
 {
     m_aTBPreview->EndSelection();
 
@@ -1192,7 +1192,6 @@ IMPL_LINK(OAppDetailPageHelper, OnDropdownClickHdl, 
ToolBox*, /*pToolBox*/)
         Resize();
         
getBorderWin().getView()->getAppController().executeChecked(nSelectedAction,Sequence<PropertyValue>());
     }
-    return 0L;
 }
 
 void OAppDetailPageHelper::KeyInput( const KeyEvent& rKEvt )
diff --git a/dbaccess/source/ui/app/AppDetailPageHelper.hxx 
b/dbaccess/source/ui/app/AppDetailPageHelper.hxx
index b955472..8c75918 100644
--- a/dbaccess/source/ui/app/AppDetailPageHelper.hxx
+++ b/dbaccess/source/ui/app/AppDetailPageHelper.hxx
@@ -161,7 +161,7 @@ namespace dbaui
 
         DECL_LINK(PreviewChangeHdl, void*);
         // click a TB slot
-        DECL_LINK(OnDropdownClickHdl, ToolBox*);
+        DECL_LINK_TYPED(OnDropdownClickHdl, ToolBox*, void);
 
         inline OAppBorderWindow& getBorderWin() const { return m_rBorderWin; }
         void ImplInitSettings();
diff --git a/dbaccess/source/ui/dlg/indexdialog.cxx 
b/dbaccess/source/ui/dlg/indexdialog.cxx
index bfb41ce..dea680b 100644
--- a/dbaccess/source/ui/dlg/indexdialog.cxx
+++ b/dbaccess/source/ui/dlg/indexdialog.cxx
@@ -544,7 +544,7 @@ namespace dbaui
         updateToolbox();
     }
 
-    IMPL_LINK( DbaIndexDialog, OnIndexAction, ToolBox*, /*NOTINTERESTEDIN*/ )
+    IMPL_LINK_NOARG_TYPED( DbaIndexDialog, OnIndexAction, ToolBox*, void )
     {
         sal_uInt16 nClicked = m_pActions->GetCurItemId();
         if (nClicked == mnNewCmdId)
@@ -557,8 +557,6 @@ namespace dbaui
             OnSaveIndex();
         else if (nClicked == mnResetCmdId)
             OnResetIndex();
-
-        return 0L;
     }
 
     IMPL_LINK( DbaIndexDialog, OnCloseDialog, void*, /*NOTINTERESTEDIN*/ )
diff --git a/dbaccess/source/ui/inc/indexdialog.hxx 
b/dbaccess/source/ui/inc/indexdialog.hxx
index a1928d4..c4cc5c6 100644
--- a/dbaccess/source/ui/inc/indexdialog.hxx
+++ b/dbaccess/source/ui/inc/indexdialog.hxx
@@ -131,7 +131,7 @@ namespace dbaui
 
     protected:
         DECL_LINK( OnIndexSelected, DbaIndexList* );
-        DECL_LINK( OnIndexAction, ToolBox* );
+        DECL_LINK_TYPED( OnIndexAction, ToolBox*, void );
         DECL_LINK( OnEntryEdited, SvTreeListEntry* );
         DECL_LINK( OnModified, void* );
         DECL_LINK( OnCloseDialog, void* );
diff --git a/extensions/source/bibliography/toolbar.cxx 
b/extensions/source/bibliography/toolbar.cxx
index 08ddcce..4c39a32 100644
--- a/extensions/source/bibliography/toolbar.cxx
+++ b/extensions/source/bibliography/toolbar.cxx
@@ -479,7 +479,7 @@ IMPL_LINK_NOARG_TYPED( BibToolBar, SendSelHdl, Idle*, void )
     SendDispatch(TBC_LB_SOURCE,aPropVal);
 }
 
-IMPL_LINK( BibToolBar, MenuHdl, ToolBox*, /*pToolbox*/)
+IMPL_LINK_NOARG_TYPED( BibToolBar, MenuHdl, ToolBox*, void)
 {
     sal_uInt16  nId=GetCurItemId();
     if(nId==TBC_BT_AUTOFILTER)
@@ -513,7 +513,6 @@ IMPL_LINK( BibToolBar, MenuHdl, ToolBox*, /*pToolbox*/)
 
 
     }
-    return 0;
 }
 
 void    BibToolBar::statusChanged(const frame::FeatureStateEvent& rEvent)
diff --git a/extensions/source/bibliography/toolbar.hxx 
b/extensions/source/bibliography/toolbar.hxx
index ddd9a02..efa5b2c 100644
--- a/extensions/source/bibliography/toolbar.hxx
+++ b/extensions/source/bibliography/toolbar.hxx
@@ -130,7 +130,7 @@ class BibToolBar:   public ToolBox
         BibDataManager*         pDatMan;
         DECL_LINK( SelHdl, ListBox* );
         DECL_LINK_TYPED( SendSelHdl, Idle*, void );
-        DECL_LINK( MenuHdl, ToolBox* );
+        DECL_LINK_TYPED( MenuHdl, ToolBox*, void );
         DECL_LINK( OptionsChanged_Impl, void* );
         DECL_LINK( SettingsChanged_Impl, void* );
 
diff --git a/framework/inc/uielement/addonstoolbarmanager.hxx 
b/framework/inc/uielement/addonstoolbarmanager.hxx
index bfaf876..561cfca 100644
--- a/framework/inc/uielement/addonstoolbarmanager.hxx
+++ b/framework/inc/uielement/addonstoolbarmanager.hxx
@@ -58,10 +58,10 @@ class AddonsToolBarManager : public ToolBarManager
         void FillToolbar( const com::sun::star::uno::Sequence< 
com::sun::star::uno::Sequence< com::sun::star::beans::PropertyValue > >& 
rAddonToolbar );
 
     protected:
-        DECL_LINK(Click, void *);
-        DECL_LINK(DoubleClick, void *);
+        DECL_LINK_TYPED(Click, ToolBox *, void);
+        DECL_LINK_TYPED(DoubleClick, ToolBox *, void);
         DECL_LINK(Command, void *);
-        DECL_LINK(Select, void *);
+        DECL_LINK_TYPED(Select, ToolBox *, void);
         DECL_LINK(Activate, void *);
         DECL_LINK(Deactivate, void *);
         DECL_LINK( StateChanged, StateChangedType* );
diff --git a/framework/inc/uielement/toolbarmanager.hxx 
b/framework/inc/uielement/toolbarmanager.hxx
index 11163fc..56db281 100644
--- a/framework/inc/uielement/toolbarmanager.hxx
+++ b/framework/inc/uielement/toolbarmanager.hxx
@@ -128,10 +128,10 @@ class ToolBarManager : public ToolbarManager_Base
     protected:
         DECL_LINK( Command, CommandEvent * );
         PopupMenu * GetToolBarCustomMenu(ToolBox* pToolBar);
-        DECL_LINK(Click, void *);
-        DECL_LINK(DropdownClick, void *);
-        DECL_LINK(DoubleClick, void *);
-        DECL_LINK(Select, void *);
+        DECL_LINK_TYPED(Click, ToolBox *, void);
+        DECL_LINK_TYPED(DropdownClick, ToolBox *, void);
+        DECL_LINK_TYPED(DoubleClick, ToolBox *, void);
+        DECL_LINK_TYPED(Select, ToolBox *, void);
         DECL_LINK(Activate, void *);
         DECL_LINK(Deactivate, void *);
         DECL_LINK( StateChanged, StateChangedType* );
diff --git a/framework/source/uielement/addonstoolbarmanager.cxx 
b/framework/source/uielement/addonstoolbarmanager.cxx
index 3c2c716..bc6a4b0 100644
--- a/framework/source/uielement/addonstoolbarmanager.cxx
+++ b/framework/source/uielement/addonstoolbarmanager.cxx
@@ -381,10 +381,10 @@ void AddonsToolBarManager::FillToolbar( const Sequence< 
Sequence< PropertyValue
     AddFrameActionListener();
 }
 
-IMPL_LINK_NOARG(AddonsToolBarManager, Click)
+IMPL_LINK_NOARG_TYPED(AddonsToolBarManager, Click, ToolBox *, void)
 {
     if ( m_bDisposed )
-        return 1;
+        return;
 
     sal_uInt16 nId( m_pToolBar->GetCurItemId() );
     ToolBarControllerMap::const_iterator pIter = m_aControllerMap.find( nId );
@@ -395,14 +395,12 @@ IMPL_LINK_NOARG(AddonsToolBarManager, Click)
         if ( xController.is() )
             xController->click();
     }
-
-    return 1;
 }
 
-IMPL_LINK_NOARG(AddonsToolBarManager, DoubleClick)
+IMPL_LINK_NOARG_TYPED(AddonsToolBarManager, DoubleClick, ToolBox *, void)
 {
     if ( m_bDisposed )
-        return 1;
+        return;
 
     sal_uInt16 nId( m_pToolBar->GetCurItemId() );
     ToolBarControllerMap::const_iterator pIter = m_aControllerMap.find( nId );
@@ -413,8 +411,6 @@ IMPL_LINK_NOARG(AddonsToolBarManager, DoubleClick)
         if ( xController.is() )
             xController->doubleClick();
     }
-
-    return 1;
 }
 
 IMPL_LINK_NOARG(AddonsToolBarManager, Command)
@@ -427,10 +423,10 @@ IMPL_LINK_NOARG(AddonsToolBarManager, Command)
     return 0;
 }
 
-IMPL_LINK_NOARG(AddonsToolBarManager, Select)
+IMPL_LINK_NOARG_TYPED(AddonsToolBarManager, Select, ToolBox *, void)
 {
     if ( m_bDisposed )
-        return 1;
+        return;
 
     sal_Int16   nKeyModifier( (sal_Int16)m_pToolBar->GetModifier() );
     sal_uInt16      nId( m_pToolBar->GetCurItemId() );
@@ -442,8 +438,6 @@ IMPL_LINK_NOARG(AddonsToolBarManager, Select)
         if ( xController.is() )
             xController->execute( nKeyModifier );
     }
-
-    return 1;
 }
 
 IMPL_LINK_NOARG(AddonsToolBarManager, Activate)
diff --git a/framework/source/uielement/toolbarmanager.cxx 
b/framework/source/uielement/toolbarmanager.cxx
index 7913c8d..75baaa5 100644
--- a/framework/source/uielement/toolbarmanager.cxx
+++ b/framework/source/uielement/toolbarmanager.cxx
@@ -277,12 +277,12 @@ void ToolBarManager::Destroy()
     m_pToolBar->doLazyDelete();
 
     Link<> aEmpty;
-    m_pToolBar->SetSelectHdl( aEmpty );
+    m_pToolBar->SetSelectHdl( Link<ToolBox *, void>() );
     m_pToolBar->SetActivateHdl( aEmpty );
     m_pToolBar->SetDeactivateHdl( aEmpty );
-    m_pToolBar->SetClickHdl( aEmpty );
-    m_pToolBar->SetDropdownClickHdl( aEmpty );
-    m_pToolBar->SetDoubleClickHdl( aEmpty );
+    m_pToolBar->SetClickHdl( Link<ToolBox *, void>() );
+    m_pToolBar->SetDropdownClickHdl( Link<ToolBox *, void>() );
+    m_pToolBar->SetDoubleClickHdl( Link<ToolBox *, void>() );
     m_pToolBar->SetStateChangedHdl( aEmpty );
     m_pToolBar->SetDataChangedHdl( aEmpty );
     m_pToolBar->SetCommandHdl( aEmpty );
@@ -1545,17 +1545,17 @@ long ToolBarManager::HandleClick(void ( SAL_CALL 
XToolbarController::*_pClick )(
     return 1;
 }
 
-IMPL_LINK_NOARG(ToolBarManager, Click)
+IMPL_LINK_NOARG_TYPED(ToolBarManager, Click, ToolBox *, void)
 {
-    return HandleClick(&XToolbarController::click);
+    HandleClick(&XToolbarController::click);
 }
 
-IMPL_LINK_NOARG(ToolBarManager, DropdownClick)
+IMPL_LINK_NOARG_TYPED(ToolBarManager, DropdownClick, ToolBox *, void)
 {
     SolarMutexGuard g;
 
     if ( m_bDisposed )
-        return 1;
+        return;
 
     sal_uInt16 nId( m_pToolBar->GetCurItemId() );
     ToolBarControllerMap::const_iterator pIter = m_aControllerMap.find( nId );
@@ -1570,12 +1570,11 @@ IMPL_LINK_NOARG(ToolBarManager, DropdownClick)
                 xWin->setFocus();
         }
     }
-    return 1;
 }
 
-IMPL_LINK_NOARG(ToolBarManager, DoubleClick)
+IMPL_LINK_NOARG_TYPED(ToolBarManager, DoubleClick, ToolBox *, void)
 {
-    return HandleClick(&XToolbarController::doubleClick);
+    HandleClick(&XToolbarController::doubleClick);
 }
 
 void ToolBarManager::ImplClearPopupMenu( ToolBox *pToolBar )
@@ -2009,10 +2008,10 @@ IMPL_LINK( ToolBarManager, MenuSelect, Menu*, pMenu )
     return 1;
 }
 
-IMPL_LINK_NOARG(ToolBarManager, Select)
+IMPL_LINK_NOARG_TYPED(ToolBarManager, Select, ToolBox *, void)
 {
     if ( m_bDisposed )
-        return 1;
+        return;
 
     sal_Int16   nKeyModifier( (sal_Int16)m_pToolBar->GetModifier() );
     sal_uInt16      nId( m_pToolBar->GetCurItemId() );
@@ -2025,8 +2024,6 @@ IMPL_LINK_NOARG(ToolBarManager, Select)
         if ( xController.is() )
             xController->execute( nKeyModifier );
     }
-
-    return 1;
 }
 
 IMPL_LINK_NOARG(ToolBarManager, Activate)
diff --git a/include/sfx2/sidebar/SidebarToolBox.hxx 
b/include/sfx2/sidebar/SidebarToolBox.hxx
index 80ae7a1..8663c4b 100644
--- a/include/sfx2/sidebar/SidebarToolBox.hxx
+++ b/include/sfx2/sidebar/SidebarToolBox.hxx
@@ -78,10 +78,10 @@ private:
     ControllerContainer maControllers;
     bool mbAreHandlersRegistered;
 
-    DECL_LINK(DropDownClickHandler, ToolBox*);
-    DECL_LINK(ClickHandler, ToolBox*);
-    DECL_LINK(DoubleClickHandler, ToolBox*);
-    DECL_LINK(SelectHandler, ToolBox*);
+    DECL_LINK_TYPED(DropDownClickHandler, ToolBox*, void);
+    DECL_LINK_TYPED(ClickHandler, ToolBox*, void);
+    DECL_LINK_TYPED(DoubleClickHandler, ToolBox*, void);
+    DECL_LINK_TYPED(SelectHandler, ToolBox*, void);
     DECL_LINK(ActivateToolBox, ToolBox*);
     DECL_LINK(DeactivateToolBox, ToolBox*);
 
diff --git a/include/sfx2/templatedlg.hxx b/include/sfx2/templatedlg.hxx
index f26792b..0d06c3c 100644
--- a/include/sfx2/templatedlg.hxx
+++ b/include/sfx2/templatedlg.hxx
@@ -65,10 +65,10 @@ private:
 
     void writeSettings ();
 
-    DECL_LINK(TBXViewHdl, void*);
-    DECL_LINK(TBXActionHdl, void*);
-    DECL_LINK(TBXTemplateHdl, void*);
-    DECL_LINK(TBXDropdownHdl, ToolBox*);
+    DECL_LINK_TYPED(TBXViewHdl, ToolBox*, void);
+    DECL_LINK_TYPED(TBXActionHdl, ToolBox*, void);
+    DECL_LINK_TYPED(TBXTemplateHdl, ToolBox*, void);
+    DECL_LINK_TYPED(TBXDropdownHdl, ToolBox*, void);
 
     DECL_LINK(TVItemStateHdl, const ThumbnailViewItem*);
 
diff --git a/include/sfx2/titledockwin.hxx b/include/sfx2/titledockwin.hxx
index f86245c..8293eb0 100644
--- a/include/sfx2/titledockwin.hxx
+++ b/include/sfx2/titledockwin.hxx
@@ -61,7 +61,7 @@ namespace sfx2
             @return
                 the ID of the newly created toolbox item
         */
-        sal_uInt16  AddDropDownToolBoxItem( const OUString& i_rItemText, const 
OString& i_nHelpId, const Link<>& i_rCallback )
+        sal_uInt16  AddDropDownToolBoxItem( const OUString& i_rItemText, const 
OString& i_nHelpId, const Link<ToolBox *, void>& i_rCallback )
         {
             return impl_addDropDownToolBoxItem( i_rItemText, i_nHelpId, 
i_rCallback );
         }
@@ -111,7 +111,7 @@ namespace sfx2
 
         /** internal version of AddDropDownToolBoxItem
         */
-        sal_uInt16  impl_addDropDownToolBoxItem( const OUString& i_rItemText, 
const OString& i_nHelpId, const Link<>& i_rCallback );
+        sal_uInt16  impl_addDropDownToolBoxItem( const OUString& i_rItemText, 
const OString& i_nHelpId, const Link<ToolBox *, void>& i_rCallback );
 
         /** returns the current title.
 
@@ -120,7 +120,7 @@ namespace sfx2
         OUString  impl_getTitle() const;
 
     private:
-        DECL_LINK( OnToolboxItemSelected, ToolBox* );
+        DECL_LINK_TYPED( OnToolboxItemSelected, ToolBox*, void );
 
         void    impl_construct();
         void    impl_layout();
diff --git a/include/svx/fontwork.hxx b/include/svx/fontwork.hxx
index 124cc04..4dd6aae 100644
--- a/include/svx/fontwork.hxx
+++ b/include/svx/fontwork.hxx
@@ -143,9 +143,9 @@ class SVX_DLLPUBLIC SAL_WARN_UNUSED SvxFontWorkDialog : 
public SfxDockingWindow
  friend class SvxFontWorkChildWindow;
  friend class SvxFontWorkControllerItem;
 
-    DECL_LINK( SelectStyleHdl_Impl, void * );
-    DECL_LINK( SelectAdjustHdl_Impl, void * );
-    DECL_LINK( SelectShadowHdl_Impl, void * );
+    DECL_LINK_TYPED( SelectStyleHdl_Impl, ToolBox *, void );
+    DECL_LINK_TYPED( SelectAdjustHdl_Impl, ToolBox *, void );
+    DECL_LINK_TYPED( SelectShadowHdl_Impl, ToolBox *, void );
 
     DECL_LINK( ModifyInputHdl_Impl, void * );
     DECL_LINK_TYPED( InputTimoutHdl_Impl, Idle *, void );
diff --git a/include/svx/imapdlg.hxx b/include/svx/imapdlg.hxx
index cac8af0..046e956 100644
--- a/include/svx/imapdlg.hxx
+++ b/include/svx/imapdlg.hxx
@@ -117,7 +117,7 @@ class SVX_DLLPUBLIC SvxIMapDlg : public SfxModelessDialog 
// SfxFloatingWindow
 
     virtual bool    Close() SAL_OVERRIDE;
 
-    DECL_LINK( TbxClickHdl, ToolBox* );
+    DECL_LINK_TYPED( TbxClickHdl, ToolBox*, void );
     DECL_LINK( InfoHdl, IMapWindow* );
     DECL_LINK( MousePosHdl, IMapWindow* );
     DECL_LINK( GraphSizeHdl, IMapWindow* );
diff --git a/include/vcl/toolbox.hxx b/include/vcl/toolbox.hxx
index f4f8e18..9762385 100644
--- a/include/vcl/toolbox.hxx
+++ b/include/vcl/toolbox.hxx
@@ -185,12 +185,12 @@ private:
     PointerStyle        meLastStyle;
     WinBits             mnWinStyle;
     ToolBoxLayoutMode   meLayoutMode;
-    Link<>              maClickHdl;
-    Link<>              maDoubleClickHdl;
+    Link<ToolBox *, void> maClickHdl;
+    Link<ToolBox *, void> maDoubleClickHdl;
     Link<>              maActivateHdl;
     Link<>              maDeactivateHdl;
     Link<>              maHighlightHdl;
-    Link<>              maSelectHdl;
+    Link<ToolBox *, void> maSelectHdl;
     Link<>              maCommandHandler;
     Link<>              maStateChangedHandler;
     Link<>              maDataChangedHandler;
@@ -495,20 +495,17 @@ public:
     using DockingWindow::SetHelpId;
     using DockingWindow::GetHelpId;
 
-    void                SetClickHdl( const Link<>& rLink ) { maClickHdl = 
rLink; }
-    const Link<>&       GetClickHdl() const { return maClickHdl; }
-    void                SetDoubleClickHdl( const Link<>& rLink ) { 
maDoubleClickHdl = rLink; }
-    const Link<>&       GetDoubleClickHdl() const { return maDoubleClickHdl; }
-    void                SetDropdownClickHdl( const Link<>& rLink );
-    const Link<>&       GetDropdownClickHdl() const;
+    void                SetClickHdl( const Link<ToolBox *, void>& rLink ) { 
maClickHdl = rLink; }
+    void                SetDoubleClickHdl( const Link<ToolBox *, void>& rLink 
) { maDoubleClickHdl = rLink; }
+    void                SetDropdownClickHdl( const Link<ToolBox *, void>& 
rLink );
     void                SetActivateHdl( const Link<>& rLink ) { maActivateHdl 
= rLink; }
     const Link<>&       GetActivateHdl() const { return maActivateHdl; }
     void                SetDeactivateHdl( const Link<>& rLink ) { 
maDeactivateHdl = rLink; }
     const Link<>&       GetDeactivateHdl() const { return maDeactivateHdl; }
     void                SetHighlightHdl( const Link<>& rLink ) { 
maHighlightHdl = rLink; }
     const Link<>&       GetHighlightHdl() const { return maHighlightHdl; }
-    void                SetSelectHdl( const Link<>& rLink ) { maSelectHdl = 
rLink; }
-    const Link<>&       GetSelectHdl() const { return maSelectHdl; }
+    void                SetSelectHdl( const Link<ToolBox *, void>& rLink ) { 
maSelectHdl = rLink; }
+    const Link<ToolBox *, void>& GetSelectHdl() const { return maSelectHdl; }
     void                SetCommandHdl( const Link<>& aLink ) { 
maCommandHandler = aLink; }
     const Link<>&       GetCommandHdl() const { return maCommandHandler; }
     void                SetStateChangedHdl( const Link<>& aLink ) { 
maStateChangedHandler = aLink; }
diff --git a/reportdesign/source/ui/dlg/AddField.cxx 
b/reportdesign/source/ui/dlg/AddField.cxx
index 6ba1392..7924a17 100644
--- a/reportdesign/source/ui/dlg/AddField.cxx
+++ b/reportdesign/source/ui/dlg/AddField.cxx
@@ -526,7 +526,7 @@ void OAddFieldWindow::resizeControls(const Size& _rDiff)
     }
 }
 
-IMPL_LINK( OAddFieldWindow, OnSortAction, ToolBox*, /*NOTINTERESTEDIN*/ )
+IMPL_LINK_NOARG_TYPED( OAddFieldWindow, OnSortAction, ToolBox*, void )
 {
     const sal_uInt16 nCurItem = m_aActions->GetCurItemId();
     if ( SID_ADD_CONTROL_PAIR == nCurItem )
@@ -559,7 +559,6 @@ IMPL_LINK( OAddFieldWindow, OnSortAction, ToolBox*, 
/*NOTINTERESTEDIN*/ )
             m_pListBox->GetModel()->Resort();
         }
     }
-    return 0L;
 }
 
 
diff --git a/reportdesign/source/ui/dlg/Condition.cxx 
b/reportdesign/source/ui/dlg/Condition.cxx
index 049ae98..0339327 100644
--- a/reportdesign/source/ui/dlg/Condition.cxx
+++ b/reportdesign/source/ui/dlg/Condition.cxx
@@ -334,7 +334,7 @@ void Condition::dispose()
     VclHBox::dispose();
 }
 
-IMPL_LINK( Condition, DropdownClick, ToolBox*, /*pToolBar*/ )
+IMPL_LINK_NOARG_TYPED( Condition, DropdownClick, ToolBox*, void )
 {
     sal_uInt16 nId( m_pActions->GetCurItemId() );
     if ( !m_pColorFloat )
@@ -355,15 +355,12 @@ IMPL_LINK( Condition, DropdownClick, ToolBox*, 
/*pToolBar*/ )
     
m_pColorFloat->SetPosPixel(m_pActions->GetItemPopupPosition(nId,m_pColorFloat->GetSizePixel()));
     m_pColorFloat->StartPopupMode(m_pActions);
     m_pColorFloat->StartSelection();
-
-    return 1;
 }
 
-IMPL_LINK( Condition, OnFormatAction, ToolBox*, /*NOTINTERESTEDIN*/ )
+IMPL_LINK_NOARG_TYPED( Condition, OnFormatAction, ToolBox*, void )
 {
     Color aCol(COL_AUTO);
     ApplyCommand(mapToolbarItemToSlotId(m_pActions->GetCurItemId()),aCol);
-    return 0L;
 }
 
 IMPL_LINK( Condition, OnConditionAction, Button*, _pClickedButton )
diff --git a/reportdesign/source/ui/dlg/Condition.hxx 
b/reportdesign/source/ui/dlg/Condition.hxx
index 506cba3..bd2f640 100644
--- a/reportdesign/source/ui/dlg/Condition.hxx
+++ b/reportdesign/source/ui/dlg/Condition.hxx
@@ -100,8 +100,8 @@ namespace rptui
 
         ConditionalExpressions          m_aConditionalExpressions;
 
-        DECL_LINK( OnFormatAction,      ToolBox* );
-        DECL_LINK( DropdownClick,       ToolBox* );
+        DECL_LINK_TYPED( OnFormatAction, ToolBox*, void );
+        DECL_LINK_TYPED( DropdownClick, ToolBox*, void );
         DECL_LINK( OnConditionAction,   Button* );
 
     public:
diff --git a/reportdesign/source/ui/dlg/GroupsSorting.cxx 
b/reportdesign/source/ui/dlg/GroupsSorting.cxx
index efd047a..52006da 100644
--- a/reportdesign/source/ui/dlg/GroupsSorting.cxx
+++ b/reportdesign/source/ui/dlg/GroupsSorting.cxx
@@ -1152,7 +1152,7 @@ IMPL_LINK(OGroupsSortingDialog, OnControlFocusLost, 
Control*, pControl )
     return 0L;
 }
 
-IMPL_LINK( OGroupsSortingDialog, OnFormatAction, ToolBox*, /*NOTINTERESTEDIN*/ 
)
+IMPL_LINK_NOARG_TYPED( OGroupsSortingDialog, OnFormatAction, ToolBox*, void )
 {
 
     sal_uInt16 nCommand = m_pToolBox->GetCurItemId();
@@ -1192,7 +1192,6 @@ IMPL_LINK( OGroupsSortingDialog, OnFormatAction, 
ToolBox*, /*NOTINTERESTEDIN*/ )
             }
         }
     }
-    return 1L;
 }
 
 IMPL_LINK( OGroupsSortingDialog, LBChangeHdl, ListBox*, pListBox )
diff --git a/reportdesign/source/ui/inc/AddField.hxx 
b/reportdesign/source/ui/inc/AddField.hxx
index b547b33..2544331 100644
--- a/reportdesign/source/ui/inc/AddField.hxx
+++ b/reportdesign/source/ui/inc/AddField.hxx
@@ -71,7 +71,7 @@ class  OAddFieldWindow  :public FloatingWindow
 
     DECL_LINK( OnDoubleClickHdl, void* );
     DECL_LINK( OnSelectHdl,      void* );
-    DECL_LINK( OnSortAction,     ToolBox* );
+    DECL_LINK_TYPED( OnSortAction, ToolBox*, void );
 
     OAddFieldWindow(const OAddFieldWindow&) SAL_DELETED_FUNCTION;
     void operator =(const OAddFieldWindow&) SAL_DELETED_FUNCTION;
diff --git a/reportdesign/source/ui/inc/GroupsSorting.hxx 
b/reportdesign/source/ui/inc/GroupsSorting.hxx
index b67c128..b9c1947 100644
--- a/reportdesign/source/ui/inc/GroupsSorting.hxx
+++ b/reportdesign/source/ui/inc/GroupsSorting.hxx
@@ -85,7 +85,7 @@ private:
     DECL_LINK( OnControlFocusLost, Control* );
     DECL_LINK( OnControlFocusGot, Control* );
     DECL_LINK( LBChangeHdl, ListBox* );
-    DECL_LINK( OnFormatAction,      ToolBox* );
+    DECL_LINK_TYPED( OnFormatAction, ToolBox*, void );
 
     /** returns the groups
         @return the groups which now have to check which one changes
diff --git a/sc/source/ui/inc/navipi.hxx b/sc/source/ui/inc/navipi.hxx
index e729625..c355813 100644
--- a/sc/source/ui/inc/navipi.hxx
+++ b/sc/source/ui/inc/navipi.hxx
@@ -195,7 +195,7 @@ public:
 
     virtual void    DataChanged( const DataChangedEvent& rDCEvt ) SAL_OVERRIDE;
 
-    DECL_LINK( ToolBoxDropdownClickHdl, void* );
+    DECL_LINK_TYPED( ToolBoxDropdownClickHdl, ToolBox*, void );
 
 protected:
     virtual void    Select() SAL_OVERRIDE;
diff --git a/sc/source/ui/navipi/navipi.cxx b/sc/source/ui/navipi/navipi.cxx
index ab073e1..b96b505 100644
--- a/sc/source/ui/navipi/navipi.cxx
+++ b/sc/source/ui/navipi/navipi.cxx
@@ -383,7 +383,7 @@ void CommandToolBox::Click()
 {
 }
 
-IMPL_LINK_NOARG(CommandToolBox, ToolBoxDropdownClickHdl)
+IMPL_LINK_NOARG_TYPED(CommandToolBox, ToolBoxDropdownClickHdl, ToolBox *, void)
 {
     // the popup menue of the drop modus has to be called in the
     // click (button down) and not in the select (button up)
@@ -405,8 +405,6 @@ IMPL_LINK_NOARG(CommandToolBox, ToolBoxDropdownClickHdl)
         MouseEvent aLeave( aPoint, 0, MouseEventModifiers::LEAVEWINDOW | 
MouseEventModifiers::SYNTHETIC );
         MouseMove( aLeave );
     }
-
-    return 1;
 }
 
 void CommandToolBox::UpdateButtons()
diff --git a/sc/source/ui/sidebar/CellAppearancePropertyPanel.cxx 
b/sc/source/ui/sidebar/CellAppearancePropertyPanel.cxx
index 7ee1f5b..a805a28 100644
--- a/sc/source/ui/sidebar/CellAppearancePropertyPanel.cxx
+++ b/sc/source/ui/sidebar/CellAppearancePropertyPanel.cxx
@@ -167,7 +167,7 @@ void CellAppearancePropertyPanel::Initialize()
     const sal_uInt16 nIdBorderType  = mpTBCellBorder->GetItemId( 
UNO_SETBORDERSTYLE );
     mpTBCellBorder->SetItemImage( nIdBorderType, maIMGCellBorder );
     mpTBCellBorder->SetItemBits( nIdBorderType, mpTBCellBorder->GetItemBits( 
nIdBorderType ) | ToolBoxItemBits::DROPDOWNONLY );
-    Link<> aLink = LINK(this, CellAppearancePropertyPanel, 
TbxCellBorderSelectHdl);
+    Link<ToolBox *, void> aLink = LINK(this, CellAppearancePropertyPanel, 
TbxCellBorderSelectHdl);
     mpTBCellBorder->SetDropdownClickHdl ( aLink );
     mpTBCellBorder->SetSelectHdl ( aLink );
 
@@ -181,14 +181,13 @@ void CellAppearancePropertyPanel::Initialize()
 
     mpTBLineColor->Disable();
 
-    aLink = LINK(this, CellAppearancePropertyPanel, CBOXGridShowClkHdl);
-    mpCBXShowGrid->SetClickHdl ( aLink );
+    mpCBXShowGrid->SetClickHdl ( LINK(this, CellAppearancePropertyPanel, 
CBOXGridShowClkHdl) );
 
     mpTBLineColor->SetAccessibleRelationLabeledBy(mpTBLineColor);
     mpTBLineStyle->SetAccessibleRelationLabeledBy(mpTBLineStyle);
 }
 
-IMPL_LINK(CellAppearancePropertyPanel, TbxCellBorderSelectHdl, ToolBox*, 
pToolBox)
+IMPL_LINK_TYPED(CellAppearancePropertyPanel, TbxCellBorderSelectHdl, ToolBox*, 
pToolBox, void)
 {
     const OUString 
aCommand(pToolBox->GetItemCommand(pToolBox->GetCurItemId()));
 
@@ -208,10 +207,9 @@ IMPL_LINK(CellAppearancePropertyPanel, 
TbxCellBorderSelectHdl, ToolBox*, pToolBo
             mpCellBorderStylePopup->Show(*pToolBox);
         }
     }
-    return 0;
 }
 
-IMPL_LINK(CellAppearancePropertyPanel, TbxLineStyleSelectHdl, ToolBox*, 
pToolBox)
+IMPL_LINK_TYPED(CellAppearancePropertyPanel, TbxLineStyleSelectHdl, ToolBox*, 
pToolBox, void)
 {
     const OUString 
aCommand(pToolBox->GetItemCommand(pToolBox->GetCurItemId()));
 
@@ -232,7 +230,6 @@ IMPL_LINK(CellAppearancePropertyPanel, 
TbxLineStyleSelectHdl, ToolBox*, pToolBox
             mpCellLineStylePopup->Show(*pToolBox);
         }
     }
-    return 0;
 }
 
 IMPL_LINK(CellAppearancePropertyPanel, CBOXGridShowClkHdl, void*, EMPTYARG)
diff --git a/sc/source/ui/sidebar/CellAppearancePropertyPanel.hxx 
b/sc/source/ui/sidebar/CellAppearancePropertyPanel.hxx
index fc03956..bddce648 100644
--- a/sc/source/ui/sidebar/CellAppearancePropertyPanel.hxx
+++ b/sc/source/ui/sidebar/CellAppearancePropertyPanel.hxx
@@ -141,8 +141,8 @@ private:
     ::sfx2::sidebar::EnumContext            maContext;
     SfxBindings*                            mpBindings;
 
-    DECL_LINK(TbxCellBorderSelectHdl, ToolBox*);
-    DECL_LINK(TbxLineStyleSelectHdl, ToolBox*);
+    DECL_LINK_TYPED(TbxCellBorderSelectHdl, ToolBox*, void);
+    DECL_LINK_TYPED(TbxLineStyleSelectHdl, ToolBox*, void);
     DECL_LINK(CBOXGridShowClkHdl, void*);
 
     // for CellLineStyle popup
diff --git a/sc/source/ui/sidebar/CellBorderStyleControl.cxx 
b/sc/source/ui/sidebar/CellBorderStyleControl.cxx
index 0c62047..548be751 100644
--- a/sc/source/ui/sidebar/CellBorderStyleControl.cxx
+++ b/sc/source/ui/sidebar/CellBorderStyleControl.cxx
@@ -100,8 +100,7 @@ void CellBorderStyleControl::Initialize()
     maTBBorder1->SetPaintTransparent(true);
     Size aTbxSize( maTBBorder1->CalcWindowSizePixel() );
     maTBBorder1->SetOutputSizePixel( aTbxSize );
-    Link<> aLink  = LINK(this, CellBorderStyleControl, TB1SelectHdl);
-    maTBBorder1->SetSelectHdl ( aLink );
+    maTBBorder1->SetSelectHdl ( LINK(this, CellBorderStyleControl, 
TB1SelectHdl) );
 
     maTBBorder2->SetLineCount(2);
     maTBBorder2->InsertItem(TBI_BORDER2_LEFT, mpImageList[4]);
@@ -133,8 +132,7 @@ void CellBorderStyleControl::Initialize()
     maTBBorder2->SetItemText(TBI_BORDER2_TLBR, ScResId(STR_BORDER_6));
     maTBBorder2->SetItemText(TBI_BORDER2_TOPBOT, ScResId(STR_BORDER_7));
     maTBBorder2->SetItemText(TBI_BORDER2_LEFTRIGHT, ScResId(STR_BORDER_8));
-    aLink  = LINK(this, CellBorderStyleControl, TB2SelectHdl);
-    maTBBorder2->SetSelectHdl ( aLink );
+    maTBBorder2->SetSelectHdl ( LINK(this, CellBorderStyleControl, 
TB2SelectHdl) );
 
     maTBBorder3->SetItemImage(TBI_BORDER3_S1, mpImageList[12]);
     maTBBorder3->SetItemImage(TBI_BORDER3_S2, mpImageList[13]);
@@ -144,11 +142,10 @@ void CellBorderStyleControl::Initialize()
     maTBBorder3->SetPaintTransparent(true);
     aTbxSize = maTBBorder3->CalcWindowSizePixel() ;
     maTBBorder3->SetOutputSizePixel( aTbxSize );
-    aLink  = LINK(this, CellBorderStyleControl, TB3SelectHdl);
-    maTBBorder3->SetSelectHdl ( aLink );
+    maTBBorder3->SetSelectHdl ( LINK(this, CellBorderStyleControl, 
TB3SelectHdl) );
 }
 
-IMPL_LINK(CellBorderStyleControl, TB1SelectHdl, ToolBox*, pToolBox)
+IMPL_LINK_TYPED(CellBorderStyleControl, TB1SelectHdl, ToolBox*, pToolBox, void)
 {
     sal_uInt16 nId = pToolBox->GetCurItemId();
     SvxBoxItem          aBorderOuter( SID_ATTR_BORDER_OUTER );
@@ -202,10 +199,9 @@ IMPL_LINK(CellBorderStyleControl, TB1SelectHdl, ToolBox*, 
pToolBox)
 
     
mrCellAppearancePropertyPanel.GetBindings()->GetDispatcher()->Execute(SID_ATTR_BORDER,
 SfxCallMode::RECORD, &aBorderOuter, &aBorderInner, 0L);
     mrCellAppearancePropertyPanel.EndCellBorderStylePopupMode();
-    return 0;
 }
 
-IMPL_LINK(CellBorderStyleControl, TB2SelectHdl, ToolBox *, pToolBox)
+IMPL_LINK_TYPED(CellBorderStyleControl, TB2SelectHdl, ToolBox *, pToolBox, 
void)
 {
     sal_uInt16 nId = pToolBox->GetCurItemId();
 
@@ -287,10 +283,9 @@ IMPL_LINK(CellBorderStyleControl, TB2SelectHdl, ToolBox *, 
pToolBox)
     }
 
     mrCellAppearancePropertyPanel.EndCellBorderStylePopupMode();
-    return 0;
 }
 
-IMPL_LINK(CellBorderStyleControl, TB3SelectHdl, ToolBox *, pToolBox)
+IMPL_LINK_TYPED(CellBorderStyleControl, TB3SelectHdl, ToolBox *, pToolBox, 
void)
 {
     sal_uInt16 nId = pToolBox->GetCurItemId();
 
@@ -347,7 +342,6 @@ IMPL_LINK(CellBorderStyleControl, TB3SelectHdl, ToolBox *, 
pToolBox)
     pBottom.reset();
 
     mrCellAppearancePropertyPanel.EndCellBorderStylePopupMode();
-    return 0;
 }
 
 } } // end of namespace svx::sidebar
diff --git a/sc/source/ui/sidebar/CellBorderStyleControl.hxx 
b/sc/source/ui/sidebar/CellBorderStyleControl.hxx
index 706d10e..8772dcc 100644
--- a/sc/source/ui/sidebar/CellBorderStyleControl.hxx
+++ b/sc/source/ui/sidebar/CellBorderStyleControl.hxx
@@ -41,9 +41,9 @@ private:
 
     void Initialize();
 
-    DECL_LINK(TB1SelectHdl, ToolBox *);
-    DECL_LINK(TB2SelectHdl, ToolBox *);
-    DECL_LINK(TB3SelectHdl, ToolBox *);
+    DECL_LINK_TYPED(TB1SelectHdl, ToolBox *, void);
+    DECL_LINK_TYPED(TB2SelectHdl, ToolBox *, void);
+    DECL_LINK_TYPED(TB3SelectHdl, ToolBox *, void);
 
 public:
     CellBorderStyleControl(vcl::Window* pParent, CellAppearancePropertyPanel& 
rPanel);
diff --git a/sc/source/ui/sidebar/NumberFormatPropertyPanel.cxx 
b/sc/source/ui/sidebar/NumberFormatPropertyPanel.cxx
index c005b8c..953c318 100644
--- a/sc/source/ui/sidebar/NumberFormatPropertyPanel.cxx
+++ b/sc/source/ui/sidebar/NumberFormatPropertyPanel.cxx
@@ -96,8 +96,7 @@ void NumberFormatPropertyPanel::Initialize()
     mpLbCategory->SetAccessibleName(OUString( "Category"));
     mpLbCategory->SetDropDownLineCount(mpLbCategory->GetEntryCount());
 
-    aLink = LINK(this, NumberFormatPropertyPanel, NumFormatHdl);
-    mpTBCategory->SetSelectHdl ( aLink );
+    mpTBCategory->SetSelectHdl ( LINK(this, NumberFormatPropertyPanel, 
NumFormatHdl) );
 
     aLink = LINK(this, NumberFormatPropertyPanel, NumFormatValueHdl);
 
@@ -112,7 +111,7 @@ void NumberFormatPropertyPanel::Initialize()
     mpTBCategory->SetAccessibleRelationLabeledBy(mpTBCategory);
 }
 
-IMPL_LINK( NumberFormatPropertyPanel, NumFormatHdl, ToolBox*, pBox )
+IMPL_LINK_TYPED( NumberFormatPropertyPanel, NumFormatHdl, ToolBox*, pBox, void 
)
 {
     const OUString aCommand(pBox->GetItemCommand(pBox->GetCurItemId()));
     sal_uInt16 nId = 0;
@@ -133,7 +132,6 @@ IMPL_LINK( NumberFormatPropertyPanel, NumFormatHdl, 
ToolBox*, pBox )
         SfxUInt16Item aItem( SID_NUMBER_TYPE_FORMAT,  nId );
         GetBindings()->GetDispatcher()->Execute(SID_NUMBER_TYPE_FORMAT, 
SfxCallMode::RECORD, &aItem, 0L);
     }
-    return 0L;
 }
 
 IMPL_LINK( NumberFormatPropertyPanel, NumFormatSelectHdl, ListBox*, pBox )
diff --git a/sc/source/ui/sidebar/NumberFormatPropertyPanel.hxx 
b/sc/source/ui/sidebar/NumberFormatPropertyPanel.hxx
index 9a162be..64e1a8d 100644
--- a/sc/source/ui/sidebar/NumberFormatPropertyPanel.hxx
+++ b/sc/source/ui/sidebar/NumberFormatPropertyPanel.hxx
@@ -81,7 +81,7 @@ private:
     ::sfx2::sidebar::EnumContext            maContext;
     SfxBindings*                            mpBindings;
 
-    DECL_LINK(NumFormatHdl, ToolBox*);
+    DECL_LINK_TYPED(NumFormatHdl, ToolBox*, void);
     DECL_LINK(NumFormatSelectHdl, ListBox*);
     DECL_LINK(NumFormatValueHdl, void*);
 
diff --git a/sd/source/ui/dlg/navigatr.cxx b/sd/source/ui/dlg/navigatr.cxx
index 7a0368d..987818b 100644
--- a/sd/source/ui/dlg/navigatr.cxx
+++ b/sd/source/ui/dlg/navigatr.cxx
@@ -259,7 +259,7 @@ sd::DrawDocShell* SdNavigatorWin::GetDrawDocShell( const 
SdDrawDocument* pDoc )
     return pDocShell;
 }
 
-IMPL_LINK_NOARG(SdNavigatorWin, SelectToolboxHdl)
+IMPL_LINK_NOARG_TYPED(SdNavigatorWin, SelectToolboxHdl, ToolBox *, void)
 {
     sal_uInt16 nId = maToolbox->GetCurItemId();
     sal_uInt16 nSId = 0;
@@ -306,15 +306,12 @@ IMPL_LINK_NOARG(SdNavigatorWin, SelectToolboxHdl)
         }
         break;
     }
-    return 0;
 }
 
-IMPL_LINK_NOARG(SdNavigatorWin, ClickToolboxHdl)
-{
-    return 0;
-}
+IMPL_LINK_NOARG_TYPED(SdNavigatorWin, ClickToolboxHdl, ToolBox *, void)
+{}
 
-IMPL_LINK( SdNavigatorWin, DropdownClickToolBoxHdl, ToolBox*, pBox )
+IMPL_LINK_TYPED( SdNavigatorWin, DropdownClickToolBoxHdl, ToolBox*, pBox, void 
)
 {
     sal_uInt16 nId = maToolbox->GetCurItemId();
 
@@ -387,7 +384,6 @@ IMPL_LINK( SdNavigatorWin, DropdownClickToolBoxHdl, 
ToolBox*, pBox )
         }
         break;
     }
-    return 0;
 }
 
 IMPL_LINK_NOARG(SdNavigatorWin, ClickObjectHdl)
diff --git a/sd/source/ui/inc/navigatr.hxx b/sd/source/ui/inc/navigatr.hxx
index aae2ba0..ed682fd 100644
--- a/sd/source/ui/inc/navigatr.hxx
+++ b/sd/source/ui/inc/navigatr.hxx
@@ -145,9 +145,9 @@ private:
     NavDocInfo*                 GetDocInfo();
 
                                 DECL_LINK( GetFocusObjectsHdl, void * );
-                                DECL_LINK( SelectToolboxHdl, void * );
-                                DECL_LINK(ClickToolboxHdl, void *);
-                                DECL_LINK( DropdownClickToolBoxHdl, ToolBox * 
);
+                                DECL_LINK_TYPED( SelectToolboxHdl, ToolBox *, 
void );
+                                DECL_LINK_TYPED(ClickToolboxHdl, ToolBox *, 
void);
+                                DECL_LINK_TYPED( DropdownClickToolBoxHdl, 
ToolBox *, void );
                                 DECL_LINK( ClickPageHdl, void * );
                                 DECL_LINK( ClickObjectHdl, void * );
                                 DECL_LINK( SelectDocumentHdl, void * );
diff --git a/sfx2/source/appl/newhelp.cxx b/sfx2/source/appl/newhelp.cxx
index b070a56..c892d43 100644
--- a/sfx2/source/appl/newhelp.cxx
+++ b/sfx2/source/appl/newhelp.cxx
@@ -2886,15 +2886,13 @@ void SfxHelpWindow_Impl::ShowStartPage()
 
 
 
-IMPL_LINK( SfxHelpWindow_Impl, SelectHdl, ToolBox* , pToolBox )
+IMPL_LINK_TYPED( SfxHelpWindow_Impl, SelectHdl, ToolBox* , pToolBox, void )
 {
     if ( pToolBox )
     {
         bGrabFocusToToolBox = pToolBox->HasChildPathFocus();
         DoAction( pToolBox->GetCurItemId() );
     }
-
-    return 1;
 }
 
 
diff --git a/sfx2/source/appl/newhelp.hxx b/sfx2/source/appl/newhelp.hxx
index 8ae94ed..2466526 100644
--- a/sfx2/source/appl/newhelp.hxx
+++ b/sfx2/source/appl/newhelp.hxx
@@ -470,7 +470,7 @@ public:
     inline ::com::sun::star::uno::Reference < ::com::sun::star::frame::XFrame2 
>
                             getFrame() const { return xFrame; }
 
-    inline void             SetSelectHdl( const Link<>& rLink ) { 
aToolBox->SetSelectHdl( rLink ); }
+    inline void             SetSelectHdl( const Link<ToolBox *, void>& rLink ) 
{ aToolBox->SetSelectHdl( rLink ); }
     void                    ToggleIndex( bool bOn );
     void                    SelectSearchText( const OUString& rSearchText, 
bool _bIsFullWordSearch );
     void                    SetPageStyleHeaderOff() const;
@@ -520,7 +520,7 @@ friend class SfxHelpIndexWindow_Impl;
     void                SaveConfig();
     void                ShowStartPage();
 
-    DECL_LINK(          SelectHdl, ToolBox* );
+    DECL_LINK_TYPED(    SelectHdl, ToolBox*, void );
     DECL_LINK(OpenHdl, void *);
     DECL_LINK(          SelectFactoryHdl, SfxHelpIndexWindow_Impl* );
     DECL_LINK(          ChangeHdl, HelpListener_Impl* );
diff --git a/sfx2/source/dialog/recfloat.cxx b/sfx2/source/dialog/recfloat.cxx
index 60ac3df..ce3dabb 100644
--- a/sfx2/source/dialog/recfloat.cxx
+++ b/sfx2/source/dialog/recfloat.cxx
@@ -249,14 +249,12 @@ void SfxRecordingFloat_Impl::StateChanged( 
StateChangedType nStateChange )
     SfxFloatingWindow::StateChanged( nStateChange );
 }
 
-IMPL_LINK( SfxRecordingFloat_Impl, Select, ToolBox*, pToolBar )
+IMPL_LINK_TYPED( SfxRecordingFloat_Impl, Select, ToolBox*, pToolBar, void )
 {
     (void)pToolBar;
     sal_Int16   nKeyModifier( (sal_Int16)m_pTbx->GetModifier() );
     if ( xStopRecTbxCtrl.is() )
         xStopRecTbxCtrl->execute( nKeyModifier );
-
-    return 1;
 }
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sfx2/source/dialog/taskpane.cxx b/sfx2/source/dialog/taskpane.cxx
index 186eaa5..65a6a6a 100644
--- a/sfx2/source/dialog/taskpane.cxx
+++ b/sfx2/source/dialog/taskpane.cxx
@@ -839,7 +839,7 @@ namespace sfx2
         virtual void Dying() SAL_OVERRIDE;
 
     private:
-        DECL_LINK( OnToolboxClicked, ToolBox* );
+        DECL_LINK_TYPED( OnToolboxClicked, ToolBox*, void );
         DECL_LINK( OnMenuItemSelected, Menu* );
         DECL_LINK( DockingChanged, TitledDockingWindow* );
         ::std::unique_ptr< PopupMenu > impl_createPopupMenu() const;
@@ -963,7 +963,7 @@ namespace sfx2
     }
 
 
-    IMPL_LINK( TaskPaneController_Impl, OnToolboxClicked, ToolBox*, i_pToolBox 
)
+    IMPL_LINK_TYPED( TaskPaneController_Impl, OnToolboxClicked, ToolBox*, 
i_pToolBox, void )
     {
         if ( i_pToolBox->GetCurItemId() == m_nViewMenuID )
         {
@@ -977,8 +977,6 @@ namespace sfx2
             aMenuRect.SetPos( i_pToolBox->GetPosPixel() );
             pMenu->Execute( &m_rDockingWindow, aMenuRect, 
POPUPMENU_EXECUTE_DOWN );
         }
-
-        return 0;
     }
 
 
diff --git a/sfx2/source/dialog/templdlg.cxx b/sfx2/source/dialog/templdlg.cxx
index 802f8ba..9c82774 100644
--- a/sfx2/source/dialog/templdlg.cxx
+++ b/sfx2/source/dialog/templdlg.cxx
@@ -2428,11 +2428,10 @@ bool SfxTemplateDialog_Impl::IsCheckedItem(sal_uInt16 
nMesId)
     }
 }
 
-IMPL_LINK( SfxTemplateDialog_Impl, ToolBoxLSelect, ToolBox *, pBox )
+IMPL_LINK_TYPED( SfxTemplateDialog_Impl, ToolBoxLSelect, ToolBox *, pBox, void 
)
 {
     const sal_uInt16 nEntry = pBox->GetCurItemId();
     FamilySelect(nEntry);
-    return 0;
 }
 
 static OUString lcl_GetLabel(uno::Any& rAny)
@@ -2453,16 +2452,15 @@ static OUString lcl_GetLabel(uno::Any& rAny)
     return sRet;
 }
 
-IMPL_LINK( SfxTemplateDialog_Impl, ToolBoxRSelect, ToolBox *, pBox )
+IMPL_LINK_TYPED( SfxTemplateDialog_Impl, ToolBoxRSelect, ToolBox *, pBox, void 
)
 {
     const sal_uInt16 nEntry = pBox->GetCurItemId();
     if(nEntry != SID_STYLE_NEW_BY_EXAMPLE ||
             ToolBoxItemBits::DROPDOWN != 
(pBox->GetItemBits(nEntry)&ToolBoxItemBits::DROPDOWN))
         ActionSelect(nEntry);
-    return 0;
 }
 
-IMPL_LINK( SfxTemplateDialog_Impl, ToolBoxRClick, ToolBox *, pBox )
+IMPL_LINK_TYPED( SfxTemplateDialog_Impl, ToolBoxRClick, ToolBox *, pBox, void )
 {
     const sal_uInt16 nEntry = pBox->GetCurItemId();
     if(nEntry == SID_STYLE_NEW_BY_EXAMPLE &&
@@ -2481,7 +2479,7 @@ IMPL_LINK( SfxTemplateDialog_Impl, ToolBoxRClick, ToolBox 
*, pBox )
             a >>= xUICommands;
         }
         if(!xUICommands.is())
-            return 0;
+            return;
         try
         {
             uno::Any aCommand = 
xUICommands->getByName(".uno:StyleNewByExample");
@@ -2511,7 +2509,6 @@ IMPL_LINK( SfxTemplateDialog_Impl, ToolBoxRClick, ToolBox 
*, pBox )
         }
         pBox->Invalidate();
     }
-    return 0;
 }
 
 IMPL_LINK( SfxTemplateDialog_Impl, MenuSelectHdl, Menu*, pMenu)
diff --git a/sfx2/source/dialog/titledockwin.cxx 
b/sfx2/source/dialog/titledockwin.cxx
index 402f006..339a086 100644
--- a/sfx2/source/dialog/titledockwin.cxx
+++ b/sfx2/source/dialog/titledockwin.cxx
@@ -225,7 +225,7 @@ namespace sfx2
     }
 
 
-    sal_uInt16 TitledDockingWindow::impl_addDropDownToolBoxItem( const 
OUString& i_rItemText, const OString& i_nHelpId, const Link<>& i_rCallback )
+    sal_uInt16 TitledDockingWindow::impl_addDropDownToolBoxItem( const 
OUString& i_rItemText, const OString& i_nHelpId, const Link<ToolBox *, void>& 
i_rCallback )
     {
         // Add the menu before the closer button.
         const sal_uInt16 nItemCount( m_aToolbox->GetItemCount() );
@@ -244,7 +244,7 @@ namespace sfx2
     }
 
 
-    IMPL_LINK( TitledDockingWindow, OnToolboxItemSelected, ToolBox*, pToolBox )
+    IMPL_LINK_TYPED( TitledDockingWindow, OnToolboxItemSelected, ToolBox*, 
pToolBox, void )
     {
         const sal_uInt16 nId = pToolBox->GetCurItemId();
 
@@ -261,8 +261,6 @@ namespace sfx2
                 NULL
             );
         }
-
-        return 0;
     }
 
 
diff --git a/sfx2/source/doc/templatedlg.cxx b/sfx2/source/doc/templatedlg.cxx
index 53f5a05..a2f01b6 100644
--- a/sfx2/source/doc/templatedlg.cxx
+++ b/sfx2/source/doc/templatedlg.cxx
@@ -453,7 +453,7 @@ void SfxTemplateManagerDlg::writeSettings ()
     aViewSettings.SetUserData(aSettings);
 }
 
-IMPL_LINK_NOARG(SfxTemplateManagerDlg,TBXViewHdl)
+IMPL_LINK_NOARG_TYPED(SfxTemplateManagerDlg,TBXViewHdl, ToolBox *, void)
 {
     const sal_uInt16 nCurItemId = mpViewBar->GetCurItemId();
 
@@ -470,11 +470,9 @@ IMPL_LINK_NOARG(SfxTemplateManagerDlg,TBXViewHdl)
         OnFolderNew();
     else if (nCurItemId == mpViewBar->GetItemId(VIEWBAR_SAVE))
         OnTemplateSaveAs();
-
-    return 0;
 }
 
-IMPL_LINK_NOARG(SfxTemplateManagerDlg,TBXActionHdl)
+IMPL_LINK_NOARG_TYPED(SfxTemplateManagerDlg, TBXActionHdl, ToolBox *, void)
 {
     const sal_uInt16 nCurItemId = mpActionBar->GetCurItemId();
 
@@ -482,11 +480,9 @@ IMPL_LINK_NOARG(SfxTemplateManagerDlg,TBXActionHdl)
         OnTemplateSearch();
     else if (nCurItemId == mpActionBar->GetItemId(ACTIONBAR_TEMPLATE))
         OnTemplateLink();
-
-    return 0;
 }
 
-IMPL_LINK_NOARG(SfxTemplateManagerDlg,TBXTemplateHdl)
+IMPL_LINK_NOARG_TYPED(SfxTemplateManagerDlg, TBXTemplateHdl, ToolBox *, void)
 {
     const sal_uInt16 nCurItemId = mpTemplateBar->GetCurItemId();
 
@@ -502,11 +498,9 @@ IMPL_LINK_NOARG(SfxTemplateManagerDlg,TBXTemplateHdl)
         OnTemplateAsDefault();
     else if (nCurItemId == mpTemplateBar->GetItemId(TEMPLATEBAR_EXPORT))
         OnTemplateExport();
-
-    return 0;
 }
 
-IMPL_LINK(SfxTemplateManagerDlg, TBXDropdownHdl, ToolBox*, pBox)
+IMPL_LINK_TYPED(SfxTemplateManagerDlg, TBXDropdownHdl, ToolBox*, pBox, void)
 {
     const sal_uInt16 nCurItemId = pBox->GetCurItemId();
 
@@ -557,8 +551,6 @@ IMPL_LINK(SfxTemplateManagerDlg, TBXDropdownHdl, ToolBox*, 
pBox)
         pBox->EndSelection();
         pBox->Invalidate();
     }
-
-    return 0;
 }
 
 IMPL_LINK(SfxTemplateManagerDlg, TVItemStateHdl, const ThumbnailViewItem*, 
pItem)
diff --git a/sfx2/source/inc/recfloat.hxx b/sfx2/source/inc/recfloat.hxx
index 50dd7f6..665b4ce 100644
--- a/sfx2/source/inc/recfloat.hxx
+++ b/sfx2/source/inc/recfloat.hxx
@@ -51,7 +51,7 @@ public:
     virtual void        FillInfo( SfxChildWinInfo& rInfo ) const SAL_OVERRIDE;
     virtual void        StateChanged( StateChangedType nStateChange ) 
SAL_OVERRIDE;
 
-    DECL_LINK( Select, ToolBox * );
+    DECL_LINK_TYPED( Select, ToolBox *, void );
 };
 
 #endif
diff --git a/sfx2/source/inc/templdgi.hxx b/sfx2/source/inc/templdgi.hxx
index 8c49b71..76e4168 100644
--- a/sfx2/source/inc/templdgi.hxx
+++ b/sfx2/source/inc/templdgi.hxx
@@ -381,9 +381,9 @@ private:
     VclPtr<DropToolBox_Impl>    m_aActionTbL;
     VclPtr<ToolBox>             m_aActionTbR;
 
-    DECL_LINK( ToolBoxLSelect, ToolBox* );
-    DECL_LINK( ToolBoxRSelect, ToolBox* );
-    DECL_LINK( ToolBoxRClick, ToolBox* );
+    DECL_LINK_TYPED( ToolBoxLSelect, ToolBox*, void );
+    DECL_LINK_TYPED( ToolBoxRSelect, ToolBox*, void );
+    DECL_LINK_TYPED( ToolBoxRClick, ToolBox*, void );
     DECL_LINK( MenuSelectHdl, Menu* );
 
 protected:
diff --git a/sfx2/source/sidebar/SidebarToolBox.cxx 
b/sfx2/source/sidebar/SidebarToolBox.cxx
index 24fba7d..78dec70 100644
--- a/sfx2/source/sidebar/SidebarToolBox.cxx
+++ b/sfx2/source/sidebar/SidebarToolBox.cxx
@@ -75,10 +75,10 @@ void SidebarToolBox::dispose()
 
     if (mbAreHandlersRegistered)
     {
-        SetDropdownClickHdl(Link<>());
-        SetClickHdl(Link<>());
-        SetDoubleClickHdl(Link<>());
-        SetSelectHdl(Link<>());
+        SetDropdownClickHdl(Link<ToolBox *, void>());
+        SetClickHdl(Link<ToolBox *, void>());
+        SetDoubleClickHdl(Link<ToolBox *, void>());
+        SetSelectHdl(Link<ToolBox *, void>());
         SetActivateHdl(Link<>());
         SetDeactivateHdl(Link<>());
         mbAreHandlersRegistered = false;
@@ -229,7 +229,7 @@ void SidebarToolBox::RegisterHandlers()
     }
 }
 
-IMPL_LINK(SidebarToolBox, DropDownClickHandler, ToolBox*, pToolBox)
+IMPL_LINK_TYPED(SidebarToolBox, DropDownClickHandler, ToolBox*, pToolBox, void)
 {
     if (pToolBox != NULL)
     {
@@ -241,43 +241,36 @@ IMPL_LINK(SidebarToolBox, DropDownClickHandler, ToolBox*, 
pToolBox)
                 xWindow->setFocus();
         }
     }
-    return 1;
 }
 
-IMPL_LINK(SidebarToolBox, ClickHandler, ToolBox*, pToolBox)
+IMPL_LINK_TYPED(SidebarToolBox, ClickHandler, ToolBox*, pToolBox, void)
 {
     if (pToolBox == NULL)
-        return 0;
+        return;
 
     Reference<frame::XToolbarController> xController 
(GetControllerForItemId(pToolBox->GetCurItemId()));
     if (xController.is())
         xController->click();
-
-    return 1;
 }
 
-IMPL_LINK(SidebarToolBox, DoubleClickHandler, ToolBox*, pToolBox)
+IMPL_LINK_TYPED(SidebarToolBox, DoubleClickHandler, ToolBox*, pToolBox, void)
 {
     if (pToolBox == NULL)
-        return 0;
+        return;
 
     Reference<frame::XToolbarController> xController 
(GetControllerForItemId(pToolBox->GetCurItemId()));
     if (xController.is())
         xController->doubleClick();
-
-    return 1;
 }
 
-IMPL_LINK(SidebarToolBox, SelectHandler, ToolBox*, pToolBox)
+IMPL_LINK_TYPED(SidebarToolBox, SelectHandler, ToolBox*, pToolBox, void)
 {
     if (pToolBox == NULL)
-        return 0;
+        return;
 
     Reference<frame::XToolbarController> xController 
(GetControllerForItemId(pToolBox->GetCurItemId()));
     if (xController.is())
         xController->execute((sal_Int16)pToolBox->GetModifier());
-
-    return 1;
 }
 
 IMPL_LINK(SidebarToolBox, ActivateToolBox, ToolBox*, EMPTYARG)
diff --git a/sfx2/source/sidebar/TitleBar.cxx b/sfx2/source/sidebar/TitleBar.cxx
index fca67ca..d4a0fbe 100644
--- a/sfx2/source/sidebar/TitleBar.cxx
+++ b/sfx2/source/sidebar/TitleBar.cxx
@@ -185,15 +185,13 @@ void TitleBar::PaintFocus (const Rectangle& rFocusBox)
     Pop();
 }
 
-IMPL_LINK(TitleBar, SelectionHandler, ToolBox*, pToolBox)
+IMPL_LINK_TYPED(TitleBar, SelectionHandler, ToolBox*, pToolBox, void)
 {
     (void)pToolBox;
     OSL_ASSERT(maToolBox.get()==pToolBox);
     const sal_uInt16 nItemId (maToolBox->GetHighlightItemId());
 
     HandleToolBoxItemClick(nItemId);
-
-    return sal_True;
 }
 
 } } // end of namespace sfx2::sidebar
diff --git a/sfx2/source/sidebar/TitleBar.hxx b/sfx2/source/sidebar/TitleBar.hxx
index 77f588d..c65be5e 100644
--- a/sfx2/source/sidebar/TitleBar.hxx
+++ b/sfx2/source/sidebar/TitleBar.hxx
@@ -68,7 +68,7 @@ private:
     Image maIcon;
 
     void PaintTitle (const Rectangle& rTitleBox);
-    DECL_LINK(SelectionHandler, ToolBox*);
+    DECL_LINK_TYPED(SelectionHandler, ToolBox*, void);
 };
 
 } } // end of namespace sfx2::sidebar
diff --git a/starmath/inc/toolbox.hxx b/starmath/inc/toolbox.hxx
index 1af665e..5c03f52 100644
--- a/starmath/inc/toolbox.hxx
+++ b/starmath/inc/toolbox.hxx
@@ -52,8 +52,8 @@ protected:
 
     void            ApplyImageLists( sal_uInt16 nCategoryRID );
 
-    DECL_LINK( CategoryClickHdl, ToolBox* );
-    DECL_LINK( CmdSelectHdl, ToolBox* );
+    DECL_LINK_TYPED( CategoryClickHdl, ToolBox*, void );
+    DECL_LINK_TYPED( CmdSelectHdl, ToolBox*, void );
 
     SmViewShell * GetView();
     const ImageList * GetImageList( sal_uInt16 nResId );
diff --git a/starmath/source/toolbox.cxx b/starmath/source/toolbox.cxx
index 7416beb..0182ce4 100644
--- a/starmath/source/toolbox.cxx
+++ b/starmath/source/toolbox.cxx
@@ -329,24 +329,22 @@ sal_uInt16 
SmToolBoxWindow::MapToolbarIdToCategory(sal_uInt16 nId) const
     return RID_MISC_CAT;
 }
 
-IMPL_LINK( SmToolBoxWindow, CategoryClickHdl, ToolBox*, pToolBox)
+IMPL_LINK_TYPED( SmToolBoxWindow, CategoryClickHdl, ToolBox*, pToolBox, void)
 {
     sal_uInt16 nItemId = pToolBox->GetCurItemId();
     if (nItemId != 0)
     {
         SetCategory(MapToolbarIdToCategory(nItemId));
     }
-    return 0;
 }
 
-IMPL_LINK( SmToolBoxWindow, CmdSelectHdl, ToolBox*, pToolBox)
+IMPL_LINK_TYPED( SmToolBoxWindow, CmdSelectHdl, ToolBox*, pToolBox, void)
 {
     SmViewShell *pViewSh = GetView();
     if (pViewSh)
         pViewSh->GetViewFrame()->GetDispatcher()->Execute(
                 SID_INSERTCOMMAND, SfxCallMode::RECORD,
                 new SfxInt16Item(SID_INSERTCOMMAND, pToolBox->GetCurItemId()), 
0L);
-    return 0;
 }
 
 
diff --git a/svx/inc/galbrws2.hxx b/svx/inc/galbrws2.hxx
index ec53f52..95bbb7f 100644
--- a/svx/inc/galbrws2.hxx
+++ b/svx/inc/galbrws2.hxx
@@ -138,7 +138,7 @@ private:
     virtual void        Notify( SfxBroadcaster& rBC, const SfxHint& rHint ) 
SAL_OVERRIDE;
 
                         DECL_LINK( SelectObjectHdl, void* );
-                        DECL_LINK( SelectTbxHdl, ToolBox* );
+                        DECL_LINK_TYPED( SelectTbxHdl, ToolBox*, void );
                         DECL_LINK( MiscHdl, void* );
 
 private:
diff --git a/svx/source/dialog/_bmpmask.cxx b/svx/source/dialog/_bmpmask.cxx
index 0ae2ed0..97ba456 100644
--- a/svx/source/dialog/_bmpmask.cxx
+++ b/svx/source/dialog/_bmpmask.cxx
@@ -172,7 +172,7 @@ public:
     void        SetExecState( bool bState ) { bExecState = bState; }
     bool        IsExecReady() const { return bExecState; }
 
-                DECL_LINK( PipetteHdl, ToolBox* pTbx );
+                DECL_LINK_TYPED( PipetteHdl, ToolBox*, void );
                 DECL_LINK( CbxHdl, CheckBox* pCbx );
                 DECL_LINK( CbxTransHdl, CheckBox* pCbx );
                 DECL_LINK( FocusLbHdl, ColorLB* pLb );
@@ -191,14 +191,12 @@ MaskData::MaskData( SvxBmpMask* pBmpMask, SfxBindings& 
rBind ) :
 {
 }
 
-IMPL_LINK( MaskData, PipetteHdl, ToolBox*, pTbx )
+IMPL_LINK_TYPED( MaskData, PipetteHdl, ToolBox*, pTbx, void )
 {
     SfxBoolItem aBItem( SID_BMPMASK_PIPETTE,
                         pTbx->IsItemChecked( pTbx->GetItemId(0) ) );
 
     rBindings.GetDispatcher()->Execute( SID_BMPMASK_PIPETTE, OWN_CALLMODE, 
&aBItem, 0L );
-
-    return 0;
 }
 
 IMPL_LINK( MaskData, CbxHdl, CheckBox*, pCbx )
diff --git a/svx/source/dialog/_contdlg.cxx b/svx/source/dialog/_contdlg.cxx
index 760a010..e7c1d3e 100644
--- a/svx/source/dialog/_contdlg.cxx
+++ b/svx/source/dialog/_contdlg.cxx
@@ -431,7 +431,7 @@ bool SvxSuperContourDlg::IsRedoPossible() const
 
 // Click handler for ToolBox
 
-IMPL_LINK( SvxSuperContourDlg, Tbx1ClickHdl, ToolBox*, pTbx )
+IMPL_LINK_TYPED( SvxSuperContourDlg, Tbx1ClickHdl, ToolBox*, pTbx, void )
 {
     sal_uInt16 nNewItemId = pTbx->GetCurItemId();
 
@@ -532,8 +532,6 @@ IMPL_LINK( SvxSuperContourDlg, Tbx1ClickHdl, ToolBox*, pTbx 
)
 
         m_pContourWnd->SetPipetteMode( bPipette );
     }
-
-    return 0L;
 }
 
 IMPL_LINK( SvxSuperContourDlg, MousePosHdl, ContourWindow*, pWnd )
diff --git a/svx/source/dialog/contimp.hxx b/svx/source/dialog/contimp.hxx
index a0e76fb..b63b3b4 100644
--- a/svx/source/dialog/contimp.hxx
+++ b/svx/source/dialog/contimp.hxx
@@ -83,7 +83,7 @@ class SvxSuperContourDlg : public SvxContourDlg
 
     virtual bool        Close() SAL_OVERRIDE;
 
-                        DECL_LINK( Tbx1ClickHdl, ToolBox* );
+                        DECL_LINK_TYPED( Tbx1ClickHdl, ToolBox*, void );
                         DECL_LINK( MousePosHdl, ContourWindow* );
                         DECL_LINK( GraphSizeHdl, ContourWindow* );
                         DECL_LINK_TYPED(UpdateHdl, Idle *, void);
diff --git a/svx/source/dialog/fontwork.cxx b/svx/source/dialog/fontwork.cxx
index 9285f3b..1b6e0bf 100644
--- a/svx/source/dialog/fontwork.cxx
+++ b/svx/source/dialog/fontwork.cxx
@@ -642,7 +642,7 @@ void SvxFontWorkDialog::SetShadowYVal_Impl(const 
XFormTextShadowYValItem* pItem)
     }
 }
 
-IMPL_LINK_NOARG(SvxFontWorkDialog, SelectStyleHdl_Impl)
+IMPL_LINK_NOARG_TYPED(SvxFontWorkDialog, SelectStyleHdl_Impl, ToolBox *, void)
 {
     sal_uInt16 nId = m_pTbxStyle->GetCurItemId();
 
@@ -669,10 +669,9 @@ IMPL_LINK_NOARG(SvxFontWorkDialog, SelectStyleHdl_Impl)
         SetStyle_Impl( &aItem );
         nLastStyleTbxId = nId;
     }
-    return 0;
 }
 
-IMPL_LINK_NOARG(SvxFontWorkDialog, SelectAdjustHdl_Impl)
+IMPL_LINK_NOARG_TYPED(SvxFontWorkDialog, SelectAdjustHdl_Impl, ToolBox *, void)
 {
     sal_uInt16 nId = m_pTbxAdjust->GetCurItemId();
 
@@ -697,10 +696,9 @@ IMPL_LINK_NOARG(SvxFontWorkDialog, SelectAdjustHdl_Impl)
         SetAdjust_Impl(&aItem);
         nLastAdjustTbxId = nId;
     }
-    return 0;
 }
 
-IMPL_LINK_NOARG(SvxFontWorkDialog, SelectShadowHdl_Impl)
+IMPL_LINK_NOARG_TYPED(SvxFontWorkDialog, SelectShadowHdl_Impl, ToolBox *, void)
 {
     sal_uInt16 nId = m_pTbxShadow->GetCurItemId();
 
@@ -737,7 +735,6 @@ IMPL_LINK_NOARG(SvxFontWorkDialog, SelectShadowHdl_Impl)
         GetBindings().GetDispatcher()->Execute( SID_FORMTEXT_SHADOW, 
SfxCallMode::RECORD, &aItem, 0L );
         SetShadow_Impl(&aItem, true);
     }
-    return 0;
 }
 
 IMPL_LINK_NOARG(SvxFontWorkDialog, ModifyInputHdl_Impl)
diff --git a/svx/source/dialog/imapdlg.cxx b/svx/source/dialog/imapdlg.cxx
index b260afa8..4c8fcdf 100644
--- a/svx/source/dialog/imapdlg.cxx
+++ b/svx/source/dialog/imapdlg.cxx
@@ -340,7 +340,7 @@ void SvxIMapDlg::KeyInput( const KeyEvent& rKEvt )
 
 // Click-handler for ToolBox
 
-IMPL_LINK( SvxIMapDlg, TbxClickHdl, ToolBox*, pTbx )
+IMPL_LINK_TYPED( SvxIMapDlg, TbxClickHdl, ToolBox*, pTbx, void )
 {
     sal_uInt16 nNewItemId = pTbx->GetCurItemId();
 
@@ -440,8 +440,6 @@ IMPL_LINK( SvxIMapDlg, TbxClickHdl, ToolBox*, pTbx )
         URLLoseFocusHdl( NULL );
         pIMapWnd->GetSdrModel()->Redo();
     }
-
-    return 0;
 }
 
 void SvxIMapDlg::DoOpen()
diff --git a/svx/source/form/datanavi.cxx b/svx/source/form/datanavi.cxx
index 33fdcba..25bd129 100644
--- a/svx/source/form/datanavi.cxx
+++ b/svx/source/form/datanavi.cxx
@@ -388,10 +388,9 @@ namespace svxform
         TabPage::dispose();
     }
 
-    IMPL_LINK_NOARG(XFormsPage, TbxSelectHdl)
+    IMPL_LINK_NOARG_TYPED(XFormsPage, TbxSelectHdl, ToolBox *, void)
     {
         DoToolBoxAction( m_pToolBox->GetCurItemId() );
-        return 0;
     }
 
     IMPL_LINK_NOARG(XFormsPage, ItemSelectHdl)
diff --git a/svx/source/gallery2/galbrws2.cxx b/svx/source/gallery2/galbrws2.cxx
index 28c6c24..7d91faf 100644
--- a/svx/source/gallery2/galbrws2.cxx
+++ b/svx/source/gallery2/galbrws2.cxx
@@ -1329,14 +1329,12 @@ IMPL_LINK_NOARG(GalleryBrowser2, SelectObjectHdl)
     return 0L;
 }
 
-IMPL_LINK( GalleryBrowser2, SelectTbxHdl, ToolBox*, pBox )
+IMPL_LINK_TYPED( GalleryBrowser2, SelectTbxHdl, ToolBox*, pBox, void )
 {
     if( pBox->GetCurItemId() == TBX_ID_ICON )
         SetMode( GALLERYBROWSERMODE_ICON );
     else if( pBox->GetCurItemId() == TBX_ID_LIST )
         SetMode( GALLERYBROWSERMODE_LIST );
-
-    return 0L;
 }
 
 IMPL_LINK_NOARG(GalleryBrowser2, MiscHdl)
diff --git a/svx/source/inc/datanavi.hxx b/svx/source/inc/datanavi.hxx
index d336a39..fb50d78 100644
--- a/svx/source/inc/datanavi.hxx
+++ b/svx/source/inc/datanavi.hxx
@@ -272,7 +272,7 @@ namespace svxform
         OUString                    m_sInstanceURL;
         bool                        m_bLinkOnce;
 
-        DECL_LINK(TbxSelectHdl, void *);
+        DECL_LINK_TYPED(TbxSelectHdl, ToolBox *, void);
         DECL_LINK(ItemSelectHdl, void *);
 
         void                        AddChildren( SvTreeListEntry* _pParent,
diff --git a/svx/source/sidebar/area/AreaPropertyPanel.cxx 
b/svx/source/sidebar/area/AreaPropertyPanel.cxx
index 82a931f..a065235 100644
--- a/svx/source/sidebar/area/AreaPropertyPanel.cxx
+++ b/svx/source/sidebar/area/AreaPropertyPanel.cxx
@@ -186,9 +186,9 @@ void AreaPropertyPanel::Initialize()
 
     const sal_uInt16 nIdGradient = 
mpBTNGradient->GetItemId(UNO_SIDEBARGRADIENT);
     mpBTNGradient->SetItemBits( nIdGradient, mpBTNGradient->GetItemBits( 
nIdGradient ) | ToolBoxItemBits::DROPDOWNONLY );
-    aLink = LINK( this, AreaPropertyPanel, ClickTrGrHdl_Impl );
-    mpBTNGradient->SetDropdownClickHdl( aLink );
-    mpBTNGradient->SetSelectHdl( aLink );
+    Link<ToolBox *, void> aLink2 = LINK( this, AreaPropertyPanel, 
ClickTrGrHdl_Impl );
+    mpBTNGradient->SetDropdownClickHdl( aLink2 );
+    mpBTNGradient->SetSelectHdl( aLink2 );
     mpBTNGradient->SetItemImage(nIdGradient,maImgLinear);
     mpBTNGradient->Hide();
 
@@ -1098,13 +1098,11 @@ void AreaPropertyPanel::Update()
 
 
 
-IMPL_LINK( AreaPropertyPanel, ClickTrGrHdl_Impl, ToolBox*, pToolBox )
+IMPL_LINK_TYPED( AreaPropertyPanel, ClickTrGrHdl_Impl, ToolBox*, pToolBox, 
void )
 {
     maTrGrPopup.Rearrange(mpFloatTransparenceItem.get());
     OSL_ASSERT( pToolBox->GetItemCommand(pToolBox->GetCurItemId()) == 
UNO_SIDEBARGRADIENT);
     maTrGrPopup.Show(*pToolBox);
-
-    return 0L;
 }
 
 
diff --git a/svx/source/sidebar/area/AreaPropertyPanel.hxx 
b/svx/source/sidebar/area/AreaPropertyPanel.hxx
index bf89ae3..a52250e 100644
--- a/svx/source/sidebar/area/AreaPropertyPanel.hxx
+++ b/svx/source/sidebar/area/AreaPropertyPanel.hxx
@@ -154,7 +154,7 @@ private:
 
     // for transparency gradient
     VclPtr<PopupControl> CreateTransparencyGradientControl (PopupContainer* 
pParent);
-    DECL_LINK( ClickTrGrHdl_Impl, ToolBox* );
+    DECL_LINK_TYPED( ClickTrGrHdl_Impl, ToolBox*, void );
 
     static void SetupIcons();
     void Initialize();
diff --git a/svx/source/sidebar/area/AreaTransparencyGradientControl.cxx 
b/svx/source/sidebar/area/AreaTransparencyGradientControl.cxx
index 097b01c..3bfa9c0 100644
--- a/svx/source/sidebar/area/AreaTransparencyGradientControl.cxx
+++ b/svx/source/sidebar/area/AreaTransparencyGradientControl.cxx
@@ -82,10 +82,8 @@ 
AreaTransparencyGradientControl::AreaTransparencyGradientControl (
     maMtrTrgrBorder->SetModifyHdl( aLink );
     maMtrTrgrStartValue->SetModifyHdl( aLink );
     maMtrTrgrEndValue->SetModifyHdl( aLink );
-    aLink = LINK( this, AreaTransparencyGradientControl, Left_Click45_Impl);
-    maBtnLeft45->SetSelectHdl( aLink );
-    aLink = LINK( this, AreaTransparencyGradientControl, Right_Click45_Impl);
-    maBtnRight45->SetSelectHdl( aLink );
+    maBtnLeft45->SetSelectHdl( LINK( this, AreaTransparencyGradientControl, 
Left_Click45_Impl) );
+    maBtnRight45->SetSelectHdl( LINK( this, AreaTransparencyGradientControl, 
Right_Click45_Impl) );
     maBtnLeft45->SetItemImage(1,maRotLeft);
     Size aTbxSize = maBtnLeft45->CalcWindowSizePixel();
     maBtnLeft45->SetOutputSizePixel( aTbxSize );
@@ -319,7 +317,7 @@ IMPL_LINK_NOARG(AreaTransparencyGradientControl, 
ModifiedTrgrHdl_Impl)
 
 
 
-IMPL_LINK_NOARG(AreaTransparencyGradientControl, Left_Click45_Impl)
+IMPL_LINK_NOARG_TYPED(AreaTransparencyGradientControl, Left_Click45_Impl, 
ToolBox *, void)
 {
     sal_uInt8 nStartCol = 
(sal_uInt8)(((sal_uInt16)maMtrTrgrStartValue->GetValue() * 255) / 100);
     sal_uInt8 nEndCol = (sal_uInt8)(((sal_uInt16)maMtrTrgrEndValue->GetValue() 
* 255) / 100);
@@ -329,13 +327,12 @@ IMPL_LINK_NOARG(AreaTransparencyGradientControl, 
Left_Click45_Impl)
     aTemp += 45;
     maMtrTrgrAngle->SetValue(aTemp);
     ExecuteValueModify( nStartCol, nEndCol );
-    return 0L;
 }
 
 
 
 
-IMPL_LINK_NOARG(AreaTransparencyGradientControl, Right_Click45_Impl)
+IMPL_LINK_NOARG_TYPED(AreaTransparencyGradientControl, Right_Click45_Impl, 
ToolBox *, void)
 {
     sal_uInt8 nStartCol = 
(sal_uInt8)(((sal_uInt16)maMtrTrgrStartValue->GetValue() * 255) / 100);
     sal_uInt8 nEndCol = (sal_uInt8)(((sal_uInt16)maMtrTrgrEndValue->GetValue() 
* 255) / 100);
@@ -345,7 +342,6 @@ IMPL_LINK_NOARG(AreaTransparencyGradientControl, 
Right_Click45_Impl)
     aTemp -= 45;
     maMtrTrgrAngle->SetValue(aTemp);
     ExecuteValueModify( nStartCol, nEndCol );
-    return 0L;
 }
 
 } } // end of namespace svx::sidebar
diff --git a/svx/source/sidebar/area/AreaTransparencyGradientControl.hxx 
b/svx/source/sidebar/area/AreaTransparencyGradientControl.hxx
index eb8cfc3..b408123 100644
--- a/svx/source/sidebar/area/AreaTransparencyGradientControl.hxx
+++ b/svx/source/sidebar/area/AreaTransparencyGradientControl.hxx
@@ -70,8 +70,8 @@ private:
     AreaPropertyPanel& mrAreaPropertyPanel;
     SfxBindings*        mpBindings;
     DECL_LINK( ModifiedTrgrHdl_Impl, void* );
-    DECL_LINK( Left_Click45_Impl, void* );
-    DECL_LINK( Right_Click45_Impl, void* );
+    DECL_LINK_TYPED( Left_Click45_Impl, ToolBox*, void );
+    DECL_LINK_TYPED( Right_Click45_Impl, ToolBox*, void );
 };
 
 
diff --git a/svx/source/sidebar/line/LinePropertyPanel.cxx 
b/svx/source/sidebar/line/LinePropertyPanel.cxx
index d63d352..1897d3f 100644
--- a/svx/source/sidebar/line/LinePropertyPanel.cxx
+++ b/svx/source/sidebar/line/LinePropertyPanel.cxx
@@ -251,9 +251,9 @@ void LinePropertyPanel::Initialize()
     const sal_uInt16 nIdWidth = mpTBWidth->GetItemId(UNO_SELECTWIDTH);
     mpTBWidth->SetItemImage(nIdWidth, mpIMGWidthIcon[0]);
     mpTBWidth->SetItemBits( nIdWidth, mpTBWidth->GetItemBits( nIdWidth ) | 
ToolBoxItemBits::DROPDOWNONLY );
-    aLink = LINK(this, LinePropertyPanel, ToolboxWidthSelectHdl);
-    mpTBWidth->SetDropdownClickHdl ( aLink );
-    mpTBWidth->SetSelectHdl ( aLink );
+    Link<ToolBox *, void> aLink2 = LINK(this, LinePropertyPanel, 
ToolboxWidthSelectHdl);
+    mpTBWidth->SetDropdownClickHdl ( aLink2 );
+    mpTBWidth->SetSelectHdl ( aLink2 );
 
     FillLineEndList();
     SelectEndStyle(true);
@@ -762,14 +762,13 @@ IMPL_LINK(LinePropertyPanel, ChangeCapStyleHdl, void*, 
EMPTYARG)
     return 0;
 }
 
-IMPL_LINK(LinePropertyPanel, ToolboxWidthSelectHdl,ToolBox*, pToolBox)
+IMPL_LINK_TYPED(LinePropertyPanel, ToolboxWidthSelectHdl,ToolBox*, pToolBox, 
void)
 {
     if (pToolBox->GetItemCommand(pToolBox->GetCurItemId()) == UNO_SELECTWIDTH)
     {
         maLineWidthPopup.SetWidthSelect(mnWidthCoreValue, mbWidthValuable, 
meMapUnit);
         maLineWidthPopup.Show(*pToolBox);
     }
-    return 0;
 }
 
 IMPL_LINK( LinePropertyPanel, ChangeTransparentHdl, void *, EMPTYARG )
diff --git a/svx/source/sidebar/line/LinePropertyPanel.hxx 
b/svx/source/sidebar/line/LinePropertyPanel.hxx
index 33a9b76..8738de4 100644
--- a/svx/source/sidebar/line/LinePropertyPanel.hxx
+++ b/svx/source/sidebar/line/LinePropertyPanel.hxx
@@ -154,7 +154,7 @@ private:
 
     DECL_LINK(ImplWidthPopupModeEndHdl, FloatingWindow* );
     DECL_LINK(ChangeLineStyleHdl, void*);
-    DECL_LINK(ToolboxWidthSelectHdl, ToolBox*);
+    DECL_LINK_TYPED(ToolboxWidthSelectHdl, ToolBox*, void);
     DECL_LINK(ChangeTransparentHdl , void *);
     DECL_LINK(ChangeStartHdl, void *);
     DECL_LINK(ChangeEndHdl, void *);
diff --git a/svx/source/sidebar/paragraph/ParaPropertyPanel.cxx 
b/svx/source/sidebar/paragraph/ParaPropertyPanel.cxx
index e696681..2604ea2 100644
--- a/svx/source/sidebar/paragraph/ParaPropertyPanel.cxx
+++ b/svx/source/sidebar/paragraph/ParaPropertyPanel.cxx
@@ -215,8 +215,7 @@ void ParaPropertyPanel::InitToolBoxIndent()
     mpTbxIndent_IncDec->SetItemImage(nIdDecrement, 
maDecIndentControl.GetIcon());
     mpTbxIndent_IncDec->SetItemImage(nIdHanging, maIndHang);
 
-    aLink = LINK( this, ParaPropertyPanel, ClickIndent_IncDec_Hdl_Impl );
-    mpTbxIndent_IncDec->SetSelectHdl(aLink);
+    mpTbxIndent_IncDec->SetSelectHdl(LINK( this, ParaPropertyPanel, 
ClickIndent_IncDec_Hdl_Impl ));
     m_eLRSpaceUnit = maLRSpaceControl.GetCoreMetric();
 
     const sal_uInt16 nIdPromote  = mpTbxProDemote->GetItemId(UNO_PROMOTE);
@@ -225,8 +224,7 @@ void ParaPropertyPanel::InitToolBoxIndent()
     mpTbxProDemote->SetItemImage(nIdPromote, maOutLineLeftControl.GetIcon());
     mpTbxProDemote->SetItemImage(nIdDemote, maOutLineRightControl.GetIcon());
     mpTbxProDemote->SetItemImage(nIdHanging2, maIndHang);
-    aLink = LINK( this, ParaPropertyPanel, ClickProDemote_Hdl_Impl );
-    mpTbxProDemote->SetSelectHdl(aLink);
+    mpTbxProDemote->SetSelectHdl(LINK( this, ParaPropertyPanel, 
ClickProDemote_Hdl_Impl ));
     m_eLRSpaceUnit = maLRSpaceControl.GetCoreMetric();
 }
 
@@ -261,7 +259,7 @@ IMPL_LINK_NOARG( ParaPropertyPanel, ModifyIndentHdl_Impl)
     return 0;
 }
 
-IMPL_LINK(ParaPropertyPanel, ClickIndent_IncDec_Hdl_Impl, ToolBox *, pControl)
+IMPL_LINK_TYPED(ParaPropertyPanel, ClickIndent_IncDec_Hdl_Impl, ToolBox *, 
pControl, void)
 {
     const OUString 
aCommand(pControl->GetItemCommand(pControl->GetCurItemId()));
 
@@ -338,11 +336,9 @@ IMPL_LINK(ParaPropertyPanel, ClickIndent_IncDec_Hdl_Impl, 
ToolBox *, pControl)
             GetBindings()->GetDispatcher()->Execute(
                 SID_ATTR_PARA_LRSPACE, SfxCallMode::RECORD, &aMargin, 0L);
         }
-
-    return 0L;
 }
 
-IMPL_LINK(ParaPropertyPanel, ClickProDemote_Hdl_Impl, ToolBox *, pControl)
+IMPL_LINK_TYPED(ParaPropertyPanel, ClickProDemote_Hdl_Impl, ToolBox *, 
pControl, void)
 {
     const OUString 
aCommand(pControl->GetItemCommand(pControl->GetCurItemId()));
 
@@ -363,8 +359,6 @@ IMPL_LINK(ParaPropertyPanel, ClickProDemote_Hdl_Impl, 
ToolBox *, pControl)
 
             GetBindings()->GetDispatcher()->Execute( SID_ATTR_PARA_LRSPACE, 
SfxCallMode::RECORD, &aMargin, 0L);
         }
-
-    return 0L;
 }
 
 // for Paragraph Spacing
diff --git a/svx/source/sidebar/paragraph/ParaPropertyPanel.hxx 
b/svx/source/sidebar/paragraph/ParaPropertyPanel.hxx
index 3d88a1e..5832847 100644
--- a/svx/source/sidebar/paragraph/ParaPropertyPanel.hxx
+++ b/svx/source/sidebar/paragraph/ParaPropertyPanel.hxx
@@ -118,8 +118,8 @@ private:
     css::uno::Reference<css::ui::XSidebar> mxSidebar;
 
     DECL_LINK(ModifyIndentHdl_Impl, void*);
-    DECL_LINK(ClickIndent_IncDec_Hdl_Impl, ToolBox*);
-    DECL_LINK(ClickProDemote_Hdl_Impl, ToolBox*);
+    DECL_LINK_TYPED(ClickIndent_IncDec_Hdl_Impl, ToolBox*, void);
+    DECL_LINK_TYPED(ClickProDemote_Hdl_Impl, ToolBox*, void);
     DECL_LINK(ULSpaceHdl_Impl, void*);
 
     void StateChangedIndentImpl( sal_uInt16 nSID, SfxItemState eState, const 
SfxPoolItem* pState );
diff --git a/svx/source/sidebar/possize/PosSizePropertyPanel.cxx 
b/svx/source/sidebar/possize/PosSizePropertyPanel.cxx
index 1c459d4..d0495b6 100644
--- a/svx/source/sidebar/possize/PosSizePropertyPanel.cxx
+++ b/svx/source/sidebar/possize/PosSizePropertyPanel.cxx
@@ -574,7 +574,7 @@ IMPL_LINK( PosSizePropertyPanel, RotationHdl, void *, 
EMPTYARG )
 
 
 
-IMPL_LINK( PosSizePropertyPanel, FlipHdl, ToolBox*, pBox )
+IMPL_LINK_TYPED( PosSizePropertyPanel, FlipHdl, ToolBox*, pBox, void )
 {
     const OUString aCommand(pBox->GetItemCommand(pBox->GetCurItemId()));
 
@@ -590,8 +590,6 @@ IMPL_LINK( PosSizePropertyPanel, FlipHdl, ToolBox*, pBox )
         GetBindings()->GetDispatcher()->Execute(
                 SID_FLIP_VERTICAL, SfxCallMode::RECORD, &aVertItem, 0L );
     }
-
-    return 0;
 }
 
 
diff --git a/svx/source/sidebar/possize/PosSizePropertyPanel.hxx 
b/svx/source/sidebar/possize/PosSizePropertyPanel.hxx
index 1225ce0..3c61c4b 100644
--- a/svx/source/sidebar/possize/PosSizePropertyPanel.hxx
+++ b/svx/source/sidebar/possize/PosSizePropertyPanel.hxx
@@ -156,7 +156,7 @@ private:
     DECL_LINK( ClickAutoHdl, void * );
     DECL_LINK( AngleModifiedHdl, void * );
     DECL_LINK( RotationHdl, void * );
-    DECL_LINK( FlipHdl, ToolBox * );
+    DECL_LINK_TYPED( FlipHdl, ToolBox *, void );
 
     static void SetupIcons();
     void Initialize();
diff --git a/svx/source/sidebar/text/TextPropertyPanel.cxx 
b/svx/source/sidebar/text/TextPropertyPanel.cxx
index 484e5fd..5e4f48a 100644
--- a/svx/source/sidebar/text/TextPropertyPanel.cxx
+++ b/svx/source/sidebar/text/TextPropertyPanel.cxx
@@ -196,7 +196,7 @@ void TextPropertyPanel::EndUnderlinePopupMode()
 
 void TextPropertyPanel::InitToolBoxFont()
 {
-    Link<> aLink = LINK(this, TextPropertyPanel, UnderlineClickHdl);
+    Link<ToolBox *, void> aLink = LINK(this, TextPropertyPanel, 
UnderlineClickHdl);
     mpToolBoxFont->SetDropdownClickHdl(aLink);
 }
 
@@ -205,7 +205,7 @@ void TextPropertyPanel::InitToolBoxSpacing()
     const sal_uInt16 nId = mpToolBoxSpacing->GetItemId(UNO_SPACING);
     mpToolBoxSpacing->SetItemBits(nId, mpToolBoxSpacing->GetItemBits(nId) | 
ToolBoxItemBits::DROPDOWNONLY);
 
-    Link<> aLink = LINK(this, TextPropertyPanel, SpacingClickHdl);
+    Link<ToolBox *, void> aLink = LINK(this, TextPropertyPanel, 
SpacingClickHdl);
     mpToolBoxSpacing->SetDropdownClickHdl ( aLink );
     mpToolBoxSpacing->SetSelectHdl( aLink );
 }
@@ -216,7 +216,7 @@ void TextPropertyPanel::SetupToolboxItems()
     maSpacingControl.SetupToolBoxItem(*mpToolBoxSpacing, 
mpToolBoxSpacing->GetItemId(UNO_SPACING));
 }
 
-IMPL_LINK(TextPropertyPanel, UnderlineClickHdl, ToolBox*, pToolBox)
+IMPL_LINK_TYPED(TextPropertyPanel, UnderlineClickHdl, ToolBox*, pToolBox, void)
 {
     const sal_uInt16 nId = pToolBox->GetCurItemId();
     const OUString aCommand(pToolBox->GetItemCommand(nId));
@@ -227,11 +227,9 @@ IMPL_LINK(TextPropertyPanel, UnderlineClickHdl, ToolBox*, 
pToolBox)
         maUnderlinePopup.Rearrange(meUnderline);
         maUnderlinePopup.Show(*pToolBox);
     }
-
-    return 0L;
 }
 
-IMPL_LINK(TextPropertyPanel, SpacingClickHdl, ToolBox*, pToolBox)
+IMPL_LINK_TYPED(TextPropertyPanel, SpacingClickHdl, ToolBox*, pToolBox, void)
 {
     const sal_uInt16 nId = pToolBox->GetCurItemId();
     const OUString aCommand(pToolBox->GetItemCommand(nId));
@@ -242,8 +240,6 @@ IMPL_LINK(TextPropertyPanel, SpacingClickHdl, ToolBox*, 
pToolBox)
         
maCharSpacePopup.Rearrange(mbKernLBAvailable,mbKernAvailable,mlKerning);
         maCharSpacePopup.Show(*pToolBox);
     }
-
-    return 0L;
 }
 
 void TextPropertyPanel::NotifyItemUpdate (
diff --git a/svx/source/sidebar/text/TextPropertyPanel.hxx 
b/svx/source/sidebar/text/TextPropertyPanel.hxx
index c646fdb..7ea19a6 100644
--- a/svx/source/sidebar/text/TextPropertyPanel.hxx
+++ b/svx/source/sidebar/text/TextPropertyPanel.hxx
@@ -108,8 +108,8 @@ private:
 
     VclPtr<PopupControl> CreateCharacterSpacingControl (PopupContainer* 
pParent);
     VclPtr<PopupControl> CreateUnderlinePopupControl (PopupContainer* pParent);
-    DECL_LINK(SpacingClickHdl, ToolBox*);
-    DECL_LINK(UnderlineClickHdl, ToolBox* );
+    DECL_LINK_TYPED(SpacingClickHdl, ToolBox*, void);
+    DECL_LINK_TYPED(UnderlineClickHdl, ToolBox*, void);
 
     void SetupToolboxItems();
     void InitToolBoxFont();
diff --git a/sw/source/ui/envelp/envprt.cxx b/sw/source/ui/envelp/envprt.cxx
index 10b3a0d3..2b4379d 100644
--- a/sw/source/ui/envelp/envprt.cxx
+++ b/sw/source/ui/envelp/envprt.cxx
@@ -127,7 +127,7 @@ IMPL_LINK( SwEnvPrtPage, ButtonHdl, Button *, pBtn )
     return 0;
 }
 
-IMPL_LINK_NOARG(SwEnvPrtPage, AlignHdl)
+IMPL_LINK_NOARG_TYPED(SwEnvPrtPage, AlignHdl, ToolBox *, void)
 {
     if (m_pAlignBox->GetCurItemId())
     {
@@ -141,7 +141,6 @@ IMPL_LINK_NOARG(SwEnvPrtPage, AlignHdl)
         const SwEnvItem& rItem = static_cast<const SwEnvItem&>( 
GetItemSet().Get(FN_ENVELOP) );
         m_pAlignBox->CheckItem(m_aIds[rItem.eAlign], true);
     }
-    return 0;
 }
 
 VclPtr<SfxTabPage> SwEnvPrtPage::Create(vcl::Window* pParent, const 
SfxItemSet* rSet)
diff --git a/sw/source/ui/envelp/envprt.hxx b/sw/source/ui/envelp/envprt.hxx
index a71c96b..33c5530 100644
--- a/sw/source/ui/envelp/envprt.hxx
+++ b/sw/source/ui/envelp/envprt.hxx
@@ -48,7 +48,7 @@ class SwEnvPrtPage : public SfxTabPage
     VclPtr<Printer>     pPrt;
 
     DECL_LINK(ClickHdl, void *);
-    DECL_LINK(AlignHdl, void *);
+    DECL_LINK_TYPED(AlignHdl, ToolBox *, void);
     DECL_LINK( ButtonHdl, Button * );
 
     SwEnvDlg* GetParentSwEnvDlg() {return static_cast<SwEnvDlg*>( 
GetParentDialog());}
diff --git a/sw/source/ui/fldui/fldvar.cxx b/sw/source/ui/fldui/fldvar.cxx
index f4b783c..06774c8 100644
--- a/sw/source/ui/fldui/fldvar.cxx
+++ b/sw/source/ui/fldui/fldvar.cxx
@@ -954,7 +954,7 @@ IMPL_LINK_NOARG(SwFldVarPage, ModifyHdl)
     return 0;
 }
 
-IMPL_LINK( SwFldVarPage, TBClickHdl, ToolBox *, pBox )
+IMPL_LINK_TYPED( SwFldVarPage, TBClickHdl, ToolBox *, pBox, void )
 {
     const sal_uInt16 nTypeId = 
(sal_uInt16)reinterpret_cast<sal_uLong>(m_pTypeLB->GetEntryData(GetTypeSel()));
 
@@ -1096,8 +1096,6 @@ IMPL_LINK( SwFldVarPage, TBClickHdl, ToolBox *, pBox )
 
         UpdateSubType();
     }
-
-    return sal_True;
 }
 
 IMPL_LINK_NOARG(SwFldVarPage, ChapterHdl)
diff --git a/sw/source/ui/fldui/fldvar.hxx b/sw/source/ui/fldui/fldvar.hxx
index a37aa58..a7bf3f0 100644
--- a/sw/source/ui/fldui/fldvar.hxx
+++ b/sw/source/ui/fldui/fldvar.hxx
@@ -79,7 +79,7 @@ class SwFldVarPage : public SwFldPage
     DECL_LINK(TypeHdl, void *);
     DECL_LINK( SubTypeHdl, ListBox* pLB = 0 );
     DECL_LINK(ModifyHdl, void * = 0);
-    DECL_LINK( TBClickHdl, ToolBox *pTB = 0);
+    DECL_LINK_TYPED( TBClickHdl, ToolBox *, void );
     DECL_LINK(ChapterHdl, void * = 0);
     DECL_LINK(SeparatorHdl, void * = 0);
 
diff --git a/sw/source/uibase/dbui/mailmergechildwindow.cxx 
b/sw/source/uibase/dbui/mailmergechildwindow.cxx
index ad16a82..1a76bbb 100644
--- a/sw/source/uibase/dbui/mailmergechildwindow.cxx
+++ b/sw/source/uibase/dbui/mailmergechildwindow.cxx
@@ -84,10 +84,9 @@ void SwMailMergeChildWin::dispose()
     SfxFloatingWindow::dispose();
 }
 
-IMPL_LINK_NOARG(SwMailMergeChildWin, BackHdl)
+IMPL_LINK_NOARG_TYPED(SwMailMergeChildWin, BackHdl, ToolBox *, void)
 {
     GetBindings().GetDispatcher()->Execute(FN_MAILMERGE_WIZARD, 
SfxCallMode::ASYNCHRON);
-    return 0;
 }
 
 void SwMailMergeChildWin::FillInfo(SfxChildWinInfo& rInfo) const
diff --git a/sw/source/uibase/inc/inputwin.hxx 
b/sw/source/uibase/inc/inputwin.hxx
index fdb4a6f4..6a1edfc 100644
--- a/sw/source/uibase/inc/inputwin.hxx
+++ b/sw/source/uibase/inc/inputwin.hxx
@@ -75,7 +75,7 @@ protected:
     virtual void    Resize() SAL_OVERRIDE;
     virtual void    Click() SAL_OVERRIDE;
     DECL_LINK( MenuHdl, Menu * );
-    DECL_LINK( DropdownClickHdl, void* );
+    DECL_LINK_TYPED( DropdownClickHdl, ToolBox*, void );
     void            ApplyFormula();
     void            CancelFormula();
 
diff --git a/sw/source/uibase/inc/mailmergechildwindow.hxx 
b/sw/source/uibase/inc/mailmergechildwindow.hxx
index 742cb32..ade2a24 100644
--- a/sw/source/uibase/inc/mailmergechildwindow.hxx
+++ b/sw/source/uibase/inc/mailmergechildwindow.hxx
@@ -26,7 +26,7 @@
 class SwMailMergeChildWin : public SfxFloatingWindow
 {
     VclPtr<ToolBox> m_pBackTB;
-    DECL_LINK( BackHdl, void* );
+    DECL_LINK_TYPED( BackHdl, ToolBox*, void );
 
 public:
     SwMailMergeChildWin(SfxBindings*, SfxChildWindow*, vcl::Window *pParent);
diff --git a/sw/source/uibase/inc/navipi.hxx b/sw/source/uibase/inc/navipi.hxx
index c24e446..885a423 100644
--- a/sw/source/uibase/inc/navipi.hxx
+++ b/sw/source/uibase/inc/navipi.hxx
@@ -101,9 +101,9 @@ class SwNavigationPI : public vcl::Window,
     void MakeMark();
 
     DECL_LINK( DocListBoxSelectHdl, ListBox * );
-    DECL_LINK( ToolBoxSelectHdl, ToolBox * );
-    DECL_LINK( ToolBoxClickHdl, ToolBox * );
-    DECL_LINK( ToolBoxDropdownClickHdl, ToolBox* );
+    DECL_LINK_TYPED( ToolBoxSelectHdl, ToolBox *, void );
+    DECL_LINK_TYPED( ToolBoxClickHdl, ToolBox *, void );
+    DECL_LINK_TYPED( ToolBoxDropdownClickHdl, ToolBox*, void );
     DECL_LINK( EditAction, NumEditAction * );
     DECL_LINK( EditGetFocus, NumEditAction * );
     DECL_LINK( DoneLink, SfxPoolItem * );
diff --git a/sw/source/uibase/inc/workctrl.hxx 
b/sw/source/uibase/inc/workctrl.hxx
index 85c4528..65ea2c8 100644
--- a/sw/source/uibase/inc/workctrl.hxx
+++ b/sw/source/uibase/inc/workctrl.hxx
@@ -142,7 +142,7 @@ class SwScrollNaviPopup : public SfxPopupWindow
     using Window::GetQuickHelpText;
 
 protected:
-        DECL_LINK(SelectHdl, ToolBox*);
+        DECL_LINK_TYPED(SelectHdl, ToolBox*, void);
         virtual void        DataChanged( const DataChangedEvent& rDCEvt ) 
SAL_OVERRIDE;
 
 public:
diff --git a/sw/source/uibase/ribbar/inputwin.cxx 
b/sw/source/uibase/ribbar/inputwin.cxx
index c20543c..77fd2c3 100644
--- a/sw/source/uibase/ribbar/inputwin.cxx
+++ b/sw/source/uibase/ribbar/inputwin.cxx
@@ -340,7 +340,7 @@ static const char * const aStrArr[] = {
     return 0;
 }
 
-IMPL_LINK_NOARG(SwInputWindow, DropdownClickHdl)
+IMPL_LINK_NOARG_TYPED(SwInputWindow, DropdownClickHdl, ToolBox *, void)
 {
     sal_uInt16 nCurID = GetCurItemId();
     EndSelection(); // reset back CurItemId !
@@ -354,8 +354,6 @@ IMPL_LINK_NOARG(SwInputWindow, DropdownClickHdl)
             break;
         }
     }
-
-    return sal_True;
 }
 
 void SwInputWindow::Click( )
diff --git a/sw/source/uibase/ribbar/workctrl.cxx 
b/sw/source/uibase/ribbar/workctrl.cxx
index 9bae528..18d6342 100644
--- a/sw/source/uibase/ribbar/workctrl.cxx
+++ b/sw/source/uibase/ribbar/workctrl.cxx
@@ -482,7 +482,7 @@ VclPtr<SfxPopupWindow> SwScrollNaviPopup::Clone() const
     return VclPtr<SwScrollNaviPopup>::Create( GetId(), GetFrame(), GetParent() 
);
 }
 
-IMPL_LINK(SwScrollNaviPopup, SelectHdl, ToolBox*, pSet)
+IMPL_LINK_TYPED(SwScrollNaviPopup, SelectHdl, ToolBox*, pSet, void)
 {
     sal_uInt16 nSet = pSet->GetCurItemId();
     if( nSet != NID_PREV && nSet != NID_NEXT )
@@ -507,7 +507,6 @@ IMPL_LINK(SwScrollNaviPopup, SelectHdl, ToolBox*, pSet)
         SfxToolBoxControl::Dispatch( Reference< XDispatchProvider >( 
GetFrame()->getController(), UNO_QUERY ),
                                      cmd, aArgs );
     }
-    return 0;
 }
 
 SwScrollNaviToolBox::~SwScrollNaviToolBox()
diff --git a/sw/source/uibase/sidebar/PagePropertyPanel.cxx 
b/sw/source/uibase/sidebar/PagePropertyPanel.cxx
index a4b11c9..73bf32b 100644
--- a/sw/source/uibase/sidebar/PagePropertyPanel.cxx
+++ b/sw/source/uibase/sidebar/PagePropertyPanel.cxx
@@ -237,7 +237,7 @@ void PagePropertyPanel::Initialize()
 {
     // popup for page orientation
     const sal_uInt16 nIdOrientation = 
mpToolBoxOrientation->GetItemId(UNO_ORIENTATION);
-    Link<> aLink = LINK( this, PagePropertyPanel, ClickOrientationHdl );
+    Link<ToolBox *, void> aLink = LINK( this, PagePropertyPanel, 
ClickOrientationHdl );
     mpToolBoxOrientation->SetDropdownClickHdl( aLink );
     mpToolBoxOrientation->SetSelectHdl( aLink );
     mpToolBoxOrientation->SetItemImage( nIdOrientation, mImgPortrait);
@@ -300,11 +300,9 @@ VclPtr< svx::sidebar::PopupControl> 
PagePropertyPanel::CreatePageOrientationCont
     return VclPtr<PageOrientationControl>::Create( pParent, *this , 
mpPageItem->IsLandscape() );
 }
 
-IMPL_LINK( PagePropertyPanel, ClickOrientationHdl, ToolBox*, pToolBox )
+IMPL_LINK_TYPED( PagePropertyPanel, ClickOrientationHdl, ToolBox*, pToolBox, 
void )
 {
     maOrientationPopup.Show( *pToolBox );
-
-    return 0L;
 }
 
 void PagePropertyPanel::ExecuteOrientationChange( const bool bLandscape )
@@ -411,11 +409,9 @@ void PagePropertyPanel::ExecutePageLayoutChange( const 
bool bMirrored )
     GetBindings()->GetDispatcher()->Execute( SID_ATTR_PAGE, 
SfxCallMode::RECORD, mpPageItem.get(),  0L );
 }
 
-IMPL_LINK( PagePropertyPanel, ClickMarginHdl, ToolBox*, pToolBox )
+IMPL_LINK_TYPED( PagePropertyPanel, ClickMarginHdl, ToolBox*, pToolBox, void )
 {
     maMarginPopup.Show( *pToolBox );
-
-    return 0L;
 }
 
 void PagePropertyPanel::ClosePageMarginPopup()
@@ -446,11 +442,9 @@ void PagePropertyPanel::ExecuteSizeChange( const Paper 
ePaper )
     mpBindings->GetDispatcher()->Execute(SID_ATTR_PAGE_SIZE, 
SfxCallMode::RECORD, mpPageSizeItem.get(),  0L );
 }
 
-IMPL_LINK( PagePropertyPanel, ClickSizeHdl, ToolBox*, pToolBox )
+IMPL_LINK_TYPED( PagePropertyPanel, ClickSizeHdl, ToolBox*, pToolBox, void )
 {
     maSizePopup.Show( *pToolBox );
-
-    return 0L;
 }
 
 void PagePropertyPanel::ClosePageSizePopup()
@@ -474,11 +468,9 @@ void PagePropertyPanel::ExecuteColumnChange( const 
sal_uInt16 nColumnType )
     mpBindings->GetDispatcher()->Execute(SID_ATTR_PAGE_COLUMN, 
SfxCallMode::RECORD, mpPageColumnTypeItem.get(),  0L );
 }
 
-IMPL_LINK( PagePropertyPanel, ClickColumnHdl, ToolBox*, pToolBox )
+IMPL_LINK_TYPED( PagePropertyPanel, ClickColumnHdl, ToolBox*, pToolBox, void )
 {
     maColumnPopup.Show( *pToolBox );
-
-    return 0L;
 }
 
 void PagePropertyPanel::ClosePageColumnPopup()
diff --git a/sw/source/uibase/sidebar/PagePropertyPanel.hxx 
b/sw/source/uibase/sidebar/PagePropertyPanel.hxx
index 8172136..7951a01 100644
--- a/sw/source/uibase/sidebar/PagePropertyPanel.hxx
+++ b/sw/source/uibase/sidebar/PagePropertyPanel.hxx
@@ -200,10 +200,10 @@ namespace sw { namespace sidebar {
         bool mbInvalidateSIDAttrPageOnSIDAttrPageSizeNotify;
 
         // handler for popup toolboxes to show the popups
-        DECL_LINK(ClickOrientationHdl, ToolBox* );
-        DECL_LINK(ClickMarginHdl, ToolBox* );
-        DECL_LINK(ClickSizeHdl, ToolBox* );
-        DECL_LINK(ClickColumnHdl, ToolBox* );
+        DECL_LINK_TYPED(ClickOrientationHdl, ToolBox*, void);
+        DECL_LINK_TYPED(ClickMarginHdl, ToolBox*, void);
+        DECL_LINK_TYPED(ClickSizeHdl, ToolBox*, void);
+        DECL_LINK_TYPED(ClickColumnHdl, ToolBox*, void);
 
         void Initialize();
 
diff --git a/sw/source/uibase/utlui/navipi.cxx 
b/sw/source/uibase/utlui/navipi.cxx
index 1c99755..5a351fa 100644
--- a/sw/source/uibase/utlui/navipi.cxx
+++ b/sw/source/uibase/utlui/navipi.cxx
@@ -196,12 +196,12 @@ void SwNavigationPI::UsePage(SwWrtShell *pSh)
 
 // Select handler of the toolboxes
 
-IMPL_LINK( SwNavigationPI, ToolBoxSelectHdl, ToolBox *, pBox )
+IMPL_LINK_TYPED( SwNavigationPI, ToolBoxSelectHdl, ToolBox *, pBox, void )
 {
     const sal_uInt16 nCurrItemId = pBox->GetCurItemId();
     SwView *pView = GetCreateView();
     if (!pView)
-        return 1;
+        return;
     SwWrtShell &rSh = pView->GetWrtShell();
     // Get MouseModifier for Outline-Move
 
@@ -238,7 +238,7 @@ IMPL_LINK( SwNavigationPI, ToolBoxSelectHdl, ToolBox *, 
pBox )
                     _ZoomIn();
                 }
             }
-            return sal_True;
+            return;
         // Functions that will trigger a direct action.
 
         case FN_SELECT_FOOTER:
@@ -330,12 +330,11 @@ IMPL_LINK( SwNavigationPI, ToolBoxSelectHdl, ToolBox *, 
pBox )
     }
     if(bFocusToDoc)
         pView->GetEditWin().GrabFocus();
-    return sal_True;
 }
 
 // Click handler of the toolboxes
 
-IMPL_LINK( SwNavigationPI, ToolBoxClickHdl, ToolBox *, pBox )
+IMPL_LINK_TYPED( SwNavigationPI, ToolBoxClickHdl, ToolBox *, pBox, void )
 {
     const sal_uInt16 nCurrItemId = pBox->GetCurItemId();
     switch (nCurrItemId)
@@ -347,11 +346,9 @@ IMPL_LINK( SwNavigationPI, ToolBoxClickHdl, ToolBox *, 
pBox )
         }
         break;
     }
-
-    return sal_True;
 }
 
-IMPL_LINK( SwNavigationPI, ToolBoxDropdownClickHdl, ToolBox*, pBox )
+IMPL_LINK_TYPED( SwNavigationPI, ToolBoxDropdownClickHdl, ToolBox*, pBox, void 
)
 {
     const sal_uInt16 nCurrItemId = pBox->GetCurItemId();
     switch (nCurrItemId)

... etc. - the rest is truncated
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to