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

Backport of r75783.

Closes #15762.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75790 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Dimitri Schoolwerth
2014-02-04 16:59:13 +00:00
parent 1edbe53368
commit 63501404a5
3 changed files with 38 additions and 4 deletions

View File

@@ -632,6 +632,8 @@ wxMSW:
wxOSX:
- Fix incorrect joystick detection in configure (Lauri Nurmi).
- Add support for wxEVT_COMBOBOX_DROPDOWN and wxEVT_COMBOBOX_CLOSEUP
events to wxOSX/Cocoa (Igor Korot).
3.0.0: (released 2013-11-11)

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);