#define _WX_DEFINE_DATE_EVENTS_
#include "wx/dateevt.h"
+#include <Control.h>
+#include <SelDay.h>
+
+IMPLEMENT_DYNAMIC_CLASS(wxDatePickerCtrl, wxControl)
+
// ============================================================================
// implementation
// ============================================================================
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;
wxSize wxDatePickerCtrl::DoGetBestSize() const
{
- const int y = GetCharHeight();
-
- return wxSize(DEFAULT_ITEM_WIDTH, EDIT_HEIGHT_FROM_CHAR_HEIGHT(y));
+ return wxSize(16,16);
}
// ----------------------------------------------------------------------------
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)
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