// notifications
void OnQuit(wxCommandEvent& event);
void OnAbout(wxCommandEvent& event);
+
void OnCheckFirstItem(wxCommandEvent& event);
void OnUncheckFirstItem(wxCommandEvent& event);
void OnToggleFirstItem(wxCommandEvent& event);
void OnToggleSelection(wxCommandEvent& event);
+ void OnAddItems(wxCommandEvent& event);
+
void OnListboxSelect(wxCommandEvent& event);
void OnCheckboxToggle(wxCommandEvent& event);
void OnListboxDblClick(wxCommandEvent& event);
+
void OnButtonUp(wxCommandEvent& event);
void OnButtonDown(wxCommandEvent& event);
Menu_UncheckFirst,
Menu_ToggleFirst,
Menu_Selection,
+ Menu_AddItems,
Control_First = 1000,
Control_Listbox,
EVT_MENU(Menu_UncheckFirst, CheckListBoxFrame::OnUncheckFirstItem)
EVT_MENU(Menu_ToggleFirst, CheckListBoxFrame::OnToggleFirstItem)
EVT_MENU(Menu_Selection, CheckListBoxFrame::OnToggleSelection)
+ EVT_MENU(Menu_AddItems, CheckListBoxFrame::OnAddItems)
EVT_LISTBOX(Control_Listbox, CheckListBoxFrame::OnListboxSelect)
EVT_CHECKLISTBOX(Control_Listbox, CheckListBoxFrame::OnCheckboxToggle)
menuList->Append(Menu_UncheckFirst, _T("Uncheck the first item\tCtrl-U"));
menuList->Append(Menu_ToggleFirst, _T("Toggle the first item\tCtrl-T"));
menuList->AppendSeparator();
+ menuList->AppendCheckItem(Menu_AddItems, _T("Add more items\tCtrl-A"));
+ menuList->AppendSeparator();
menuList->AppendCheckItem(Menu_Selection, _T("Multiple selection\tCtrl-M"));
// put it all together
wxICON_INFORMATION, this);
}
-void CheckListBoxFrame::OnCheckFirstItem(wxCommandEvent& event)
+void CheckListBoxFrame::OnCheckFirstItem(wxCommandEvent& WXUNUSED(event))
{
if ( !m_pListBox->IsEmpty() )
m_pListBox->Check(0);
}
-void CheckListBoxFrame::OnUncheckFirstItem(wxCommandEvent& event)
+void CheckListBoxFrame::OnUncheckFirstItem(wxCommandEvent& WXUNUSED(event))
{
if ( !m_pListBox->IsEmpty() )
m_pListBox->Check(0, FALSE);
}
-void CheckListBoxFrame::OnToggleFirstItem(wxCommandEvent& event)
+void CheckListBoxFrame::OnToggleFirstItem(wxCommandEvent& WXUNUSED(event))
{
if ( !m_pListBox->IsEmpty() )
m_pListBox->Check(0, !m_pListBox->IsChecked(0));
}
+void CheckListBoxFrame::OnAddItems(wxCommandEvent& WXUNUSED(event))
+{
+ static size_t s_nItem = 0;
+ wxArrayString items;
+ items.Add(wxString::Format(_T("New item %lu"), (unsigned long)++s_nItem));
+ items.Add(wxString::Format(_T("New item %lu"), (unsigned long)++s_nItem));
+ items.Add(wxString::Format(_T("New item %lu"), (unsigned long)++s_nItem));
+
+ m_pListBox->InsertItems(items, 0);//m_pListBox->GetCount());
+}
+
void CheckListBoxFrame::OnToggleSelection(wxCommandEvent& event)
{
wxSizer *sizer = m_panel->GetSizer();
- sizer->Remove(m_pListBox);
+ sizer->Detach( m_pListBox );
delete m_pListBox;
CreateCheckListbox(event.IsChecked() ? wxLB_EXTENDED : 0);
void CheckListBoxFrame::OnListboxDblClick(wxCommandEvent& WXUNUSED(event))
{
wxString strSelection;
- strSelection.sprintf(wxT("Item %d double clicked"), m_pListBox->GetSelection());
+ strSelection.Printf(wxT("Item %d double clicked"), m_pListBox->GetSelection());
wxMessageDialog dialog(this, strSelection, wxT("wxCheckListBox message"), wxICON_INFORMATION);
dialog.ShowModal();
}