A test button to the listctrl sample

This commit is contained in:
Lauri Nurmi
2019-11-19 21:07:04 +02:00
parent 27495c5484
commit 9d9b0c51c8

View File

@@ -53,6 +53,8 @@
// Constants and globals // Constants and globals
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
wxButton *m_button;
const wxChar *SMALL_VIRTUAL_VIEW_ITEMS[][2] = const wxChar *SMALL_VIRTUAL_VIEW_ITEMS[][2] =
{ {
{ wxT("Cat"), wxT("meow") }, { wxT("Cat"), wxT("meow") },
@@ -308,8 +310,12 @@ MyFrame::MyFrame(const wxString& title)
CreateStatusBar(); CreateStatusBar();
#endif // wxUSE_STATUSBAR #endif // wxUSE_STATUSBAR
m_button = new wxButton(m_panel, wxID_ANY, "Do something with the selected item");
m_button->Enable(false);
wxBoxSizer* const sizer = new wxBoxSizer(wxVERTICAL); wxBoxSizer* const sizer = new wxBoxSizer(wxVERTICAL);
sizer->Add(m_listCtrl, wxSizerFlags(2).Expand().Border()); sizer->Add(m_listCtrl, wxSizerFlags(2).Expand().Border());
sizer->Add(m_button, wxSizerFlags(2));
sizer->Add(m_logWindow, wxSizerFlags(1).Expand().Border()); sizer->Add(m_logWindow, wxSizerFlags(1).Expand().Border());
m_panel->SetSizer(sizer); m_panel->SetSizer(sizer);
@@ -1184,7 +1190,9 @@ void MyListCtrl::OnDeleteAllItems(wxListEvent& event)
void MyListCtrl::OnSelected(wxListEvent& event) void MyListCtrl::OnSelected(wxListEvent& event)
{ {
LogEvent(event, "OnSelected"); m_button->Enable(true);
LogEvent(event, "OnSelected");
if ( GetWindowStyle() & wxLC_REPORT ) if ( GetWindowStyle() & wxLC_REPORT )
{ {
@@ -1206,6 +1214,8 @@ void MyListCtrl::OnSelected(wxListEvent& event)
void MyListCtrl::OnDeselected(wxListEvent& event) void MyListCtrl::OnDeselected(wxListEvent& event)
{ {
if (GetSelectedItemCount() == 0)
m_button->Enable(false);
LogEvent(event, "OnDeselected"); LogEvent(event, "OnDeselected");
} }
@@ -1258,7 +1268,7 @@ void MyListCtrl::OnListKeyDown(wxListEvent& event)
if ( !wxGetKeyState(WXK_SHIFT) ) if ( !wxGetKeyState(WXK_SHIFT) )
{ {
LogEvent(event, "OnListKeyDown"); //LogEvent(event, "OnListKeyDown");
event.Skip(); event.Skip();
} }
@@ -1409,7 +1419,7 @@ void MyListCtrl::OnListKeyDown(wxListEvent& event)
wxFALLTHROUGH; wxFALLTHROUGH;
default: default:
LogEvent(event, "OnListKeyDown"); //LogEvent(event, "OnListKeyDown");
event.Skip(); event.Skip();
} }