Update listctrl example to recent wxListCtrl checkbox changes

Don't override CheckItem/IsItemChecked, but handle the checked/unchecked events.
This commit is contained in:
Maarten Bent 2023-09-21 15:39:59 +02:00
parent 1b8f498685
commit abdbe661c4
No known key found for this signature in database
GPG key ID: 58AAEE3F4A4FD070
2 changed files with 5 additions and 31 deletions

View file

@ -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

View file

@ -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);