]> git.saurik.com Git - wxWidgets.git/blobdiff - src/generic/spinctlg.cpp
Replace incorrect uses of wxString::empty() with the intended clear().
[wxWidgets.git] / src / generic / spinctlg.cpp
index ca2a1bb465fed7b156ce7d94307cbf7f316ca870..9a2a5eb4e4d30773d38a1ce28e3eab6cb40c58ec 100644 (file)
@@ -85,13 +85,13 @@ public:
     void OnChar( wxKeyEvent &event )
     {
         if (m_spin)
-            m_spin->OnTextChar(event);
+            m_spin->ProcessWindowEvent(event);
     }
 
     void OnKillFocus(wxFocusEvent& event)
     {
         if (m_spin)
-            m_spin->OnTextLostFocus();
+            m_spin->ProcessWindowEvent(event);
 
         event.Skip();
     }
@@ -283,16 +283,24 @@ void wxSpinCtrlGenericBase::SetFocus()
         m_textCtrl->SetFocus();
 }
 
+#ifdef __WXMSW__
+
+void wxSpinCtrlGenericBase::DoEnable(bool enable)
+{
+    // We never enable this control itself, it must stay disabled to avoid
+    // interfering with the siblings event handling (see e.g. #12045 for the
+    // kind of problems which arise otherwise).
+    if ( !enable )
+        wxSpinCtrlBase::DoEnable(enable);
+}
+
+#endif // __WXMSW__
+
 bool wxSpinCtrlGenericBase::Enable(bool enable)
 {
-    // Notice that we never enable this control itself, it must stay disabled
-    // to avoid interfering with the siblings event handling (see e.g. #12045
-    // for the kind of problems which arise otherwise).
-    if ( enable == m_isEnabled )
+    if ( !wxSpinCtrlBase::Enable(enable) )
         return false;
 
-    m_isEnabled = enable;
-
     m_spinButton->Enable(enable);
     m_textCtrl->Enable(enable);
 
@@ -315,17 +323,6 @@ bool wxSpinCtrlGenericBase::Show(bool show)
     return true;
 }
 
-bool wxSpinCtrlGenericBase::Reparent(wxWindowBase *newParent)
-{
-    if ( m_spinButton )
-    {
-        m_spinButton->Reparent(newParent);
-        m_textCtrl->Reparent(newParent);
-    }
-
-    return true;
-}
-
 #if wxUSE_TOOLTIPS
 void wxSpinCtrlGenericBase::DoSetToolTip(wxToolTip *tip)
 {
@@ -357,6 +354,11 @@ void wxSpinCtrlGenericBase::DoSetToolTip(wxToolTip *tip)
 // Handle sub controls events
 // ----------------------------------------------------------------------------
 
+BEGIN_EVENT_TABLE(wxSpinCtrlGenericBase, wxSpinCtrlBase)
+    EVT_CHAR(wxSpinCtrlGenericBase::OnTextChar)
+    EVT_KILL_FOCUS(wxSpinCtrlGenericBase::OnTextLostFocus)
+END_EVENT_TABLE()
+
 void wxSpinCtrlGenericBase::OnSpinButton(wxSpinEvent& event)
 {
     event.Skip();
@@ -388,10 +390,12 @@ void wxSpinCtrlGenericBase::OnSpinButton(wxSpinEvent& event)
         DoSendEvent();
 }
 
-void wxSpinCtrlGenericBase::OnTextLostFocus()
+void wxSpinCtrlGenericBase::OnTextLostFocus(wxFocusEvent& event)
 {
     SyncSpinToText();
     DoSendEvent();
+
+    event.Skip();
 }
 
 void wxSpinCtrlGenericBase::OnTextChar(wxKeyEvent& event)