diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2015-04-30 10:20:00 +0200 |
---|---|---|
committer | Stephan Bergmann <sbergman@redhat.com> | 2015-04-30 10:20:00 +0200 |
commit | 3ead3ad52f9bb2f9d1d6cf8dfc73a0a25e6778ed (patch) | |
tree | bdfd28afe5a452060e3d985c5f01b45f4b7bc2cd /sw/source/uibase/sidebar | |
parent | 57d254d42b6e1d836bd21e6fb2e968af2b511c7d (diff) |
Gradually typed Link
Turn the Link class into a template abstracting over the link's argument and
return types, but provide default template arguments that keep the generic,
unsafe "void* in, sal_IntPtr out" behvior. That way, individual uses of the
Link class can be updated over time.
All the related macros are duplicated with ..._TYPED counterparts, that
additionally take the RetType (except for LINK_TYPED, which manages to infer the
relevant types from the supplied Member).
(It would have been attractive to change the "untyped" LinkStubs from taking a
void* to a properly typed ArgType parameter, too, but that would cause
-fsanitize=function to flag uses of "untyped" Link::Call.)
Change-Id: I3b0140378bad99abbf240140ebb4a46a05d2d2f8
Diffstat (limited to 'sw/source/uibase/sidebar')
4 files changed, 5 insertions, 5 deletions
diff --git a/sw/source/uibase/sidebar/PageMarginControl.cxx b/sw/source/uibase/sidebar/PageMarginControl.cxx index 66ff08c66ec5..c53f78670309 100644 --- a/sw/source/uibase/sidebar/PageMarginControl.cxx +++ b/sw/source/uibase/sidebar/PageMarginControl.cxx @@ -94,7 +94,7 @@ PageMarginControl::PageMarginControl( SelectValueSetItem(); SetFieldUnit( *maLeftMarginEdit.get(), eFUnit ); - Link aLinkLR = LINK( this, PageMarginControl, ModifyLRMarginHdl ); + Link<> aLinkLR = LINK( this, PageMarginControl, ModifyLRMarginHdl ); maLeftMarginEdit->SetModifyHdl( aLinkLR ); SetMetricValue( *maLeftMarginEdit.get(), mnPageLeftMargin, meUnit ); @@ -102,7 +102,7 @@ PageMarginControl::PageMarginControl( maRightMarginEdit->SetModifyHdl( aLinkLR ); SetMetricValue( *maRightMarginEdit.get(), mnPageRightMargin, meUnit ); - Link aLinkUL = LINK( this, PageMarginControl, ModifyULMarginHdl ); + Link<> aLinkUL = LINK( this, PageMarginControl, ModifyULMarginHdl ); SetFieldUnit( *maTopMarginEdit.get(), eFUnit ); maTopMarginEdit->SetModifyHdl( aLinkUL ); SetMetricValue( *maTopMarginEdit.get(), mnPageTopMargin, meUnit ); diff --git a/sw/source/uibase/sidebar/PageOrientationControl.cxx b/sw/source/uibase/sidebar/PageOrientationControl.cxx index 8dede92c9980..3bc07bbbdaf4 100644 --- a/sw/source/uibase/sidebar/PageOrientationControl.cxx +++ b/sw/source/uibase/sidebar/PageOrientationControl.cxx @@ -48,7 +48,7 @@ PageOrientationControl::PageOrientationControl( SW_RES(STR_LANDSCAPE), 0 ); } - Link aLink = LINK(this, PageOrientationControl,ImplOrientationHdl ); + Link<> aLink = LINK(this, PageOrientationControl,ImplOrientationHdl ); mpOrientationValueSet->SetSelectHdl(aLink); mpOrientationValueSet->SetNoSelection(); mpOrientationValueSet->StartSelection(); diff --git a/sw/source/uibase/sidebar/PagePropertyPanel.cxx b/sw/source/uibase/sidebar/PagePropertyPanel.cxx index 89ac394d3443..a4b11c9ae026 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<> aLink = LINK( this, PagePropertyPanel, ClickOrientationHdl ); mpToolBoxOrientation->SetDropdownClickHdl( aLink ); mpToolBoxOrientation->SetSelectHdl( aLink ); mpToolBoxOrientation->SetItemImage( nIdOrientation, mImgPortrait); diff --git a/sw/source/uibase/sidebar/WrapPropertyPanel.cxx b/sw/source/uibase/sidebar/WrapPropertyPanel.cxx index 2dfe37c4b8c6..78369ee77f29 100644 --- a/sw/source/uibase/sidebar/WrapPropertyPanel.cxx +++ b/sw/source/uibase/sidebar/WrapPropertyPanel.cxx @@ -113,7 +113,7 @@ void WrapPropertyPanel::dispose() void WrapPropertyPanel::Initialize() { - Link aLink = LINK(this, WrapPropertyPanel, WrapTypeHdl); + Link<> aLink = LINK(this, WrapPropertyPanel, WrapTypeHdl); mpRBNoWrap->SetClickHdl(aLink); mpRBWrapLeft->SetClickHdl(aLink); mpRBWrapRight->SetClickHdl(aLink); |