Set string in wxEVT_COMMAND_COMBOBOX_SELECTED event in wxOSX/Cocoa.
Pass the selected string and not only its index in the event generated when combobox selection changes in wxOSX/Cocoa. Closes #14383. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71941 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -672,6 +672,12 @@ void ComboboxWidgetsPage::OnComboBox(wxCommandEvent& event)
|
|||||||
wxLogMessage(wxT("Combobox item %ld selected"), sel);
|
wxLogMessage(wxT("Combobox item %ld selected"), sel);
|
||||||
|
|
||||||
wxLogMessage(wxT("Combobox GetValue(): %s"), m_combobox->GetValue().c_str() );
|
wxLogMessage(wxT("Combobox GetValue(): %s"), m_combobox->GetValue().c_str() );
|
||||||
|
|
||||||
|
if ( event.GetString() != m_combobox->GetValue() )
|
||||||
|
{
|
||||||
|
wxLogMessage("ERROR: Event has different string \"%s\"",
|
||||||
|
event.GetString());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void ComboboxWidgetsPage::OnCheckOrRadioBox(wxCommandEvent& WXUNUSED(event))
|
void ComboboxWidgetsPage::OnCheckOrRadioBox(wxCommandEvent& WXUNUSED(event))
|
||||||
|
@@ -76,11 +76,14 @@
|
|||||||
wxWidgetCocoaImpl* impl = (wxWidgetCocoaImpl* ) wxWidgetImpl::FindFromWXWidget( self );
|
wxWidgetCocoaImpl* impl = (wxWidgetCocoaImpl* ) wxWidgetImpl::FindFromWXWidget( self );
|
||||||
if ( impl && impl->ShouldSendEvents())
|
if ( impl && impl->ShouldSendEvents())
|
||||||
{
|
{
|
||||||
wxWindow* wxpeer = (wxWindow*) impl->GetWXPeer();
|
wxComboBox* wxpeer = static_cast<wxComboBox*>(impl->GetWXPeer());
|
||||||
if ( wxpeer ) {
|
if ( wxpeer ) {
|
||||||
|
const int sel = wxpeer->GetSelection();
|
||||||
|
|
||||||
wxCommandEvent event(wxEVT_COMMAND_COMBOBOX_SELECTED, wxpeer->GetId());
|
wxCommandEvent event(wxEVT_COMMAND_COMBOBOX_SELECTED, wxpeer->GetId());
|
||||||
event.SetEventObject( wxpeer );
|
event.SetEventObject( wxpeer );
|
||||||
event.SetInt( static_cast<wxComboBox*>(wxpeer)->GetSelection() );
|
event.SetInt( sel );
|
||||||
|
event.SetString( wxpeer->GetString(sel) );
|
||||||
// For some reason, wxComboBox::GetValue will not return the newly selected item
|
// For some reason, wxComboBox::GetValue will not return the newly selected item
|
||||||
// while we're inside this callback, so use AddPendingEvent to make sure
|
// while we're inside this callback, so use AddPendingEvent to make sure
|
||||||
// GetValue() returns the right value.
|
// GetValue() returns the right value.
|
||||||
|
Reference in New Issue
Block a user