]> git.saurik.com Git - wxWidgets.git/commitdiff
Generate text events in generic wxSpinCtrl itself.
authorVadim Zeitlin <vadim@wxwidgets.org>
Tue, 9 Oct 2012 21:02:17 +0000 (21:02 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Tue, 9 Oct 2012 21:02:17 +0000 (21:02 +0000)
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

src/generic/spinctlg.cpp

index a6b11fece1d7080a80e1ae94fece8b220171568f..64d00b43ffa7e05542077dae0d069d2998d18ef5 100644 (file)
@@ -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()