X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d6f93922574f0733fde4817445c3575398e2bf7a..aa3e374197e99d6362468dd821935050e5074065:/src/osx/checklst_osx.cpp diff --git a/src/osx/checklst_osx.cpp b/src/osx/checklst_osx.cpp index 574d9ecf83..16e0993bc4 100644 --- a/src/osx/checklst_osx.cpp +++ b/src/osx/checklst_osx.cpp @@ -24,11 +24,9 @@ #include "wx/osx/private.h" -IMPLEMENT_DYNAMIC_CLASS(wxCheckListBox, wxListBox) - BEGIN_EVENT_TABLE(wxCheckListBox, wxListBox) END_EVENT_TABLE() - + void wxCheckListBox::Init() { } @@ -85,7 +83,7 @@ bool wxCheckListBox::Create( bool wxCheckListBox::IsChecked(unsigned int n) const { wxCHECK_MSG( IsValid(n), false, - _T("invalid index in wxCheckListBox::IsChecked") ); + wxT("invalid index in wxCheckListBox::IsChecked") ); return m_checks[n] != 0; } @@ -93,7 +91,7 @@ bool wxCheckListBox::IsChecked(unsigned int n) const void wxCheckListBox::Check(unsigned int n, bool check) { wxCHECK_RET( IsValid(n), - _T("invalid index in wxCheckListBox::Check") ); + wxT("invalid index in wxCheckListBox::Check") ); // intermediate var is needed to avoid compiler warning with VC++ bool isChecked = m_checks[n] != 0; @@ -108,7 +106,7 @@ void wxCheckListBox::Check(unsigned int n, bool check) void wxCheckListBox::GetValueCallback( unsigned int n, wxListWidgetColumn* col , wxListWidgetCellValue& value ) { if ( col == m_checkColumn ) - value.Set( IsChecked( n ) ); + value.Check( IsChecked( n ) ); else wxListBox::GetValueCallback( n, col, value ); } @@ -117,10 +115,11 @@ void wxCheckListBox::SetValueCallback( unsigned int n, wxListWidgetColumn* col , { if ( col == m_checkColumn ) { - Check( n, value.GetIntValue() ); - + Check( n, value.IsChecked() ); + wxCommandEvent event( wxEVT_COMMAND_CHECKLISTBOX_TOGGLED, GetId() ); event.SetInt( n ); + event.SetString( GetString( n ) ); event.SetEventObject( this ); HandleWindowEvent( event ); } @@ -134,6 +133,8 @@ void wxCheckListBox::SetValueCallback( unsigned int n, wxListWidgetColumn* col , void wxCheckListBox::OnItemInserted(unsigned int pos) { + wxListBox::OnItemInserted(pos); + m_checks.Insert(false, pos ); } @@ -146,6 +147,8 @@ void wxCheckListBox::DoDeleteOneItem(unsigned int n) void wxCheckListBox::DoClear() { + wxListBox::DoClear(); + m_checks.Empty(); }