Add wxDataViewModel::ChangeValue() and use it in wxDVC implementation.

ChangeValue() is a trivial wrapper calling both SetValue() and ValueChanged().
It allows to replace many calls to SetValue() immediately followed by
ValueChanged() with a single function call which is significantly shorter and
less error-prone (e.g. most of the existing code didn't test SetValue() return
code at all).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62489 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2009-10-23 23:49:16 +00:00
parent 8c9833d09e
commit 795dac4c86
7 changed files with 54 additions and 32 deletions

View File

@@ -1742,8 +1742,7 @@ wxDataViewRenderer::GtkOnCellChanged(const wxVariant& value,
unsigned col)
{
wxDataViewModel *model = GetOwner()->GetOwner()->GetModel();
model->SetValue( value, item, col );
model->ValueChanged( item, col );
model->ChangeValue( value, item, col );
}
// ---------------------------------------------------------
@@ -1933,8 +1932,7 @@ static void wxGtkToggleRendererToggledCallback( GtkCellRendererToggle *renderer,
unsigned int model_col = cell->GetOwner()->GetModelColumn();
model->SetValue( value, item, model_col );
model->ValueChanged( item, model_col );
model->ChangeValue( value, item, model_col );
}
IMPLEMENT_CLASS(wxDataViewToggleRenderer, wxDataViewRenderer)
@@ -2371,10 +2369,7 @@ END_EVENT_TABLE()
void wxDataViewDateRendererPopupTransient::OnCalendar( wxCalendarEvent &event )
{
wxDateTime date = event.GetDate();
wxVariant value = date;
m_model->SetValue( value, m_item, m_col );
m_model->ValueChanged( m_item, m_col );
m_model->ChangeValue( event.GetDate(), m_item, m_col );
DismissAndNotify();
}