From 51fbe4cc1d6f3368c55a07149abf13967dce3d9e Mon Sep 17 00:00:00 2001 From: Robert Roebling Date: Sun, 1 Feb 2009 23:43:59 +0000 Subject: [PATCH] Make wxCheckListBox call event.SetString() on all platforms, not just wxMSW. Mention again, that wxCommandEvent::IsChecked() cannot be used for it. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58616 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- interface/wx/checklst.h | 5 ++++- interface/wx/event.h | 2 ++ src/gtk/checklst.cpp | 1 + src/osx/checklst_osx.cpp | 1 + 4 files changed, 8 insertions(+), 1 deletion(-) diff --git a/interface/wx/checklst.h b/interface/wx/checklst.h index 40901ece48..f1cc9e9a9a 100644 --- a/interface/wx/checklst.h +++ b/interface/wx/checklst.h @@ -18,7 +18,10 @@ @beginEventTable{wxCommandEvent} @event{EVT_CHECKLISTBOX(id, func)} Process a wxEVT_COMMAND_CHECKLISTBOX_TOGGLED event, when an item in - the check list box is checked or unchecked. + the check list box is checked or unchecked. wxCommandEvent::GetInt() + will contain the index of the item that was checked or unchecked. + wxCommandEvent::IsChecked() is not valid! Use wxCheckListBox::IsChecked() + instead. @endEventTable @library{wxcore} diff --git a/interface/wx/event.h b/interface/wx/event.h index 0a7e0a54ef..638b185ee2 100644 --- a/interface/wx/event.h +++ b/interface/wx/event.h @@ -1986,6 +1986,8 @@ public: Process a @c wxEVT_COMMAND_LISTBOX_SELECTED command, which is generated by a wxListBox control. @event{EVT_LISTBOX_DCLICK(id, func)} Process a @c wxEVT_COMMAND_LISTBOX_DOUBLECLICKED command, which is generated by a wxListBox control. + @event{EVT_CHECKLISTBOX(id, func)} + Process a @c wxEVT_COMMAND_CHECKLISTBOX_TOGGLED command, which is generated by a wxCheckListBox control. @event{EVT_MENU(id, func)} Process a @c wxEVT_COMMAND_MENU_SELECTED command, which is generated by a menu item. @event{EVT_MENU_RANGE(id1, id2, func)} diff --git a/src/gtk/checklst.cpp b/src/gtk/checklst.cpp index d3fe708a63..b61f34cf4a 100644 --- a/src/gtk/checklst.cpp +++ b/src/gtk/checklst.cpp @@ -35,6 +35,7 @@ static void gtk_checklist_toggled(GtkCellRendererToggle * WXUNUSED(renderer), listbox->GetId() ); new_event.SetEventObject( listbox ); new_event.SetInt( gtk_tree_path_get_indices(path)[0] ); + new_event.SetString( listbox->GetString( new_event.GetInt() )); gtk_tree_path_free(path); listbox->Check( new_event.GetInt(), !listbox->IsChecked(new_event.GetInt())); listbox->HandleWindowEvent( new_event ); diff --git a/src/osx/checklst_osx.cpp b/src/osx/checklst_osx.cpp index b420d6d3ec..be06c9f289 100644 --- a/src/osx/checklst_osx.cpp +++ b/src/osx/checklst_osx.cpp @@ -121,6 +121,7 @@ void wxCheckListBox::SetValueCallback( unsigned int n, wxListWidgetColumn* col , wxCommandEvent event( wxEVT_COMMAND_CHECKLISTBOX_TOGGLED, GetId() ); event.SetInt( n ); + event.SetString( GetString( n ) ); event.SetEventObject( this ); HandleWindowEvent( event ); }