Document and test wxDatePickerCtrl::SetRange() date-clamping behaviour.
Document that the current value of the control is adjusted if it doesn't lie in the newly set range and add a unit test to check for this, now that it actually passes under all platforms, after the previous commits.
This commit is contained in:
@@ -173,6 +173,10 @@ public:
|
|||||||
becomes the earliest date (inclusive) accepted by the control. If
|
becomes the earliest date (inclusive) accepted by the control. If
|
||||||
@a dt2 is valid, it becomes the latest possible date.
|
@a dt2 is valid, it becomes the latest possible date.
|
||||||
|
|
||||||
|
Notice that if the current value is not inside the new range, it will
|
||||||
|
be adjusted to lie inside it, i.e. calling this method can change the
|
||||||
|
control value, however no events are generated by it.
|
||||||
|
|
||||||
@remarks If the current value of the control is outside of the newly
|
@remarks If the current value of the control is outside of the newly
|
||||||
set range bounds, the behaviour is undefined.
|
set range bounds, the behaviour is undefined.
|
||||||
*/
|
*/
|
||||||
|
@@ -106,6 +106,13 @@ void DatePickerCtrlTestCase::Range()
|
|||||||
|
|
||||||
m_datepicker->SetValue(dtStart - wxTimeSpan::Day());
|
m_datepicker->SetValue(dtStart - wxTimeSpan::Day());
|
||||||
CPPUNIT_ASSERT_EQUAL( dtEnd, m_datepicker->GetValue() );
|
CPPUNIT_ASSERT_EQUAL( dtEnd, m_datepicker->GetValue() );
|
||||||
|
|
||||||
|
|
||||||
|
// Changing the range should clamp the current value to it if necessary.
|
||||||
|
const wxDateTime
|
||||||
|
dtBeforeEnd = dtEnd - wxDateSpan::Day();
|
||||||
|
m_datepicker->SetRange(dtStart, dtBeforeEnd);
|
||||||
|
CPPUNIT_ASSERT_EQUAL( dtBeforeEnd, m_datepicker->GetValue() );
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif // wxUSE_DATEPICKCTRL
|
#endif // wxUSE_DATEPICKCTRL
|
||||||
|
Reference in New Issue
Block a user