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:
Vadim Zeitlin
2015-07-17 15:23:13 +02:00
parent e3de2916bb
commit 78d09e2e90
2 changed files with 11 additions and 0 deletions

View File

@@ -173,6 +173,10 @@ public:
becomes the earliest date (inclusive) accepted by the control. If
@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
set range bounds, the behaviour is undefined.
*/

View File

@@ -106,6 +106,13 @@ void DatePickerCtrlTestCase::Range()
m_datepicker->SetValue(dtStart - wxTimeSpan::Day());
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