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 /sfx2/source/appl | |
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 'sfx2/source/appl')
-rw-r--r-- | sfx2/source/appl/fileobj.cxx | 6 | ||||
-rw-r--r-- | sfx2/source/appl/fileobj.hxx | 4 | ||||
-rw-r--r-- | sfx2/source/appl/helpinterceptor.hxx | 4 | ||||
-rw-r--r-- | sfx2/source/appl/impldde.cxx | 2 | ||||
-rw-r--r-- | sfx2/source/appl/impldde.hxx | 2 | ||||
-rw-r--r-- | sfx2/source/appl/linksrc.cxx | 2 | ||||
-rw-r--r-- | sfx2/source/appl/lnkbase2.cxx | 6 | ||||
-rw-r--r-- | sfx2/source/appl/newhelp.cxx | 12 | ||||
-rw-r--r-- | sfx2/source/appl/newhelp.hxx | 30 |
9 files changed, 34 insertions, 34 deletions
diff --git a/sfx2/source/appl/fileobj.cxx b/sfx2/source/appl/fileobj.cxx index 278034ceee0c..deaedf5876f6 100644 --- a/sfx2/source/appl/fileobj.cxx +++ b/sfx2/source/appl/fileobj.cxx @@ -68,7 +68,7 @@ SvFileObject::~SvFileObject() { if (xMed.Is()) { - xMed->SetDoneLink( Link() ); + xMed->SetDoneLink( Link<>() ); xMed.Clear(); } if (nPostUserEventId) @@ -392,7 +392,7 @@ OUString impl_getFilter( const OUString& _rURL ) return sFilter; } -void SvFileObject::Edit( vcl::Window* pParent, sfx2::SvBaseLink* pLink, const Link& rEndEditHdl ) +void SvFileObject::Edit( vcl::Window* pParent, sfx2::SvBaseLink* pLink, const Link<>& rEndEditHdl ) { aEndEditLink = rEndEditHdl; OUString sFile, sRange, sTmpFilter; @@ -485,7 +485,7 @@ IMPL_STATIC_LINK( SvFileObject, LoadGrfReady_Impl, void*, EMPTYARG ) pThis->bLoadAgain = true; if( pThis->xMed.Is() ) { - pThis->xMed->SetDoneLink( Link() ); + pThis->xMed->SetDoneLink( Link<>() ); pThis->pDelMed = new SfxMediumRef(pThis->xMed); pThis->nPostUserEventId = Application::PostUserEvent( LINK( pThis, SvFileObject, DelMedium_Impl ), diff --git a/sfx2/source/appl/fileobj.hxx b/sfx2/source/appl/fileobj.hxx index 5e2a5fddfcc1..7e0c72bb56eb 100644 --- a/sfx2/source/appl/fileobj.hxx +++ b/sfx2/source/appl/fileobj.hxx @@ -31,7 +31,7 @@ class SvFileObject : public sfx2::SvLinkSource OUString sFileNm; OUString sFilter; OUString sReferer; - Link aEndEditLink; + Link<> aEndEditLink; SfxMediumRef xMed; ImplSVEvent* nPostUserEventId; SfxMediumRef* pDelMed; @@ -69,7 +69,7 @@ public: bool bSynchron = false ) SAL_OVERRIDE; virtual bool Connect( sfx2::SvBaseLink* ) SAL_OVERRIDE; - virtual void Edit( vcl::Window *, sfx2::SvBaseLink *, const Link& rEndEditHdl ) SAL_OVERRIDE; + virtual void Edit( vcl::Window *, sfx2::SvBaseLink *, const Link<>& rEndEditHdl ) SAL_OVERRIDE; // Ask whether you can access data directly or whether it has to be triggered virtual bool IsPending() const SAL_OVERRIDE; diff --git a/sfx2/source/appl/helpinterceptor.hxx b/sfx2/source/appl/helpinterceptor.hxx index a990518bc7a4..f5ce4bb9d1ac 100644 --- a/sfx2/source/appl/helpinterceptor.hxx +++ b/sfx2/source/appl/helpinterceptor.hxx @@ -120,7 +120,7 @@ class HelpListener_Impl : public ::cppu::WeakImplHelper1< ::com::sun::star::fram { private: HelpInterceptor_Impl* pInterceptor; - Link aChangeLink; + Link<> aChangeLink; OUString aFactory; public: @@ -131,7 +131,7 @@ public: virtual void SAL_CALL disposing( const ::com::sun::star::lang::EventObject& obj ) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE; - void SetChangeHdl( const Link& rLink ) { aChangeLink = rLink; } + void SetChangeHdl( const Link<>& rLink ) { aChangeLink = rLink; } OUString GetFactory() const { return aFactory; } }; // HelpStatusListener_Impl ----------------------------------------------------- diff --git a/sfx2/source/appl/impldde.cxx b/sfx2/source/appl/impldde.cxx index 110fe238dc9f..2d375fa22109 100644 --- a/sfx2/source/appl/impldde.cxx +++ b/sfx2/source/appl/impldde.cxx @@ -269,7 +269,7 @@ bool SvDDEObject::Connect( SvBaseLink * pSvLink ) return true; } -void SvDDEObject::Edit( vcl::Window* pParent, sfx2::SvBaseLink* pBaseLink, const Link& rEndEditHdl ) +void SvDDEObject::Edit( vcl::Window* pParent, sfx2::SvBaseLink* pBaseLink, const Link<>& rEndEditHdl ) { ScopedVclPtrInstance< SvDDELinkEditDialog > aDlg(pParent, pBaseLink); if ( RET_OK == aDlg->Execute() && rEndEditHdl.IsSet() ) diff --git a/sfx2/source/appl/impldde.hxx b/sfx2/source/appl/impldde.hxx index 3ce245452b94..b6c66eadf966 100644 --- a/sfx2/source/appl/impldde.hxx +++ b/sfx2/source/appl/impldde.hxx @@ -59,7 +59,7 @@ public: bool bSynchron = false ) SAL_OVERRIDE; virtual bool Connect( SvBaseLink * ) SAL_OVERRIDE; - virtual void Edit( vcl::Window* pParent, sfx2::SvBaseLink* pBaseLink, const Link& rEndEditHdl ) SAL_OVERRIDE; + virtual void Edit( vcl::Window* pParent, sfx2::SvBaseLink* pBaseLink, const Link<>& rEndEditHdl ) SAL_OVERRIDE; virtual bool IsPending() const SAL_OVERRIDE; virtual bool IsDataComplete() const SAL_OVERRIDE; diff --git a/sfx2/source/appl/linksrc.cxx b/sfx2/source/appl/linksrc.cxx index ecd06b3bc5b8..fb0dad6ff795 100644 --- a/sfx2/source/appl/linksrc.cxx +++ b/sfx2/source/appl/linksrc.cxx @@ -435,7 +435,7 @@ bool SvLinkSource::GetData( ::com::sun::star::uno::Any &, const OUString &, bool return false; } -void SvLinkSource::Edit( vcl::Window *, SvBaseLink *, const Link& ) +void SvLinkSource::Edit( vcl::Window *, SvBaseLink *, const Link<>& ) { } diff --git a/sfx2/source/appl/lnkbase2.cxx b/sfx2/source/appl/lnkbase2.cxx index 8834962b8762..3c899b35c91e 100644 --- a/sfx2/source/appl/lnkbase2.cxx +++ b/sfx2/source/appl/lnkbase2.cxx @@ -44,7 +44,7 @@ class ImplDdeItem; struct BaseLink_Impl { - Link m_aEndEditLink; + Link<> m_aEndEditLink; LinkManager* m_pLinkMgr; VclPtr<vcl::Window> m_pParentWin; FileDialogHelper* m_pFileDlg; @@ -475,7 +475,7 @@ SvBaseLink::UpdateResult SvBaseLink::DataChanged( const OUString &, const ::com: return SUCCESS; } -void SvBaseLink::Edit( vcl::Window* pParent, const Link& rEndEditHdl ) +void SvBaseLink::Edit( vcl::Window* pParent, const Link<>& rEndEditHdl ) { pImpl->m_pParentWin = pParent; pImpl->m_aEndEditLink = rEndEditHdl; @@ -484,7 +484,7 @@ void SvBaseLink::Edit( vcl::Window* pParent, const Link& rEndEditHdl ) _GetRealObject( xObj.Is() ); bool bAsync = false; - Link aLink = LINK( this, SvBaseLink, EndEditHdl ); + Link<> aLink = LINK( this, SvBaseLink, EndEditHdl ); if( OBJECT_CLIENT_SO & nObjType && pImplData->ClientType.bIntrnlLnk ) { diff --git a/sfx2/source/appl/newhelp.cxx b/sfx2/source/appl/newhelp.cxx index 25a45ce97baf..a1e8f4ccdb1e 100644 --- a/sfx2/source/appl/newhelp.cxx +++ b/sfx2/source/appl/newhelp.cxx @@ -565,7 +565,7 @@ IndexTabPage_Impl::IndexTabPage_Impl(vcl::Window* pParent, SfxHelpIndexWindow_Im get(m_pOpenBtn, "display"); m_pOpenBtn->SetClickHdl( LINK( this, IndexTabPage_Impl, OpenHdl ) ); - Link aTimeoutLink = LINK( this, IndexTabPage_Impl, TimeoutHdl ); + Link<> aTimeoutLink = LINK( this, IndexTabPage_Impl, TimeoutHdl ); aFactoryIdle.SetIdleHdl( LINK(this, IndexTabPage_Impl, IdleHdl )); aFactoryIdle.SetPriority(SchedulerPriority::LOWER); aKeywordTimer.SetTimeoutHdl( aTimeoutLink ); @@ -774,7 +774,7 @@ Control* IndexTabPage_Impl::GetLastFocusControl() return m_pOpenBtn; } -void IndexTabPage_Impl::SetDoubleClickHdl( const Link& rLink ) +void IndexTabPage_Impl::SetDoubleClickHdl( const Link<>& rLink ) { m_pIndexCB->SetDoubleClickHdl( rLink ); } @@ -950,7 +950,7 @@ SearchTabPage_Impl::SearchTabPage_Impl(vcl::Window* pParent, SfxHelpIndexWindow_ m_pResultsLB->set_height_request(aSize.Height()); get(m_pOpenBtn, "display"); - Link aLink = LINK( this, SearchTabPage_Impl, SearchHdl ); + Link<> aLink = LINK( this, SearchTabPage_Impl, SearchHdl ); m_pSearchED->SetSearchLink( aLink ); m_pSearchBtn->SetClickHdl(aLink); m_pSearchED->SetModifyHdl( LINK( this, SearchTabPage_Impl, ModifyHdl ) ); @@ -1110,7 +1110,7 @@ Control* SearchTabPage_Impl::GetLastFocusControl() return m_pOpenBtn; } -void SearchTabPage_Impl::SetDoubleClickHdl( const Link& rLink ) +void SearchTabPage_Impl::SetDoubleClickHdl( const Link<>& rLink ) { m_pResultsLB->SetDoubleClickHdl( rLink ); } @@ -1356,7 +1356,7 @@ Control* BookmarksTabPage_Impl::GetLastFocusControl() return m_pBookmarksPB; } -void BookmarksTabPage_Impl::SetDoubleClickHdl( const Link& rLink ) +void BookmarksTabPage_Impl::SetDoubleClickHdl( const Link<>& rLink ) { m_pBookmarksBox->SetDoubleClickHdl(rLink); } @@ -1734,7 +1734,7 @@ void SfxHelpIndexWindow_Impl::DataChanged( const DataChangedEvent& rDCEvt ) -void SfxHelpIndexWindow_Impl::SetDoubleClickHdl( const Link& rLink ) +void SfxHelpIndexWindow_Impl::SetDoubleClickHdl( const Link<>& rLink ) { aPageDoubleClickLink = rLink; if ( pCPage ) diff --git a/sfx2/source/appl/newhelp.hxx b/sfx2/source/appl/newhelp.hxx index add82d178f9b..bf87d9226c96 100644 --- a/sfx2/source/appl/newhelp.hxx +++ b/sfx2/source/appl/newhelp.hxx @@ -65,7 +65,7 @@ public: virtual void RequestingChildren( SvTreeListEntry* pParent ) SAL_OVERRIDE; virtual bool Notify( NotifyEvent& rNEvt ) SAL_OVERRIDE; - inline void SetOpenHdl( const Link& rLink ) { SetDoubleClickHdl( rLink ); } + inline void SetOpenHdl( const Link<>& rLink ) { SetDoubleClickHdl( rLink ); } OUString GetSelectEntry() const; }; @@ -102,7 +102,7 @@ public: virtual void ActivatePage() SAL_OVERRIDE; virtual Control* GetLastFocusControl() SAL_OVERRIDE; - void SetOpenHdl( const Link& rLink ) { m_pContentBox->SetOpenHdl( rLink ); } + void SetOpenHdl( const Link<>& rLink ) { m_pContentBox->SetOpenHdl( rLink ); } OUString GetSelectEntry() const { return m_pContentBox->GetSelectEntry(); } void SetFocusOnBox() { m_pContentBox->GrabFocus(); } }; @@ -128,7 +128,7 @@ private: Idle aFactoryIdle; Timer aKeywordTimer; - Link aKeywordLink; + Link<> aKeywordLink; OUString sFactory; OUString sKeyword; @@ -150,14 +150,14 @@ public: virtual void ActivatePage() SAL_OVERRIDE; virtual Control* GetLastFocusControl() SAL_OVERRIDE; - void SetDoubleClickHdl( const Link& rLink ); + void SetDoubleClickHdl( const Link<>& rLink ); void SetFactory( const OUString& rFactory ); inline OUString GetFactory() const { return sFactory; } OUString GetSelectEntry() const; inline void SetFocusOnBox() { m_pIndexCB->GrabFocus(); } inline bool HasFocusOnEdit() const { return m_pIndexCB->HasChildPathFocus(); } - inline void SetKeywordHdl( const Link& rLink ) { aKeywordLink = rLink; } + inline void SetKeywordHdl( const Link<>& rLink ) { aKeywordLink = rLink; } void SetKeyword( const OUString& rKeyword ); bool HasKeyword() const; bool HasKeywordIgnoreCase(); @@ -171,7 +171,7 @@ public: class SearchBox_Impl : public ComboBox { private: - Link aSearchLink; + Link<> aSearchLink; public: SearchBox_Impl(vcl::Window* pParent, WinBits nStyle) @@ -183,7 +183,7 @@ public: virtual bool PreNotify( NotifyEvent& rNEvt ) SAL_OVERRIDE; virtual void Select() SAL_OVERRIDE; - inline void SetSearchLink( const Link& rLink ) { aSearchLink = rLink; } + inline void SetSearchLink( const Link<>& rLink ) { aSearchLink = rLink; } }; class SearchResultsBox_Impl : public ListBox @@ -227,7 +227,7 @@ public: virtual void ActivatePage() SAL_OVERRIDE; virtual Control* GetLastFocusControl() SAL_OVERRIDE; - void SetDoubleClickHdl( const Link& rLink ); + void SetDoubleClickHdl( const Link<>& rLink ); inline void SetFactory( const OUString& rFactory ) { aFactory = rFactory; } OUString GetSelectEntry() const; void ClearPage(); @@ -269,7 +269,7 @@ public: virtual void ActivatePage() SAL_OVERRIDE; virtual Control* GetLastFocusControl() SAL_OVERRIDE; - void SetDoubleClickHdl( const Link& rLink ); + void SetDoubleClickHdl( const Link<>& rLink ); OUString GetSelectEntry() const; void AddBookmarks( const OUString& rTitle, const OUString& rURL ); void SetFocusOnBox() { m_pBookmarksBox->GrabFocus(); } @@ -287,9 +287,9 @@ private: Idle aIdle; - Link aSelectFactoryLink; - Link aPageDoubleClickLink; - Link aIndexKeywordLink; + Link<> aSelectFactoryLink; + Link<> aPageDoubleClickLink; + Link<> aIndexKeywordLink; OUString sKeyword; VclPtr<SfxHelpWindow_Impl> pParentWin; @@ -328,8 +328,8 @@ public: virtual bool PreNotify( NotifyEvent& rNEvt ) SAL_OVERRIDE; virtual void DataChanged( const DataChangedEvent& rDCEvt ) SAL_OVERRIDE; - void SetDoubleClickHdl( const Link& rLink ); - inline void SetSelectFactoryHdl( const Link& rLink ) { aSelectFactoryLink = rLink; } + void SetDoubleClickHdl( const Link<>& rLink ); + inline void SetSelectFactoryHdl( const Link<>& rLink ) { aSelectFactoryLink = rLink; } void SetFactory( const OUString& rFactory, bool bActive ); inline OUString GetFactory() const { return pIPage->GetFactory(); } OUString GetSelectEntry() const; @@ -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<>& rLink ) { aToolBox->SetSelectHdl( rLink ); } void ToggleIndex( bool bOn ); void SelectSearchText( const OUString& rSearchText, bool _bIsFullWordSearch ); void SetPageStyleHeaderOff() const; |