]> git.saurik.com Git - wxWidgets.git/blobdiff - src/palmos/datectrl.cpp
define WM_CONTEXTMENU if the standard headers don't
[wxWidgets.git] / src / palmos / datectrl.cpp
index c453c8ac61a93d559d6671dcd8b7a7c7d174ccdc..88206bc61b12085718430c899b28b81c4fd5d7ad 100644 (file)
@@ -36,6 +36,8 @@
 #define _WX_DEFINE_DATE_EVENTS_
 #include "wx/dateevt.h"
 
+IMPLEMENT_DYNAMIC_CLASS(wxDatePickerCtrl, wxControl)
+
 // ============================================================================
 // implementation
 // ============================================================================
@@ -59,7 +61,10 @@ bool wxDatePickerCtrl::Create(wxWindow *parent,
     wxString label;
 
     if ( dt.IsValid() )
+    {
         label = dt.FormatDate();
+        m_dt = dt;
+    }
 
     if(!wxControl::PalmCreateControl(selectorTriggerCtl, label, pos, size))
         return false;
@@ -83,16 +88,14 @@ wxSize wxDatePickerCtrl::DoGetBestSize() const
 void wxDatePickerCtrl::SetValue(const wxDateTime& dt)
 {
     if ( dt.IsValid() )
-        SetLabel(dt.FormatDate());
-    else
-        SetLabel(wxEmptyString);
+        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)
@@ -112,12 +115,18 @@ bool wxDatePickerCtrl::GetRange(wxDateTime *dt1, wxDateTime *dt2) const
 
 bool wxDatePickerCtrl::SendClickEvent()
 {
-    wxDateTime dt(wxDateTime::Today());
-    int16_t month = dt.GetMonth();
-    int16_t day = dt.GetDay();
-    int16_t year = dt.GetYear();
+    int16_t month = (int16_t)m_dt.GetMonth() + 1;
+    int16_t day = m_dt.GetDay();
+    int16_t year = m_dt.GetYear();
 
-    if(SelectDay(selectDayByMonth,&month,&day,&year,_T("Pick date")));
+    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