From: Robin Dunn Date: Sun, 8 Oct 2006 06:37:50 +0000 (+0000) Subject: Override CreateItem so wxListBox can turn its notifications into events. X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/e6fd62dd849e051b82374afd31e3d62454c98483 Override CreateItem so wxListBox can turn its notifications into events. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41687 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/include/wx/mac/carbon/private.h b/include/wx/mac/carbon/private.h index 1546005d45..75947c1bae 100644 --- a/include/wx/mac/carbon/private.h +++ b/include/wx/mac/carbon/private.h @@ -1054,6 +1054,8 @@ public: wxMacDataBrowserListControl( wxWindow *peer, const wxPoint& pos, const wxSize& size, long style ); virtual ~wxMacDataBrowserListControl(); + virtual wxMacDataItem* CreateItem(); + // pointing back wxWindow * GetPeer() const; diff --git a/src/mac/carbon/listbox.cpp b/src/mac/carbon/listbox.cpp index e33c00c5dd..35de39915c 100644 --- a/src/mac/carbon/listbox.cpp +++ b/src/mac/carbon/listbox.cpp @@ -503,10 +503,12 @@ void wxMacListBoxItem::Notification(wxMacDataItemBrowserControl *owner , event.SetString( m_label ); event.SetInt( owner->GetLineFromItem( this ) ); event.SetExtraLong( list->HasMultipleSelection() ? message == kDataBrowserItemSelected : true ); - wxPostEvent( list->GetEventHandler(), event ); - // direct notification is not always having the listbox GetSelection() having in synch with event + // direct notification is not always having the listbox GetSelection() + // having in synch with event, so use wxPostEvent instead // list->GetEventHandler()->ProcessEvent(event); + + wxPostEvent( list->GetEventHandler(), event ); } } @@ -602,6 +604,11 @@ wxWindow * wxMacDataBrowserListControl::GetPeer() const return wxDynamicCast( wxMacControl::GetPeer() , wxWindow ); } +wxMacDataItem* wxMacDataBrowserListControl::CreateItem() +{ + return new wxMacListBoxItem(); +} + #if 0 // in case we need that one day