// Created: 29.01.01
// RCS-ID: $Id$
// Copyright: (c) 2001 Vadim Zeitlin <zeitlin@dptmaths.ens-cachan.fr>
-// License: wxWindows licence
+// Licence: wxWindows licence
///////////////////////////////////////////////////////////////////////////////
// ============================================================================
delete text;
}
- delete m_spinButton;
- m_spinButton = NULL;
+ wxDELETE(m_spinButton);
}
// ----------------------------------------------------------------------------
// operations forwarded to the subcontrols
// ----------------------------------------------------------------------------
+void wxSpinCtrlGenericBase::SetFocus()
+{
+ if ( m_textCtrl )
+ m_textCtrl->SetFocus();
+}
+
bool wxSpinCtrlGenericBase::Enable(bool enable)
{
- if ( !wxControl::Enable(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 )
return false;
+ m_isEnabled = enable;
+
m_spinButton->Enable(enable);
m_textCtrl->Enable(enable);
{
wxCHECK_RET( digits <= 20, "too many digits for wxSpinCtrlDouble" );
+ if ( digits == m_digits )
+ return;
+
+ m_digits = digits;
+
m_format.Printf(wxT("%%0.%ulf"), digits);
DoSetValue(m_value);