X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2f073eb2e0786fa44dd41d31eb34d00a75ab0570..d06800f14a0fdf7814403b3a5295189511274d67:/samples/checklst/checklst.cpp diff --git a/samples/checklst/checklst.cpp b/samples/checklst/checklst.cpp index fdefc46f6c..039e140226 100644 --- a/samples/checklst/checklst.cpp +++ b/samples/checklst/checklst.cpp @@ -62,6 +62,8 @@ public: private: void OnButtonMove(bool up); + void AdjustColour(size_t index); + wxCheckListBox *m_pListBox; DECLARE_EVENT_TABLE() @@ -157,13 +159,10 @@ CheckListBoxFrame::CheckListBoxFrame(wxFrame *frame, delete [] astrChoices; - // not implemented in other ports yet -#ifdef __WXMSW__ // set grey background for every second entry for ( ui = 0; ui < WXSIZEOF(aszChoices); ui += 2 ) { - m_pListBox->GetItem(ui)->SetBackgroundColour(wxColor(200, 200, 200)); + AdjustColour(ui); } -#endif // wxGTK m_pListBox->Check(2); @@ -252,7 +251,7 @@ void CheckListBoxFrame::OnButtonMove(bool up) wxString label = m_pListBox->GetString(selection); int positionNew = up ? selection - 1 : selection + 2; - if ( positionNew < 0 || positionNew > m_pListBox->Number() ) + if ( positionNew < 0 || positionNew > m_pListBox->GetCount() ) { wxLogStatus(this, _T("Can't move this item %s"), up ? _T("up") : _T("down")); } @@ -272,6 +271,9 @@ void CheckListBoxFrame::OnButtonMove(bool up) m_pListBox->Check(selectionNew, wasChecked); m_pListBox->SetSelection(selectionNew); + AdjustColour(selection); + AdjustColour(selectionNew); + wxLogStatus(this, _T("Item moved %s"), up ? _T("up") : _T("down")); } } @@ -280,3 +282,13 @@ void CheckListBoxFrame::OnButtonMove(bool up) wxLogStatus(this, _T("Please select an item")); } } + +void CheckListBoxFrame::AdjustColour(size_t index) +{ + // not implemented in other ports yet +#ifdef __WXMSW__ + // even items have grey backround, odd ones - white + unsigned char c = index % 2 ? 255 : 200; + m_pListBox->GetItem(index)->SetBackgroundColour(wxColor(c, c, c)); +#endif // wxMSW +}