diff --git a/src/gtk/spinctrl.cpp b/src/gtk/spinctrl.cpp index b1d33df231..44d10c8a73 100644 --- a/src/gtk/spinctrl.cpp +++ b/src/gtk/spinctrl.cpp @@ -290,6 +290,16 @@ void wxSpinCtrl::OnChar( wxKeyEvent &event ) } } + if ((event.GetKeyCode() == WXK_RETURN)) + { + wxCommandEvent evt( wxEVT_COMMAND_TEXT_ENTER, m_windowId ); + evt.SetEventObject(this); + GtkSpinButton *gsb = GTK_SPIN_BUTTON(m_widget); + wxString val = wxGTK_CONV_BACK( gtk_entry_get_text( &gsb->entry ) ); + evt.SetString( val ); + if (GetEventHandler()->ProcessEvent(evt)) return; + } + event.Skip(); } diff --git a/src/gtk1/spinctrl.cpp b/src/gtk1/spinctrl.cpp index b1d33df231..44d10c8a73 100644 --- a/src/gtk1/spinctrl.cpp +++ b/src/gtk1/spinctrl.cpp @@ -290,6 +290,16 @@ void wxSpinCtrl::OnChar( wxKeyEvent &event ) } } + if ((event.GetKeyCode() == WXK_RETURN)) + { + wxCommandEvent evt( wxEVT_COMMAND_TEXT_ENTER, m_windowId ); + evt.SetEventObject(this); + GtkSpinButton *gsb = GTK_SPIN_BUTTON(m_widget); + wxString val = wxGTK_CONV_BACK( gtk_entry_get_text( &gsb->entry ) ); + evt.SetString( val ); + if (GetEventHandler()->ProcessEvent(evt)) return; + } + event.Skip(); }