diff --git a/include/wx/gtk/spinctrl.h b/include/wx/gtk/spinctrl.h index b5bfa96c72..611f859382 100644 --- a/include/wx/gtk/spinctrl.h +++ b/include/wx/gtk/spinctrl.h @@ -72,6 +72,7 @@ public: virtual bool GTKOutput(wxString* text) const = 0; virtual void GTKValueChanged() = 0; + void GTKTextChanged(); protected: wxSpinCtrlGTKBase(); diff --git a/src/gtk/spinctrl.cpp b/src/gtk/spinctrl.cpp index 2c665ae55e..4639674234 100644 --- a/src/gtk/spinctrl.cpp +++ b/src/gtk/spinctrl.cpp @@ -54,11 +54,7 @@ extern "C" { static void gtk_changed(GtkSpinButton*, wxSpinCtrl* win) { - wxCommandEvent event( wxEVT_TEXT, win->GetId() ); - event.SetEventObject( win ); - event.SetString(win->GetTextValue()); - event.SetInt(win->GetValue()); - win->HandleWindowEvent( event ); + win->GTKTextChanged(); } } @@ -526,6 +522,15 @@ bool wxSpinCtrlGTKBase::GTKOutput(wxString* text) const return false; } +void wxSpinCtrlGTKBase::GTKTextChanged() +{ + wxCommandEvent event( wxEVT_TEXT, GetId() ); + event.SetEventObject( this ); + event.SetString(GetTextValue()); + event.SetInt(static_cast(DoGetValue())); + HandleWindowEvent( event ); +} + //----------------------------------------------------------------------------- // wxSpinCtrl //-----------------------------------------------------------------------------