X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/324eeecb3cdc9522e136af6670443148772b412a..a8d2fb31cbf09dcc4683c9566ff4bc89580f268c:/src/palmos/datectrl.cpp diff --git a/src/palmos/datectrl.cpp b/src/palmos/datectrl.cpp index 5461f6471d..ca11de84da 100644 --- a/src/palmos/datectrl.cpp +++ b/src/palmos/datectrl.cpp @@ -36,6 +36,11 @@ #define _WX_DEFINE_DATE_EVENTS_ #include "wx/dateevt.h" +#include +#include + +IMPLEMENT_DYNAMIC_CLASS(wxDatePickerCtrl, wxControl) + // ============================================================================ // implementation // ============================================================================ @@ -59,9 +64,12 @@ bool wxDatePickerCtrl::Create(wxWindow *parent, wxString label; if ( dt.IsValid() ) - label = _T("test2"); + { + label = dt.FormatDate(); + m_dt = dt; + } - ig(!wxControl::PalmCreateControl(selectorTriggerCtl, label, pos, size)) + if(!wxControl::PalmCreateControl(selectorTriggerCtl, label, pos, size)) return false; return true; @@ -73,9 +81,7 @@ bool wxDatePickerCtrl::Create(wxWindow *parent, wxSize wxDatePickerCtrl::DoGetBestSize() const { - const int y = GetCharHeight(); - - return wxSize(DEFAULT_ITEM_WIDTH, EDIT_HEIGHT_FROM_CHAR_HEIGHT(y)); + return wxSize(16,16); } // ---------------------------------------------------------------------------- @@ -84,14 +90,15 @@ wxSize wxDatePickerCtrl::DoGetBestSize() const void wxDatePickerCtrl::SetValue(const wxDateTime& dt) { - SetLabel(_T("test1")); + if ( dt.IsValid() ) + m_dt = dt; + + SetLabel(m_dt.FormatDate()); } wxDateTime wxDatePickerCtrl::GetValue() const { - wxDateTime dt; - // TODO - return dt; + return m_dt; } void wxDatePickerCtrl::SetRange(const wxDateTime& dt1, const wxDateTime& dt2) @@ -105,5 +112,25 @@ bool wxDatePickerCtrl::GetRange(wxDateTime *dt1, wxDateTime *dt2) const return false; } +// ---------------------------------------------------------------------------- +// helpers +// ---------------------------------------------------------------------------- + +bool wxDatePickerCtrl::SendClickEvent() +{ + int16_t month = (int16_t)m_dt.GetMonth() + 1; + int16_t day = m_dt.GetDay(); + int16_t year = m_dt.GetYear(); + + if(!SelectDay(selectDayByDay,&month,&day,&year,_T("Pick date"))) + return false; + wxDateTime dt(m_dt); + dt.Set((wxDateTime::wxDateTime_t)day, + (wxDateTime::Month)(month-1), + (int)year); + SetValue(dt); + return true; +} + #endif // wxUSE_DATEPICKCTRL