From abdbe661c482e00538f350fe33f5ca8aa56f1e40 Mon Sep 17 00:00:00 2001 From: Maarten Bent Date: Thu, 21 Sep 2023 15:39:59 +0200 Subject: [PATCH] Update listctrl example to recent wxListCtrl checkbox changes Don't override CheckItem/IsItemChecked, but handle the checked/unchecked events. --- samples/listctrl/listtest.cpp | 33 +++++---------------------------- samples/listctrl/listtest.h | 3 --- 2 files changed, 5 insertions(+), 31 deletions(-) diff --git a/samples/listctrl/listtest.cpp b/samples/listctrl/listtest.cpp index 963c0168cd..a27e291639 100644 --- a/samples/listctrl/listtest.cpp +++ b/samples/listctrl/listtest.cpp @@ -1276,7 +1276,8 @@ void MyListCtrl::OnChecked(wxListEvent& event) if ( IsVirtual() ) { - CheckItem(event.GetIndex(), true); + m_checked.SelectItem(event.GetIndex(), true); + RefreshItem(event.GetIndex()); } event.Skip(); @@ -1288,7 +1289,8 @@ void MyListCtrl::OnUnChecked(wxListEvent& event) if ( IsVirtual() ) { - CheckItem(event.GetIndex(), false); + m_checked.SelectItem(event.GetIndex(), false); + RefreshItem(event.GetIndex()); } event.Skip(); @@ -1513,34 +1515,9 @@ wxString MyListCtrl::OnGetItemText(long item, long column) const } } -void MyListCtrl::CheckItem(long item, bool check) -{ - if ( IsVirtual() ) - { - m_checked.SelectItem(item, check); - RefreshItem(item); - } - else - { - wxListCtrl::CheckItem(item, check); - } -} - -bool MyListCtrl::IsItemChecked(long item) const -{ - if ( IsVirtual() ) - { - return m_checked.IsSelected(item); - } - else - { - return wxListCtrl::IsItemChecked(item); - } -} - bool MyListCtrl::OnGetItemIsChecked(long item) const { - return IsItemChecked(item); + return m_checked.IsSelected(item); } int MyListCtrl::OnGetItemColumnImage(long item, long column) const diff --git a/samples/listctrl/listtest.h b/samples/listctrl/listtest.h index 1a7c32b9af..e596e0e00a 100644 --- a/samples/listctrl/listtest.h +++ b/samples/listctrl/listtest.h @@ -74,9 +74,6 @@ public: void OnRightClick(wxMouseEvent& event); - virtual void CheckItem(long item, bool check) override; - virtual bool IsItemChecked(long item) const override; - private: void ShowContextMenu(const wxPoint& pos, long item); void SetColumnImage(int col, int image);