wxSize tsize(xlen + sizeBtn.x + MARGIN, totalS.y);
#if defined(__WXMSW__)
- tsize.IncBy(0.4 * totalS.y + 4, 0);
+ tsize.IncBy(4*totalS.y/10 + 4, 0);
#elif defined(__WXGTK__)
tsize.IncBy(totalS.y + 10, 0);
#endif // MSW GTK
{
wxCHECK_MSG( m_textCtrl, false, wxT("invalid call to wxSpinCtrl::SetValue") );
- if (!InRange(val))
- return false;
-
+ if ( val < m_min )
+ val = m_min;
+ if ( val > m_max )
+ val = m_max;
+
if ( m_snap_to_ticks && (m_increment != 0) )
{
double snap_value = val / m_increment;
void wxSpinCtrlGenericBase::DoSetRange(double min, double max)
{
m_min = min;
+ if ( m_value < m_min )
+ DoSetValue(m_min);
m_max = max;
+ if ( m_value > m_max )
+ DoSetValue(m_max);
}
void wxSpinCtrlGenericBase::DoSetIncrement(double inc)
void wxSpinCtrl::DoSendEvent()
{
- wxSpinEvent event( wxEVT_COMMAND_SPINCTRL_UPDATED, GetId());
+ wxSpinEvent event( wxEVT_SPINCTRL, GetId());
event.SetEventObject( this );
event.SetPosition((int)(m_value + 0.5)); // FIXME should be SetValue
event.SetString(m_textCtrl->GetValue());
void wxSpinCtrlDouble::DoSendEvent()
{
- wxSpinDoubleEvent event( wxEVT_COMMAND_SPINCTRLDOUBLE_UPDATED, GetId());
+ wxSpinDoubleEvent event( wxEVT_SPINCTRLDOUBLE, GetId());
event.SetEventObject( this );
event.SetValue(m_value);
event.SetString(m_textCtrl->GetValue());