From: Vadim Zeitlin Date: Tue, 9 Oct 2012 21:02:17 +0000 (+0000) Subject: Generate text events in generic wxSpinCtrl itself. X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/319faba717040fd0af134f4a36fba3f0b8e284ab Generate text events in generic wxSpinCtrl itself. The text events in a wxSpinCtrl should originate from the control itself but they were just propagated upwards from wxTextCtrl embedded into it and hence had wrong event object and event ID fields. Fix this by making EVT_TEXT come from wxSpinCtrl itself, in addition to EVT_TEXT_ENTER ones which we already forwarded like this. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72648 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/src/generic/spinctlg.cpp b/src/generic/spinctlg.cpp index a6b11fece1..64d00b43ff 100644 --- a/src/generic/spinctlg.cpp +++ b/src/generic/spinctlg.cpp @@ -92,10 +92,8 @@ public: event.Skip(); } - void OnTextEnter(wxCommandEvent& event) + void OnTextEvent(wxCommandEvent& event) { - // We need to forward this event to the spin control itself as it's - // supposed to generate it if wxTE_PROCESS_ENTER is used with it. wxCommandEvent eventCopy(event); eventCopy.SetEventObject(m_spin); eventCopy.SetId(m_spin->GetId()); @@ -118,7 +116,15 @@ private: BEGIN_EVENT_TABLE(wxSpinCtrlTextGeneric, wxTextCtrl) EVT_CHAR(wxSpinCtrlTextGeneric::OnChar) - EVT_TEXT_ENTER(wxID_ANY, wxSpinCtrlTextGeneric::OnTextEnter) + + // Forward the text events to wxSpinCtrl itself adjusting them slightly in + // the process. + EVT_TEXT(wxID_ANY, wxSpinCtrlTextGeneric::OnTextEvent) + + // And we need to forward this one too as wxSpinCtrl is supposed to + // generate it if wxTE_PROCESS_ENTER is used with it (and if it isn't, + // we're never going to get EVT_TEXT_ENTER in the first place). + EVT_TEXT_ENTER(wxID_ANY, wxSpinCtrlTextGeneric::OnTextEvent) EVT_KILL_FOCUS(wxSpinCtrlTextGeneric::OnKillFocus) END_EVENT_TABLE()