summaryrefslogtreecommitdiff
path: root/vcl/source/control/combobox.cxx
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2016-02-18 13:38:12 +0000
committerCaolán McNamara <caolanm@redhat.com>2016-02-18 15:48:31 +0000
commit548c2274c9ba7542d6bcae5fefd1400ee4e22fc3 (patch)
tree7963bec49ed00b89090bd213a7db36a85bc88f87 /vcl/source/control/combobox.cxx
parent423b79e7366203db3f57dea75b8cb9eb852b5614 (diff)
move from boost::signal to typed Link
it doesn't really gain us much to have a handful of boost::signal use in a sea of Links This also fixes a regression in commit 051b29e1025253f35f87a04e297760aa8b40611f Author: Luboš Luňák <l.lunak@collabora.com> Date: Sun Sep 14 15:45:02 2014 +0200 convert Edit autocomplete Hdl to boost signals2 where the conversion was... - if ( maAutocompleteHdl.IsSet() ) + if ( autocompleteSignal.empty() ) instead of the correct + if ( !autocompleteSignal.empty() ) Change-Id: I27270d94c782485c0a7e929bc4980af4527fe82b
Diffstat (limited to 'vcl/source/control/combobox.cxx')
-rw-r--r--vcl/source/control/combobox.cxx44
1 files changed, 15 insertions, 29 deletions
diff --git a/vcl/source/control/combobox.cxx b/vcl/source/control/combobox.cxx
index 9d0bc7e1dc5b..c474cd350a9d 100644
--- a/vcl/source/control/combobox.cxx
+++ b/vcl/source/control/combobox.cxx
@@ -21,8 +21,6 @@
#include <set>
-#include <boost/signals2/connection.hpp>
-
#include <comphelper/string.hxx>
#include <tools/debug.hxx>
#include <tools/rc.h>
@@ -61,7 +59,6 @@ struct ComboBox::Impl
sal_Int32 m_nMaxWidthChars;
Link<ComboBox&,void> m_SelectHdl;
Link<ComboBox&,void> m_DoubleClickHdl;
- boost::signals2::scoped_connection m_AutocompleteConnection;
explicit Impl(ComboBox & rThis)
: m_rThis(rThis)
@@ -82,13 +79,12 @@ struct ComboBox::Impl
DECL_DLLPRIVATE_LINK_TYPED( ImplSelectHdl, LinkParamNone*, void );
DECL_DLLPRIVATE_LINK_TYPED( ImplCancelHdl, LinkParamNone*, void );
DECL_DLLPRIVATE_LINK_TYPED( ImplDoubleClickHdl, ImplListBoxWindow*, void );
+ DECL_DLLPRIVATE_LINK_TYPED( ImplClickBtnHdl, void*, void );
DECL_DLLPRIVATE_LINK_TYPED( ImplPopupModeEndHdl, FloatingWindow*, void );
DECL_DLLPRIVATE_LINK_TYPED( ImplSelectionChangedHdl, sal_Int32, void );
+ DECL_DLLPRIVATE_LINK_TYPED( ImplUserDrawHdl, UserDrawEvent*, void );
+ DECL_DLLPRIVATE_LINK_TYPED( ImplAutocompleteHdl, Edit&, void );
DECL_DLLPRIVATE_LINK_TYPED( ImplListItemSelectHdl , LinkParamNone*, void );
-
- void ImplClickButtonHandler( ImplBtn* );
- void ImplUserDrawHandler( UserDrawEvent* );
- void ImplAutocompleteHandler( Edit* );
};
@@ -215,8 +211,7 @@ void ComboBox::ImplInit( vcl::Window* pParent, WinBits nStyle )
m_pImpl->m_pBtn = VclPtr<ImplBtn>::Create( this, WB_NOLIGHTBORDER | WB_RECTSTYLE );
ImplInitDropDownButton( m_pImpl->m_pBtn );
- m_pImpl->m_pBtn->buttonDownSignal.connect( [this]( ImplBtn* pImplBtn )
- { this->m_pImpl->ImplClickButtonHandler( pImplBtn ); } );
+ m_pImpl->m_pBtn->SetMBDownHdl( LINK( m_pImpl.get(), ComboBox::Impl, ImplClickBtnHdl ) );
m_pImpl->m_pBtn->Show();
nEditStyle |= WB_NOBORDER;
@@ -248,8 +243,7 @@ void ComboBox::ImplInit( vcl::Window* pParent, WinBits nStyle )
m_pImpl->m_pImplLB->SetSelectHdl( LINK(m_pImpl.get(), ComboBox::Impl, ImplSelectHdl) );
m_pImpl->m_pImplLB->SetCancelHdl( LINK(m_pImpl.get(), ComboBox::Impl, ImplCancelHdl) );
m_pImpl->m_pImplLB->SetDoubleClickHdl( LINK(m_pImpl.get(), ComboBox::Impl, ImplDoubleClickHdl) );
- m_pImpl->m_pImplLB->userDrawSignal.connect( [this]( UserDrawEvent* pUserDrawEvent )
- { this->m_pImpl->ImplUserDrawHandler( pUserDrawEvent ); } );
+ m_pImpl->m_pImplLB->SetUserDrawHdl( LINK(m_pImpl.get(), ComboBox::Impl, ImplUserDrawHdl) );
m_pImpl->m_pImplLB->SetSelectionChangedHdl( LINK(m_pImpl.get(), ComboBox::Impl, ImplSelectionChangedHdl) );
m_pImpl->m_pImplLB->SetListItemSelectHdl( LINK(m_pImpl.get(), ComboBox::Impl, ImplListItemSelectHdl) );
m_pImpl->m_pImplLB->Show();
@@ -293,25 +287,17 @@ void ComboBox::EnableAutocomplete( bool bEnable, bool bMatchCase )
m_pImpl->m_isMatchCase = bMatchCase;
if ( bEnable )
- {
- if( !m_pImpl->m_AutocompleteConnection.connected())
- {
- m_pImpl->m_pSubEdit->SignalConnectAutocomplete(
- &m_pImpl->m_AutocompleteConnection,
- [this] (Edit *const pEdit) { m_pImpl->ImplAutocompleteHandler(pEdit); }
- );
- }
- }
+ m_pImpl->m_pSubEdit->SetAutocompleteHdl( LINK(m_pImpl.get(), ComboBox::Impl, ImplAutocompleteHdl) );
else
- m_pImpl->m_AutocompleteConnection.disconnect();
+ m_pImpl->m_pSubEdit->SetAutocompleteHdl( Link<Edit&,void>() );
}
bool ComboBox::IsAutocompleteEnabled() const
{
- return m_pImpl->m_AutocompleteConnection.connected();
+ return m_pImpl->m_pSubEdit->GetAutocompleteHdl().IsSet();
}
-void ComboBox::Impl::ImplClickButtonHandler( ImplBtn* )
+IMPL_LINK_NOARG_TYPED(ComboBox::Impl, ImplClickBtnHdl, void*, void)
{
m_rThis.CallEventListeners( VCLEVENT_DROPDOWN_PRE_OPEN );
m_pSubEdit->GrabFocus();
@@ -352,10 +338,10 @@ IMPL_LINK_NOARG_TYPED(ComboBox::Impl, ImplPopupModeEndHdl, FloatingWindow*, void
m_rThis.CallEventListeners( VCLEVENT_DROPDOWN_CLOSE );
}
-void ComboBox::Impl::ImplAutocompleteHandler( Edit* pEdit )
+IMPL_LINK_TYPED(ComboBox::Impl, ImplAutocompleteHdl, Edit&, rEdit, void)
{
- Selection aSel = pEdit->GetSelection();
- AutocompleteAction eAction = pEdit->GetAutocompleteAction();
+ Selection aSel = rEdit.GetSelection();
+ AutocompleteAction eAction = rEdit.GetAutocompleteAction();
/* If there is no current selection do not auto complete on
Tab/Shift-Tab since then we would not cycle to the next field.
@@ -363,7 +349,7 @@ void ComboBox::Impl::ImplAutocompleteHandler( Edit* pEdit )
if ( aSel.Len() ||
((eAction != AUTOCOMPLETE_TABFORWARD) && (eAction != AUTOCOMPLETE_TABBACKWARD)) )
{
- OUString aFullText = pEdit->GetText();
+ OUString aFullText = rEdit.GetText();
OUString aStartText = aFullText.copy( 0, (sal_Int32)aSel.Max() );
sal_Int32 nStart = m_pImplLB->GetCurrentPos();
@@ -407,7 +393,7 @@ void ComboBox::Impl::ImplAutocompleteHandler( Edit* pEdit )
{
OUString aText = m_pImplLB->GetEntryList()->GetEntryText( nPos );
Selection aSelection( aText.getLength(), aStartText.getLength() );
- pEdit->SetText( aText, aSelection );
+ rEdit.SetText( aText, aSelection );
}
}
}
@@ -1319,7 +1305,7 @@ void ComboBox::Draw( OutputDevice* pDev, const Point& rPos, const Size& rSize, D
}
-void ComboBox::Impl::ImplUserDrawHandler( UserDrawEvent* pEvent )
+IMPL_LINK_TYPED(ComboBox::Impl, ImplUserDrawHdl, UserDrawEvent*, pEvent, void)
{
m_rThis.UserDraw(*pEvent);
}