summaryrefslogtreecommitdiff
path: root/svtools
diff options
context:
space:
mode:
authorNoel Grandin <noel@peralex.com>2015-10-15 15:26:50 +0200
committerNoel Grandin <noel@peralex.com>2015-10-15 15:47:13 +0200
commit74d686bc59cd70e7ad89f7845199eb751aa7145d (patch)
tree29ce62f941b417f37802d89984fd6e570eba929c /svtools
parent6212c467156e2bd4580a9f8145124223d3135ea4 (diff)
simplify the CellController modify Link<> handling
in preparation for some more "make Link<> typed" work Change-Id: Ifdf58cc697c7172102bf9e4cc63f869c522517e6
Diffstat (limited to 'svtools')
-rw-r--r--svtools/source/brwbox/ebbcontrols.cxx38
-rw-r--r--svtools/source/brwbox/editbrowsebox.cxx5
2 files changed, 25 insertions, 18 deletions
diff --git a/svtools/source/brwbox/ebbcontrols.cxx b/svtools/source/brwbox/ebbcontrols.cxx
index 491f02be8f89..d31eb22cdc34 100644
--- a/svtools/source/brwbox/ebbcontrols.cxx
+++ b/svtools/source/brwbox/ebbcontrols.cxx
@@ -77,6 +77,7 @@ namespace svt
ComboBoxCellController::ComboBoxCellController(ComboBoxControl* pWin)
:CellController(pWin)
{
+ GetComboBox().SetModifyHdl( LINK(this, ComboBoxCellController, ModifyHdl) );
}
@@ -129,9 +130,10 @@ namespace svt
GetComboBox().SaveValue();
}
- void ComboBoxCellController::SetModifyHdl(const Link<>& rLink)
+ IMPL_LINK_NOARG(ComboBoxCellController, ModifyHdl)
{
- GetComboBox().SetModifyHdl(rLink);
+ callModifyHdl();
+ return 0;
}
//= ListBoxControl
@@ -215,14 +217,9 @@ namespace svt
}
- void ListBoxCellController::SetModifyHdl(const Link<>& rLink)
+ IMPL_LINK_NOARG_TYPED(ListBoxCellController, ListBoxSelectHdl, ListBox&, void)
{
- maModifyHdl = rLink;
- }
-
- IMPL_LINK_TYPED(ListBoxCellController, ListBoxSelectHdl, ListBox&, rListBox, void)
- {
- maModifyHdl.Call(&rListBox);
+ callModifyHdl();
}
@@ -333,6 +330,11 @@ namespace svt
//= CheckBoxCellController
+ CheckBoxCellController::CheckBoxCellController(CheckBoxControl* pWin):CellController(pWin)
+ {
+ static_cast<CheckBoxControl &>(GetWindow()).SetModifyHdl( LINK(this, CheckBoxCellController, ModifyHdl) );
+ }
+
bool CheckBoxCellController::WantMouseEvent() const
{
return true;
@@ -357,9 +359,10 @@ namespace svt
}
- void CheckBoxCellController::SetModifyHdl(const Link<>& rLink)
+ IMPL_LINK_NOARG(CheckBoxCellController, ModifyHdl)
{
- static_cast<CheckBoxControl &>(GetWindow()).SetModifyHdl(rLink);
+ callModifyHdl();
+ return 0;
}
@@ -386,6 +389,7 @@ namespace svt
,m_pEditImplementation( new EditImplementation( *_pEdit ) )
,m_bOwnImplementation( true )
{
+ m_pEditImplementation->SetModifyHdl( LINK(this, EditCellController, ModifyHdl) );
}
@@ -394,6 +398,7 @@ namespace svt
,m_pEditImplementation( _pImplementation )
,m_bOwnImplementation( false )
{
+ m_pEditImplementation->SetModifyHdl( LINK(this, EditCellController, ModifyHdl) );
}
@@ -446,9 +451,10 @@ namespace svt
}
- void EditCellController::SetModifyHdl(const Link<>& rLink)
+ IMPL_LINK_NOARG(EditCellController, ModifyHdl)
{
- m_pEditImplementation->SetModifyHdl(rLink);
+ callModifyHdl();
+ return 0;
}
@@ -458,6 +464,7 @@ namespace svt
SpinCellController::SpinCellController(SpinField* pWin)
:CellController(pWin)
{
+ GetSpinWindow().SetModifyHdl( LINK(this, SpinCellController, ModifyHdl) );
}
@@ -503,9 +510,10 @@ namespace svt
}
- void SpinCellController::SetModifyHdl(const Link<>& rLink)
+ IMPL_LINK_NOARG(SpinCellController, ModifyHdl)
{
- GetSpinWindow().SetModifyHdl(rLink);
+ callModifyHdl();
+ return 0;
}
diff --git a/svtools/source/brwbox/editbrowsebox.cxx b/svtools/source/brwbox/editbrowsebox.cxx
index d64b3b850394..b5ad2ce63224 100644
--- a/svtools/source/brwbox/editbrowsebox.cxx
+++ b/svtools/source/brwbox/editbrowsebox.cxx
@@ -1044,7 +1044,7 @@ namespace svt
aController.Clear();
// reset the modify handler
- aOldController->SetModifyHdl(Link<>());
+ aOldController->SetModifyHdl(Link<LinkParamNone*,void>());
if (bHasFocus)
GrabFocus(); // ensure that we have (and keep) the focus
@@ -1088,12 +1088,11 @@ namespace svt
}
- IMPL_LINK_NOARG(EditBrowseBox, ModifyHdl)
+ IMPL_LINK_NOARG_TYPED(EditBrowseBox, ModifyHdl, LinkParamNone*, void)
{
if (nCellModifiedEvent)
Application::RemoveUserEvent(nCellModifiedEvent);
nCellModifiedEvent = Application::PostUserEvent(LINK(this,EditBrowseBox,CellModifiedHdl), NULL, true);
- return 0;
}