X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/7ac5e1c9088dedba495f5af5dbfb23ca89487a78..cf25a599cd5ec86b3e054efb799dfbafe26a0d50:/src/osx/listbox_osx.cpp diff --git a/src/osx/listbox_osx.cpp b/src/osx/listbox_osx.cpp index e138470cae..fc3251897f 100644 --- a/src/osx/listbox_osx.cpp +++ b/src/osx/listbox_osx.cpp @@ -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; @@ -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) ) { } @@ -272,11 +275,7 @@ wxListBox::GetClassDefaultAttributes(wxWindowVariant WXUNUSED(variant)) attr.colFg = wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOWTEXT ); attr.colBg = wxSystemSettings::GetColour( wxSYS_COLOUR_LISTBOX ); -#if wxOSX_USE_ATSU_TEXT - attr.font.MacCreateFromThemeFont(kThemeViewsFont); -#else - attr.font.MacCreateFromUIFont(kCTFontViewsFontType); -#endif + attr.font.CreateSystemFont(wxOSX_SYSTEM_FONT_VIEWS); return attr; } @@ -370,4 +369,23 @@ void wxListBox::SetString(unsigned int n, const wxString& s) GetListPeer()->UpdateLine(n); } +// +// common event handling +// + +void wxListBox::HandleLineEvent( unsigned int n, bool doubleClick ) +{ + wxCommandEvent event( doubleClick ? wxEVT_COMMAND_LISTBOX_DOUBLECLICKED : + wxEVT_COMMAND_LISTBOX_SELECTED, GetId() ); + event.SetEventObject( this ); + if ( HasClientObjectData() ) + event.SetClientObject( GetClientObject(n) ); + else if ( HasClientUntypedData() ) + event.SetClientData( GetClientData(n) ); + event.SetString( GetString(n) ); + event.SetInt( n ); + event.SetExtraLong( 1 ); + HandleWindowEvent(event); +} + #endif // wxUSE_LISTBOX