diff --git a/include/wx/generic/dvrenderers.h b/include/wx/generic/dvrenderers.h index fe71dc45f6..5131894960 100644 --- a/include/wx/generic/dvrenderers.h +++ b/include/wx/generic/dvrenderers.h @@ -126,6 +126,11 @@ public: wxDataViewModel *model, const wxDataViewItem& item, unsigned int col); + + virtual bool WXOnActivate(const wxRect& cell, + wxDataViewModel *model, + const wxDataViewItem& item, + unsigned int col); private: bool m_toggle; diff --git a/src/generic/datavgen.cpp b/src/generic/datavgen.cpp index e5cb0ce44d..07415d15f6 100644 --- a/src/generic/datavgen.cpp +++ b/src/generic/datavgen.cpp @@ -939,7 +939,7 @@ bool wxDataViewToggleRenderer::Render( wxRect cell, wxDC *dc, int WXUNUSED(state } bool wxDataViewToggleRenderer::WXOnLeftClick(const wxPoint& cursor, - const wxRect& WXUNUSED(cell), + const wxRect& cell, wxDataViewModel *model, const wxDataViewItem& item, unsigned int col) @@ -948,6 +948,14 @@ bool wxDataViewToggleRenderer::WXOnLeftClick(const wxPoint& cursor, if (!wxRect(GetSize()).Contains(cursor)) return false; + return WXOnActivate(cell, model, item, col); +} + +bool wxDataViewToggleRenderer::WXOnActivate(const wxRect& WXUNUSED(cell), + wxDataViewModel *model, + const wxDataViewItem& item, + unsigned int col) +{ if (model->IsEnabled(item, col)) { model->ChangeValue(!m_toggle, item, col);