Added support for wxEVT_COMBOBOX_DROPDOWN and wxEVT_COMBOBOX_CLOSEUP events to wxOSX/Cocoa.

See #15762.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75783 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Dimitri Schoolwerth 2014-02-04 09:32:16 +00:00
parent 49ea9ebb64
commit 6d34b1b760
3 changed files with 41 additions and 4 deletions

View File

@ -41,3 +41,8 @@ wxMSW:
- Make wxFILTER_INCLUDE_LIST in wxTextValidator actually usable.
- Fix handling of selected images in wxBitmapButton (Artur Wieczorek).
- Support multiline strings in wxDC::DrawRotatedText() (Artur Wieczorek).
wxOSX/Cocoa:
- Add support for wxEVT_COMBOBOX_DROPDOWN and wxEVT_COMBOBOX_CLOSEUP
events (Igor Korot).

View File

@ -60,14 +60,14 @@
@event{EVT_COMBOBOX_DROPDOWN(id, func)}
Process a @c wxEVT_COMBOBOX_DROPDOWN event, which is generated
when the list box part of the combo box is shown (drops down).
Notice that this event is currently only supported by wxMSW and
wxGTK with GTK+ 2.10 or later.
Notice that this event is only supported by wxMSW, wxGTK with GTK+
2.10 or later, and wxOSX/Cocoa.
@event{EVT_COMBOBOX_CLOSEUP(id, func)}
Process a @c wxEVT_COMBOBOX_CLOSEUP event, which is generated
when the list box of the combo box disappears (closes up). This
event is only generated for the same platforms as
@c wxEVT_COMBOBOX_DROPDOWN above. Also note that only wxMSW
supports adding or deleting items in this event.
@c wxEVT_COMBOBOX_DROPDOWN above. Also note that only wxMSW and
wxOSX/Cocoa support adding or deleting items in this event.
@endEventTable
@library{wxcore}

View File

@ -90,6 +90,38 @@
}
}
- (void)comboBoxWillPopUp:(NSNotification *)notification
{
wxUnusedVar(notification);
wxWidgetCocoaImpl* impl = (wxWidgetCocoaImpl* ) wxWidgetImpl::FindFromWXWidget( self );
if( impl && impl->ShouldSendEvents() )
{
wxComboBox* wxpeer = static_cast<wxComboBox*>(impl->GetWXPeer());
if( wxpeer )
{
wxCommandEvent event(wxEVT_COMBOBOX_DROPDOWN, wxpeer->GetId());
event.SetEventObject( wxpeer );
wxpeer->GetEventHandler()->ProcessEvent( event );
}
}
}
- (void)comboBoxWillDismiss:(NSNotification *)notification
{
wxUnusedVar(notification);
wxWidgetCocoaImpl* impl = (wxWidgetCocoaImpl* ) wxWidgetImpl::FindFromWXWidget( self );
if( impl && impl->ShouldSendEvents() )
{
wxComboBox* wxpeer = static_cast<wxComboBox*>(impl->GetWXPeer());
if( wxpeer )
{
wxCommandEvent event(wxEVT_COMBOBOX_CLOSEUP, wxpeer->GetId());
event.SetEventObject( wxpeer );
wxpeer->GetEventHandler()->ProcessEvent( event );
}
}
}
- (void)comboBoxSelectionDidChange:(NSNotification *)notification
{
wxUnusedVar(notification);