X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/f1c40652a0c2d6752c57df1b8aed22fae7e118dd..345ff9c65b3ef17709785708b224dfcbf5135583:/src/osx/listbox_osx.cpp diff --git a/src/osx/listbox_osx.cpp b/src/osx/listbox_osx.cpp index 9ab8efb30e..25a06fd79e 100644 --- a/src/osx/listbox_osx.cpp +++ b/src/osx/listbox_osx.cpp @@ -88,7 +88,7 @@ bool wxListBox::Create( m_strings.unsorted = new wxArrayString; m_peer = wxWidgetImpl::CreateListBox( this, parent, id, pos, size, style, GetExtraStyle() ); - + MacPostControlCreate( pos, size ); m_textColumn = GetListPeer()->InsertTextColumn(0,wxEmptyString); @@ -103,7 +103,10 @@ bool wxListBox::Create( wxListBox::~wxListBox() { + m_blockEvents = true; FreeData(); + m_blockEvents = false; + // make sure no native events get sent to a object in destruction delete m_peer; m_peer = NULL; @@ -152,7 +155,7 @@ void wxListBox::DoDeleteOneItem(unsigned int n) GetListPeer()->ListDelete( n ); m_blockEvents = false; - + UpdateOldSelections(); } @@ -161,7 +164,7 @@ void wxListBox::DoClear() m_blockEvents = true; FreeData(); m_blockEvents = false; - + UpdateOldSelections(); } @@ -175,14 +178,14 @@ void wxListBox::DoSetSelection(int n, bool select) wxT("invalid index in wxListBox::SetSelection") ); m_blockEvents = true; - + if ( n == wxNOT_FOUND ) GetListPeer()->ListDeselectAll(); else GetListPeer()->ListSetSelection( n, select, HasMultipleSelection() ); - + m_blockEvents = false; - + UpdateOldSelections(); } @@ -215,7 +218,7 @@ void wxListBox::GetValueCallback( unsigned int n, wxListWidgetColumn* col , wxLi value.Set( GetString( n ) ); } -void wxListBox::SetValueCallback( unsigned int n, wxListWidgetColumn* col , wxListWidgetCellValue& value ) +void wxListBox::SetValueCallback( unsigned int WXUNUSED(n), wxListWidgetColumn* WXUNUSED(col) , wxListWidgetCellValue& WXUNUSED(value) ) { } @@ -356,7 +359,7 @@ int wxListBox::DoInsertItems(const wxArrayStringsAdapter& items, void wxListBox::SetString(unsigned int n, const wxString& s) { - wxCHECK_RET( !IsSorted(), _T("can't set string in sorted listbox") ); + wxCHECK_RET( !IsSorted(), wxT("can't set string in sorted listbox") ); if ( IsSorted() ) (*m_strings.sorted)[n] = s; @@ -372,7 +375,7 @@ void wxListBox::SetString(unsigned int n, const wxString& s) void wxListBox::HandleLineEvent( unsigned int n, bool doubleClick ) { - wxCommandEvent event( doubleClick ? wxEVT_COMMAND_LISTBOX_DOUBLECLICKED : + wxCommandEvent event( doubleClick ? wxEVT_COMMAND_LISTBOX_DOUBLECLICKED : wxEVT_COMMAND_LISTBOX_SELECTED, GetId() ); event.SetEventObject( this ); if ( HasClientObjectData() ) @@ -385,4 +388,20 @@ void wxListBox::HandleLineEvent( unsigned int n, bool doubleClick ) HandleWindowEvent(event); } +// +// common list cell value operations +// + +void wxListWidgetCellValue::Check( bool check ) +{ + Set( check ? 1 : 0 ); +} + +bool wxListWidgetCellValue::IsChecked() const +{ + return GetIntValue() != 0; +} + + + #endif // wxUSE_LISTBOX