fixes for wxDP_ALLOWNONE handling

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@31988 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin 2005-02-13 13:07:20 +00:00
parent 3200f37d25
commit 2436cac777

View File

@ -582,19 +582,17 @@ void wxDatePickerCtrlGeneric::OnKillFocus(wxFocusEvent &ev)
wxDateTime dt; wxDateTime dt;
dt.ParseFormat(m_txt->GetValue(), m_format); dt.ParseFormat(m_txt->GetValue(), m_format);
if (!dt.IsValid()) if ( !dt.IsValid() )
{ {
if ( !HasFlag(wxDP_ALLOWNONE) ) if ( !HasFlag(wxDP_ALLOWNONE) )
dt = m_currentDate; dt = m_currentDate;
} }
if (!dt.IsValid()) m_txt->SetValue(dt.IsValid()? dt.Format(m_format) : wxString());
m_txt->SetValue(wxEmptyString);
else
m_txt->SetValue(dt.Format(m_format));
// notify that we had to change the date after validation // notify that we had to change the date after validation
if (m_currentDate != dt) if ( (dt.IsValid() && m_currentDate != dt) ||
(!dt.IsValid() && m_currentDate.IsValid()) )
{ {
m_currentDate = dt; m_currentDate = dt;
wxDateEvent event(this, dt, wxEVT_DATE_CHANGED); wxDateEvent event(this, dt, wxEVT_DATE_CHANGED);