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