X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/f3e874756bf489b1aef770657ecd25d8a2fb3945..344ff08345eba81fcdcc55dd711ce6bc4bb747a3:/src/mac/carbon/spinctrl.cpp diff --git a/src/mac/carbon/spinctrl.cpp b/src/mac/carbon/spinctrl.cpp index bbdee58bbf..908ad7a0b5 100644 --- a/src/mac/carbon/spinctrl.cpp +++ b/src/mac/carbon/spinctrl.cpp @@ -15,7 +15,7 @@ #include "wx/spinbutt.h" #include "wx/spinctrl.h" #include "wx/textctrl.h" - +#include "wx/containr.h" // ---------------------------------------------------------------------------- // constants @@ -43,6 +43,15 @@ public: SetSizeHints(-1,-1); } + bool ProcessEvent(wxEvent &event) + { + // Hand button down events to wxSpinCtrl. Doesn't work. + if (event.GetEventType() == wxEVT_LEFT_DOWN && m_spin->ProcessEvent( event )) + return TRUE; + + return wxTextCtrl::ProcessEvent( event ); + } + protected: void OnTextChange(wxCommandEvent& event) { @@ -63,6 +72,7 @@ protected: // Send event that the text was manually changed wxCommandEvent event(wxEVT_COMMAND_TEXT_UPDATED, m_spin->GetId()); event.SetEventObject(m_spin); + event.SetString(m_spin->GetText()->GetValue()); event.SetInt(val); m_spin->GetEventHandler()->ProcessEvent(event); @@ -71,15 +81,6 @@ protected: event.Skip(); } - bool ProcessEvent(wxEvent &event) - { - // Hand button down events to wxSpinCtrl. Doesn't work. - if (event.GetEventType() == wxEVT_LEFT_DOWN && m_spin->ProcessEvent( event )) - return TRUE; - - return wxTextCtrl::ProcessEvent( event ); - } - private: wxSpinCtrl *m_spin; @@ -137,6 +138,13 @@ END_EVENT_TABLE() IMPLEMENT_DYNAMIC_CLASS(wxSpinCtrl, wxControl) +BEGIN_EVENT_TABLE(wxSpinCtrl, wxControl) + WX_EVENT_TABLE_CONTROL_CONTAINER(wxSpinCtrl) +END_EVENT_TABLE() + +WX_DELEGATE_TO_CONTROL_CONTAINER(wxSpinCtrl) + + // ============================================================================ // implementation // ============================================================================ @@ -149,6 +157,7 @@ void wxSpinCtrl::Init() { m_text = NULL; m_btn = NULL; + m_container.SetContainerWindow(this); } bool wxSpinCtrl::Create(wxWindow *parent, @@ -272,13 +281,6 @@ bool wxSpinCtrl::Show(bool show) return TRUE; } -void wxSpinCtrl::SetFocus() -{ - if ( m_text != NULL) { - m_text->SetFocus(); - } -} - // ---------------------------------------------------------------------------- // value and range access // ----------------------------------------------------------------------------