summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNoel Grandin <noel@peralex.com>2015-10-13 11:10:38 +0200
committerNoel Grandin <noel@peralex.com>2015-10-14 09:30:20 +0200
commitb4da5037e0cc2952446b2138d515e0c762172b25 (patch)
tree061c81fb860f5552ce18051d7eb86f4f5324da61
parent73ceffe5c247dcffa7653e043530e58e4eb73fdf (diff)
convert Link<> to typed
Change-Id: I1876f327607e0e23292950741df348d4ec31fde1
-rw-r--r--cui/source/dialogs/cuigaldlg.cxx9
-rw-r--r--cui/source/factory/dlgfact.cxx12
-rw-r--r--cui/source/factory/dlgfact.hxx6
-rw-r--r--cui/source/inc/cuigaldlg.hxx6
-rw-r--r--fpicker/source/office/OfficeFilePicker.cxx5
-rw-r--r--fpicker/source/office/OfficeFilePicker.hxx2
-rw-r--r--fpicker/source/office/OfficeFolderPicker.cxx7
-rw-r--r--fpicker/source/office/OfficeFolderPicker.hxx2
-rw-r--r--fpicker/source/office/iodlg.cxx2
-rw-r--r--fpicker/source/office/iodlg.hxx2
-rw-r--r--include/sfx2/tabdlg.hxx2
-rw-r--r--include/vcl/abstdlg.hxx3
-rw-r--r--include/vcl/dialog.hxx2
-rw-r--r--sc/inc/arealink.hxx3
-rw-r--r--sc/source/ui/attrdlg/scdlgfact.hxx4
-rw-r--r--sc/source/ui/docshell/arealink.cxx4
-rw-r--r--sc/source/ui/inc/cellsh.hxx2
-rw-r--r--sc/source/ui/view/cellsh1.cxx3
-rw-r--r--sfx2/source/dialog/tabdlg.cxx2
-rw-r--r--svx/source/gallery2/galbrws1.cxx10
-rw-r--r--svx/source/gallery2/galbrws1.hxx4
-rw-r--r--sw/source/ui/dbui/mailmergewizard.cxx2
-rw-r--r--sw/source/ui/dialog/swdlgfact.cxx14
-rw-r--r--sw/source/ui/dialog/swdlgfact.hxx6
-rw-r--r--sw/source/uibase/app/apphdl.cxx9
-rw-r--r--sw/source/uibase/dbui/dbui.cxx2
-rw-r--r--sw/source/uibase/inc/mailmergewizard.hxx2
-rw-r--r--vcl/source/window/dialog.cxx8
28 files changed, 60 insertions, 75 deletions
diff --git a/cui/source/dialogs/cuigaldlg.cxx b/cui/source/dialogs/cuigaldlg.cxx
index f820a620f94a..3ed9f44f0e6a 100644
--- a/cui/source/dialogs/cuigaldlg.cxx
+++ b/cui/source/dialogs/cuigaldlg.cxx
@@ -267,7 +267,7 @@ short SearchProgress::Execute()
-void SearchProgress::StartExecuteModal( const Link<>& rEndDialogHdl )
+void SearchProgress::StartExecuteModal( const Link<Dialog&,void>& rEndDialogHdl )
{
assert(!maSearchThread.is());
maSearchThread = new SearchThread(
@@ -439,7 +439,7 @@ short TakeProgress::Execute()
-void TakeProgress::StartExecuteModal( const Link<>& rEndDialogHdl )
+void TakeProgress::StartExecuteModal( const Link<Dialog&,void>& rEndDialogHdl )
{
assert(!maTakeThread.is());
maTakeThread = new TakeThread(
@@ -1079,7 +1079,7 @@ void TPGalleryThemeProperties::TakeFiles()
pTakeProgress->Update();
pTakeProgress->StartExecuteModal(
- Link<>() /* no postprocessing needed, pTakeProgress
+ Link<Dialog&,void>() /* no postprocessing needed, pTakeProgress
will be disposed in TakeProgress::CleanupHdl */ );
}
}
@@ -1224,7 +1224,7 @@ IMPL_LINK_NOARG_TYPED(TPGalleryThemeProperties, PreviewTimerHdl, Timer *, void)
-IMPL_LINK_NOARG(TPGalleryThemeProperties, EndSearchProgressHdl)
+IMPL_LINK_NOARG_TYPED(TPGalleryThemeProperties, EndSearchProgressHdl, Dialog&, void)
{
if( !aFoundList.empty() )
{
@@ -1240,7 +1240,6 @@ IMPL_LINK_NOARG(TPGalleryThemeProperties, EndSearchProgressHdl)
m_pCbxPreview->Disable();
bEntriesFound = false;
}
- return 0L;
}
diff --git a/cui/source/factory/dlgfact.cxx b/cui/source/factory/dlgfact.cxx
index 8069f073f5d2..91336b4bf68e 100644
--- a/cui/source/factory/dlgfact.cxx
+++ b/cui/source/factory/dlgfact.cxx
@@ -149,7 +149,7 @@ VclAbstractDialog2_Impl::~VclAbstractDialog2_Impl()
}
// virtual
-void VclAbstractDialog2_Impl::StartExecuteModal( const Link<>& rEndDialogHdl )
+void VclAbstractDialog2_Impl::StartExecuteModal( const Link<Dialog&,void>& rEndDialogHdl )
{
m_aEndDlgHdl = rEndDialogHdl;
m_pDlg->StartExecuteModal(
@@ -162,17 +162,15 @@ long VclAbstractDialog2_Impl::GetResult()
return m_pDlg->GetResult();
}
-IMPL_LINK( VclAbstractDialog2_Impl, EndDialogHdl, Dialog*, pDlg )
+IMPL_LINK_TYPED( VclAbstractDialog2_Impl, EndDialogHdl, Dialog&, rDlg, void )
{
- if ( pDlg != m_pDlg )
+ if ( &rDlg != m_pDlg )
{
SAL_WARN( "cui.factory", "VclAbstractDialog2_Impl::EndDialogHdl(): wrong dialog" );
}
- m_aEndDlgHdl.Call( this );
- m_aEndDlgHdl = Link<>();
-
- return 0L;
+ m_aEndDlgHdl.Call( *m_pDlg );
+ m_aEndDlgHdl = Link<Dialog&,void>();
}
diff --git a/cui/source/factory/dlgfact.hxx b/cui/source/factory/dlgfact.hxx
index 1bb596dd21d8..39b645d1d58f 100644
--- a/cui/source/factory/dlgfact.hxx
+++ b/cui/source/factory/dlgfact.hxx
@@ -78,14 +78,14 @@ short Class::Execute() \
class VclAbstractDialog2_Impl : public VclAbstractDialog2
{
ScopedVclPtr<Dialog> m_pDlg;
- Link<> m_aEndDlgHdl;
+ Link<Dialog&,void> m_aEndDlgHdl;
public:
explicit VclAbstractDialog2_Impl( Dialog* p ) : m_pDlg( p ) {}
virtual ~VclAbstractDialog2_Impl();
- virtual void StartExecuteModal( const Link<>& rEndDialogHdl ) override;
+ virtual void StartExecuteModal( const Link<Dialog&,void>& rEndDialogHdl ) override;
virtual long GetResult() override;
private:
- DECL_LINK( EndDialogHdl, Dialog* );
+ DECL_LINK_TYPED( EndDialogHdl, Dialog&, void );
};
class CuiVclAbstractDialog_Impl : public VclAbstractDialog
diff --git a/cui/source/inc/cuigaldlg.hxx b/cui/source/inc/cuigaldlg.hxx
index 93594cab285d..b777a3632aa6 100644
--- a/cui/source/inc/cuigaldlg.hxx
+++ b/cui/source/inc/cuigaldlg.hxx
@@ -99,7 +99,7 @@ public:
DECL_LINK_TYPED( CleanUpHdl, void*, void );
virtual short Execute() override;
- virtual void StartExecuteModal( const Link<>& rEndDialogHdl ) override;
+ virtual void StartExecuteModal( const Link<Dialog&,void>& rEndDialogHdl ) override;
void SetFileType( const OUString& rType ) { m_pFtSearchType->SetText( rType ); }
void SetDirectory( const INetURLObject& rURL ) { m_pFtSearchDir->SetText( GetReducedString( rURL, 30 ) ); }
};
@@ -146,7 +146,7 @@ public:
void SetFile( const INetURLObject& rURL ) { m_pFtTakeFile->SetText( GetReducedString( rURL, 30 ) ); }
virtual short Execute() override;
- virtual void StartExecuteModal( const Link<>& rEndDialogHdl ) override;
+ virtual void StartExecuteModal( const Link<Dialog&,void>& rEndDialogHdl ) override;
};
class ActualizeProgress : public ModalDialog
@@ -286,7 +286,7 @@ class TPGalleryThemeProperties : public SfxTabPage
DECL_LINK( SelectFileTypeHdl, void* );
DECL_LINK_TYPED( DClickFoundHdl, ListBox&, void );
DECL_LINK_TYPED( PreviewTimerHdl, Timer*, void );
- DECL_LINK(EndSearchProgressHdl, void *);
+ DECL_LINK_TYPED( EndSearchProgressHdl, Dialog&, void );
DECL_LINK_TYPED( DialogClosedHdl, css::ui::dialogs::DialogClosedEvent*, void );
public:
diff --git a/fpicker/source/office/OfficeFilePicker.cxx b/fpicker/source/office/OfficeFilePicker.cxx
index a2ac1c8ff42b..7e4df5ad458c 100644
--- a/fpicker/source/office/OfficeFilePicker.cxx
+++ b/fpicker/source/office/OfficeFilePicker.cxx
@@ -217,16 +217,15 @@ void SvtFilePicker::prepareExecute()
}
-IMPL_LINK( SvtFilePicker, DialogClosedHdl, Dialog*, pDlg )
+IMPL_LINK_TYPED( SvtFilePicker, DialogClosedHdl, Dialog&, rDlg, void )
{
if ( m_xDlgClosedListener.is() )
{
- sal_Int16 nRet = static_cast< sal_Int16 >( pDlg->GetResult() );
+ sal_Int16 nRet = static_cast< sal_Int16 >( rDlg.GetResult() );
css::ui::dialogs::DialogClosedEvent aEvent( *this, nRet );
m_xDlgClosedListener->dialogClosed( aEvent );
m_xDlgClosedListener.clear();
}
- return 0;
}
diff --git a/fpicker/source/office/OfficeFilePicker.hxx b/fpicker/source/office/OfficeFilePicker.hxx
index 78032c162fa0..dbf66e20c233 100644
--- a/fpicker/source/office/OfficeFilePicker.hxx
+++ b/fpicker/source/office/OfficeFilePicker.hxx
@@ -223,7 +223,7 @@ protected:
void prepareExecute( );
- DECL_LINK( DialogClosedHdl, Dialog* );
+ DECL_LINK_TYPED( DialogClosedHdl, Dialog&, void );
};
// SvtRemoteFilePicker
diff --git a/fpicker/source/office/OfficeFolderPicker.cxx b/fpicker/source/office/OfficeFolderPicker.cxx
index 28fd1cfb610f..f3cdafb33957 100644
--- a/fpicker/source/office/OfficeFolderPicker.cxx
+++ b/fpicker/source/office/OfficeFolderPicker.cxx
@@ -98,17 +98,16 @@ void SvtFolderPicker::prepareExecute()
}
}
-IMPL_LINK( SvtFolderPicker, DialogClosedHdl, Dialog*, pDlg )
+IMPL_LINK_TYPED( SvtFolderPicker, DialogClosedHdl, Dialog&, rDlg, void )
{
if ( m_xListener.is() )
{
- sal_Int16 nRet = static_cast< sal_Int16 >( pDlg->GetResult() );
+ sal_Int16 nRet = static_cast< sal_Int16 >( rDlg.GetResult() );
css::ui::dialogs::DialogClosedEvent aEvent( *this, nRet );
m_xListener->dialogClosed( aEvent );
m_xListener.clear();
}
- return 0;
- }
+}
void SAL_CALL SvtFolderPicker::setDisplayDirectory( const OUString& aDirectory )
throw( IllegalArgumentException, RuntimeException, std::exception )
diff --git a/fpicker/source/office/OfficeFolderPicker.hxx b/fpicker/source/office/OfficeFolderPicker.hxx
index 11175fc23efe..2452aa6024bc 100644
--- a/fpicker/source/office/OfficeFolderPicker.hxx
+++ b/fpicker/source/office/OfficeFolderPicker.hxx
@@ -46,7 +46,7 @@ private:
m_xListener;
void prepareExecute( );
- DECL_LINK( DialogClosedHdl, Dialog* );
+ DECL_LINK_TYPED( DialogClosedHdl, Dialog&, void );
public:
SvtFolderPicker( const css::uno::Reference < css::lang::XMultiServiceFactory >& xFactory );
diff --git a/fpicker/source/office/iodlg.cxx b/fpicker/source/office/iodlg.cxx
index c3186704222d..ed34f46a2831 100644
--- a/fpicker/source/office/iodlg.cxx
+++ b/fpicker/source/office/iodlg.cxx
@@ -1804,7 +1804,7 @@ short SvtFileDialog::Execute()
}
-void SvtFileDialog::StartExecuteModal( const Link<>& rEndDialogHdl )
+void SvtFileDialog::StartExecuteModal( const Link<Dialog&,void>& rEndDialogHdl )
{
PrepareExecute();
diff --git a/fpicker/source/office/iodlg.hxx b/fpicker/source/office/iodlg.hxx
index 1f02d690a65d..f7cf813c0a3e 100644
--- a/fpicker/source/office/iodlg.hxx
+++ b/fpicker/source/office/iodlg.hxx
@@ -167,7 +167,7 @@ public:
virtual void dispose() override;
virtual short Execute() override;
- virtual void StartExecuteModal( const Link<>& rEndDialogHdl ) override;
+ virtual void StartExecuteModal( const Link<Dialog&,void>& rEndDialogHdl ) override;
void FileSelect();
void FilterSelect() override;
diff --git a/include/sfx2/tabdlg.hxx b/include/sfx2/tabdlg.hxx
index f95fffeeedab..0a9c4710dcdf 100644
--- a/include/sfx2/tabdlg.hxx
+++ b/include/sfx2/tabdlg.hxx
@@ -195,7 +195,7 @@ public:
void RemoveStandardButton();
short Execute() override;
- void StartExecuteModal( const Link<>& rEndDialogHdl ) override;
+ void StartExecuteModal( const Link<Dialog&,void>& rEndDialogHdl ) override;
void Start( bool bShow = true );
const SfxItemSet* GetExampleSet() const { return pExampleSet; }
diff --git a/include/vcl/abstdlg.hxx b/include/vcl/abstdlg.hxx
index 3b2dd2dae85c..5ea675cd199c 100644
--- a/include/vcl/abstdlg.hxx
+++ b/include/vcl/abstdlg.hxx
@@ -25,6 +25,7 @@
namespace vcl { class Window; }
class ResId;
+class Dialog;
class VCL_DLLPUBLIC VclAbstractDialog
{
@@ -39,7 +40,7 @@ class VCL_DLLPUBLIC VclAbstractDialog2
public:
virtual ~VclAbstractDialog2();
- virtual void StartExecuteModal( const Link<>& rEndDialogHdl ) = 0;
+ virtual void StartExecuteModal( const Link<Dialog&,void>& rEndDialogHdl ) = 0;
virtual long GetResult() = 0;
};
diff --git a/include/vcl/dialog.hxx b/include/vcl/dialog.hxx
index 6875366d8a50..668ab71eb407 100644
--- a/include/vcl/dialog.hxx
+++ b/include/vcl/dialog.hxx
@@ -102,7 +102,7 @@ public:
// Dialog::Execute replacement API
public:
// Link impl: DECL_LINK( MyEndDialogHdl, Dialog* ); <= param is dialog just ended
- virtual void StartExecuteModal( const Link<>& rEndDialogHdl );
+ virtual void StartExecuteModal( const Link<Dialog&,void>& rEndDialogHdl );
long GetResult() const;
private:
bool ImplStartExecuteModal();
diff --git a/sc/inc/arealink.hxx b/sc/inc/arealink.hxx
index 0eed8a8370e1..afda84c55f14 100644
--- a/sc/inc/arealink.hxx
+++ b/sc/inc/arealink.hxx
@@ -28,6 +28,7 @@
class SfxObjectShell;
struct AreaLink_Impl;
+class Dialog;
class SC_DLLPUBLIC ScAreaLink : public ::sfx2::SvBaseLink, public ScRefreshTimer
{
@@ -75,7 +76,7 @@ public:
const ScRange& GetDestArea() const { return aDestArea; }
DECL_LINK_TYPED( RefreshHdl, Timer*, void );
- DECL_LINK( AreaEndEditHdl, void* );
+ DECL_LINK_TYPED( AreaEndEditHdl, Dialog&, void );
};
#endif
diff --git a/sc/source/ui/attrdlg/scdlgfact.hxx b/sc/source/ui/attrdlg/scdlgfact.hxx
index 5f83f0fddbdc..5932e945a6ff 100644
--- a/sc/source/ui/attrdlg/scdlgfact.hxx
+++ b/sc/source/ui/attrdlg/scdlgfact.hxx
@@ -73,7 +73,7 @@ public: \
: pDlg(p) \
{} \
virtual ~Class(); \
- virtual void StartExecuteModal( const Link<>& rEndDialogHdl ) override; \
+ virtual void StartExecuteModal( const Link<Dialog&,void>& rEndDialogHdl ) override; \
long GetResult() override;
#define IMPL_ABSTDLG_BASE(Class) \
@@ -89,7 +89,7 @@ short Class::Execute() \
Class::~Class() \
{ \
} \
-void Class::StartExecuteModal( const Link<>& rEndDialogHdl ) \
+void Class::StartExecuteModal( const Link<Dialog&,void>& rEndDialogHdl ) \
{ \
pDlg->StartExecuteModal( rEndDialogHdl ) ; \
} \
diff --git a/sc/source/ui/docshell/arealink.cxx b/sc/source/ui/docshell/arealink.cxx
index f1f24800df08..016cd7985caf 100644
--- a/sc/source/ui/docshell/arealink.cxx
+++ b/sc/source/ui/docshell/arealink.cxx
@@ -487,7 +487,7 @@ IMPL_LINK_NOARG_TYPED(ScAreaLink, RefreshHdl, Timer *, void)
Refresh( aFileName, aFilterName, aSourceArea, GetRefreshDelay() );
}
-IMPL_LINK_NOARG(ScAreaLink, AreaEndEditHdl)
+IMPL_LINK_NOARG_TYPED(ScAreaLink, AreaEndEditHdl, Dialog&, void)
{
// #i76514# can't use link argument to access the dialog,
// because it's the ScLinkedAreaDlg, not AbstractScLinkedAreaDlg
@@ -504,8 +504,6 @@ IMPL_LINK_NOARG(ScAreaLink, AreaEndEditHdl)
SetName( aNewLinkName );
}
pImpl->m_pDialog = NULL; // dialog is deleted with parent
-
- return 0;
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/ui/inc/cellsh.hxx b/sc/source/ui/inc/cellsh.hxx
index 148b9671c607..84810ef2b1a7 100644
--- a/sc/source/ui/inc/cellsh.hxx
+++ b/sc/source/ui/inc/cellsh.hxx
@@ -64,7 +64,7 @@ private:
void ExecuteFillSingleEdit();
DECL_LINK_TYPED( ClipboardChanged, TransferableDataHelper*, void );
- DECL_LINK( DialogClosed, void* );
+ DECL_LINK_TYPED( DialogClosed, Dialog&, void );
RotateTransliteration m_aRotateCase;
diff --git a/sc/source/ui/view/cellsh1.cxx b/sc/source/ui/view/cellsh1.cxx
index 8ee420b4bcc0..12d61c54102f 100644
--- a/sc/source/ui/view/cellsh1.cxx
+++ b/sc/source/ui/view/cellsh1.cxx
@@ -2884,7 +2884,7 @@ void ScCellShell::ExecuteFillSingleEdit()
SC_MOD()->SetInputMode(SC_INPUT_TABLE, &aInit);
}
-IMPL_LINK_NOARG(ScCellShell, DialogClosed)
+IMPL_LINK_NOARG_TYPED(ScCellShell, DialogClosed, Dialog&, void)
{
assert(pImpl->m_pLinkedDlg && "ScCellShell::DialogClosed(): invalid request");
assert(pImpl->m_pRequest && "ScCellShell::DialogClosed(): invalid request");
@@ -2911,7 +2911,6 @@ IMPL_LINK_NOARG(ScCellShell, DialogClosed)
}
ExecuteExternalSource( sFile, sFilter, sOptions, sSource, nRefresh, *(pImpl->m_pRequest) );
- return 0;
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sfx2/source/dialog/tabdlg.cxx b/sfx2/source/dialog/tabdlg.cxx
index 987932529660..38d53bcc2439 100644
--- a/sfx2/source/dialog/tabdlg.cxx
+++ b/sfx2/source/dialog/tabdlg.cxx
@@ -545,7 +545,7 @@ short SfxTabDialog::Execute()
-void SfxTabDialog::StartExecuteModal( const Link<>& rEndDialogHdl )
+void SfxTabDialog::StartExecuteModal( const Link<Dialog&,void>& rEndDialogHdl )
{
if ( !m_pTabCtrl->GetPageCount() )
return;
diff --git a/svx/source/gallery2/galbrws1.cxx b/svx/source/gallery2/galbrws1.cxx
index beebfd6b2ef1..b5245fb1129e 100644
--- a/svx/source/gallery2/galbrws1.cxx
+++ b/svx/source/gallery2/galbrws1.cxx
@@ -327,16 +327,14 @@ void GalleryBrowser1::ImplEndGalleryThemeProperties( VclAbstractDialog2* pDialog
Application::PostUserEvent( LINK( this, GalleryBrowser1, DestroyThemePropertiesDlgHdl ), pDialog, true );
}
-IMPL_LINK( GalleryBrowser1, EndNewThemePropertiesDlgHdl, VclAbstractDialog2*, pDialog )
+IMPL_LINK_TYPED( GalleryBrowser1, EndNewThemePropertiesDlgHdl, Dialog&, rDialog, void )
{
- ImplEndGalleryThemeProperties( pDialog, true );
- return 0L;
+ ImplEndGalleryThemeProperties( dynamic_cast<VclAbstractDialog2*>(&rDialog), true );
}
-IMPL_LINK( GalleryBrowser1, EndThemePropertiesDlgHdl, VclAbstractDialog2*, pDialog )
+IMPL_LINK_TYPED( GalleryBrowser1, EndThemePropertiesDlgHdl, Dialog&, rDialog, void )
{
- ImplEndGalleryThemeProperties( pDialog, false );
- return 0L;
+ ImplEndGalleryThemeProperties( dynamic_cast<VclAbstractDialog2*>(&rDialog), false );
}
IMPL_LINK_TYPED( GalleryBrowser1, DestroyThemePropertiesDlgHdl, void*, p, void )
diff --git a/svx/source/gallery2/galbrws1.hxx b/svx/source/gallery2/galbrws1.hxx
index a5ffa518e0ac..c3c3f74b2cd0 100644
--- a/svx/source/gallery2/galbrws1.hxx
+++ b/svx/source/gallery2/galbrws1.hxx
@@ -113,8 +113,8 @@ private:
DECL_LINK_TYPED( SelectThemeHdl, ListBox&, void );
DECL_LINK_TYPED( ShowContextMenuHdl, void*, void );
DECL_LINK_TYPED( PopupMenuHdl, Menu*, bool );
- DECL_LINK( EndNewThemePropertiesDlgHdl, VclAbstractDialog2* );
- DECL_LINK( EndThemePropertiesDlgHdl, VclAbstractDialog2* );
+ DECL_LINK_TYPED( EndNewThemePropertiesDlgHdl, Dialog&, void );
+ DECL_LINK_TYPED( EndThemePropertiesDlgHdl, Dialog&, void );
DECL_LINK_TYPED( DestroyThemePropertiesDlgHdl, void*, void );
public:
diff --git a/sw/source/ui/dbui/mailmergewizard.cxx b/sw/source/ui/dbui/mailmergewizard.cxx
index 04bd7f80153e..d689457187a8 100644
--- a/sw/source/ui/dbui/mailmergewizard.cxx
+++ b/sw/source/ui/dbui/mailmergewizard.cxx
@@ -303,7 +303,7 @@ short SwMailMergeWizard::Execute()
return RET_CANCEL;
}
-void SwMailMergeWizard::StartExecuteModal( const Link<>& rEndDialogHdl )
+void SwMailMergeWizard::StartExecuteModal( const Link<Dialog&, void>& rEndDialogHdl )
{
::svt::RoadmapWizard::StartExecuteModal( rEndDialogHdl );
}
diff --git a/sw/source/ui/dialog/swdlgfact.cxx b/sw/source/ui/dialog/swdlgfact.cxx
index ce894f43059a..b5078121ab90 100644
--- a/sw/source/ui/dialog/swdlgfact.cxx
+++ b/sw/source/ui/dialog/swdlgfact.cxx
@@ -592,7 +592,7 @@ AbstractMailMergeWizard_Impl::~AbstractMailMergeWizard_Impl()
pDlg.disposeAndClear();
}
-void AbstractMailMergeWizard_Impl::StartExecuteModal( const Link<>& rEndDialogHdl )
+void AbstractMailMergeWizard_Impl::StartExecuteModal( const Link<Dialog&,void>& rEndDialogHdl )
{
aEndDlgHdl = rEndDialogHdl;
pDlg->StartExecuteModal(
@@ -604,15 +604,13 @@ long AbstractMailMergeWizard_Impl::GetResult()
return pDlg->GetResult();
}
-IMPL_LINK( AbstractMailMergeWizard_Impl, EndDialogHdl, SwMailMergeWizard*, pDialog )
+IMPL_LINK_TYPED( AbstractMailMergeWizard_Impl, EndDialogHdl, Dialog&, rDialog, void )
{
- OSL_ENSURE( pDialog == pDlg, "wrong dialog passed to EndDialogHdl!" );
- (void) pDialog; // unused in non-debug
+ OSL_ENSURE( &rDialog == pDlg, "wrong dialog passed to EndDialogHdl!" );
+ (void) rDialog; // unused in non-debug
- aEndDlgHdl.Call( this );
- aEndDlgHdl = Link<>();
-
- return 0L;
+ aEndDlgHdl.Call( *pDlg );
+ aEndDlgHdl = Link<Dialog&,void>();
}
OUString AbstractMailMergeWizard_Impl::GetReloadDocument() const
diff --git a/sw/source/ui/dialog/swdlgfact.hxx b/sw/source/ui/dialog/swdlgfact.hxx
index d71bafffe6ba..61ed7a0791bd 100644
--- a/sw/source/ui/dialog/swdlgfact.hxx
+++ b/sw/source/ui/dialog/swdlgfact.hxx
@@ -345,15 +345,15 @@ class SwMailMergeWizard;
class AbstractMailMergeWizard_Impl : public AbstractMailMergeWizard
{
VclPtr<SwMailMergeWizard> pDlg;
- Link<> aEndDlgHdl;
+ Link<Dialog&,void> aEndDlgHdl;
- DECL_LINK( EndDialogHdl, SwMailMergeWizard* );
+ DECL_LINK_TYPED( EndDialogHdl, Dialog&, void );
public:
explicit AbstractMailMergeWizard_Impl( SwMailMergeWizard* p )
: pDlg(p)
{}
virtual ~AbstractMailMergeWizard_Impl();
- virtual void StartExecuteModal( const Link<>& rEndDialogHdl ) override;
+ virtual void StartExecuteModal( const Link<Dialog&,void>& rEndDialogHdl ) override;
virtual long GetResult() override;
virtual OUString GetReloadDocument() const override;
diff --git a/sw/source/uibase/app/apphdl.cxx b/sw/source/uibase/app/apphdl.cxx
index bb6004ee0a2a..e4bc0358bfbf 100644
--- a/sw/source/uibase/app/apphdl.cxx
+++ b/sw/source/uibase/app/apphdl.cxx
@@ -267,7 +267,7 @@ class SwMailMergeWizardExecutor : public salhelper::SimpleReferenceObject
SwMailMergeConfigItem* m_pMMConfig; // sometimes owner
AbstractMailMergeWizard* m_pWizard; // always owner
- DECL_LINK( EndDialogHdl, AbstractMailMergeWizard* );
+ DECL_LINK_TYPED( EndDialogHdl, Dialog&, void );
DECL_LINK_TYPED( DestroyDialogHdl, void*, void );
DECL_STATIC_LINK_TYPED( SwMailMergeWizardExecutor, DestroyWizardHdl, void*, void );
DECL_LINK_TYPED( CancelHdl, void*, void );
@@ -437,11 +437,8 @@ void SwMailMergeWizardExecutor::ExecuteWizard()
LINK( this, SwMailMergeWizardExecutor, EndDialogHdl ) );
}
-IMPL_LINK( SwMailMergeWizardExecutor, EndDialogHdl, AbstractMailMergeWizard*, pDialog )
+IMPL_LINK_NOARG_TYPED( SwMailMergeWizardExecutor, EndDialogHdl, Dialog&, void )
{
- OSL_ENSURE( pDialog == m_pWizard, "wrong dialog passed to EndDialogHdl!" );
- (void) pDialog;
-
long nRet = m_pWizard->GetResult();
sal_uInt16 nRestartPage = m_pWizard->GetRestartPage();
@@ -570,8 +567,6 @@ IMPL_LINK( SwMailMergeWizardExecutor, EndDialogHdl, AbstractMailMergeWizard*, pD
}
} // switch
-
- return 0L;
}
IMPL_LINK_NOARG_TYPED(SwMailMergeWizardExecutor, DestroyDialogHdl, void*, void)
diff --git a/sw/source/uibase/dbui/dbui.cxx b/sw/source/uibase/dbui/dbui.cxx
index 5c7de4e813c1..75d3d3696c0d 100644
--- a/sw/source/uibase/dbui/dbui.cxx
+++ b/sw/source/uibase/dbui/dbui.cxx
@@ -135,7 +135,7 @@ void CancelableDialog::SetCancelHdl( const Link<Button*,void>& rLink )
void CancelableDialog::Show()
{
if (mbModal)
- StartExecuteModal( Link<>() );
+ StartExecuteModal( Link<Dialog&,void>() );
else
Dialog::Show();
}
diff --git a/sw/source/uibase/inc/mailmergewizard.hxx b/sw/source/uibase/inc/mailmergewizard.hxx
index cadd1cdb164f..1c198c435dba 100644
--- a/sw/source/uibase/inc/mailmergewizard.hxx
+++ b/sw/source/uibase/inc/mailmergewizard.hxx
@@ -90,7 +90,7 @@ public:
void updateRoadmapItemLabel( WizardState _nState );
virtual short Execute() override;
- virtual void StartExecuteModal( const Link<>& rEndDialogHdl ) override;
+ virtual void StartExecuteModal( const Link<Dialog&,void>& rEndDialogHdl ) override;
};
#endif
diff --git a/vcl/source/window/dialog.cxx b/vcl/source/window/dialog.cxx
index b0f4c8381b5a..04bfe04a503d 100644
--- a/vcl/source/window/dialog.cxx
+++ b/vcl/source/window/dialog.cxx
@@ -334,7 +334,7 @@ struct DialogImpl
{
long mnResult;
bool mbStartedModal;
- Link<> maEndDialogHdl;
+ Link<Dialog&,void> maEndDialogHdl;
DialogImpl() : mnResult( -1 ), mbStartedModal( false ) {}
};
@@ -915,7 +915,7 @@ short Dialog::Execute()
}
// virtual
-void Dialog::StartExecuteModal( const Link<>& rEndDialogHdl )
+void Dialog::StartExecuteModal( const Link<Dialog&,void>& rEndDialogHdl )
{
if ( !ImplStartExecuteModal() )
return;
@@ -972,8 +972,8 @@ void Dialog::EndDialog( long nResult )
ImplEndExecuteModal();
if (mpDialogImpl->maEndDialogHdl.IsSet())
{
- mpDialogImpl->maEndDialogHdl.Call( this );
- mpDialogImpl->maEndDialogHdl = Link<>();
+ mpDialogImpl->maEndDialogHdl.Call( *this );
+ mpDialogImpl->maEndDialogHdl = Link<Dialog&,void>();
}
mpDialogImpl->mbStartedModal = false;
mpDialogImpl->mnResult = -1;