]> git.saurik.com Git - wxWidgets.git/blobdiff - src/palmos/datectrl.cpp
don't use built-in support for menu bitmaps if they are too big, they don't come...
[wxWidgets.git] / src / palmos / datectrl.cpp
index c453c8ac61a93d559d6671dcd8b7a7c7d174ccdc..a351bb2777c7c3106e475fb4d7fc3051e510698f 100644 (file)
     #pragma hdrstop
 #endif
 
-#ifndef WX_PRECOMP
-#endif
-
 #if wxUSE_DATEPICKCTRL
 
 #include "wx/datectrl.h"
-#include "wx/app.h"
-#include "wx/intl.h"
+
+#ifndef WX_PRECOMP
+    #include "wx/intl.h"
+    #include "wx/app.h"
+#endif
+
 #include "wx/dynlib.h"
 
-#define _WX_DEFINE_DATE_EVENTS_
 #include "wx/dateevt.h"
 
+#include <Control.h>
+#include <SelDay.h>
+
+IMPLEMENT_DYNAMIC_CLASS(wxDatePickerCtrl, wxControl)
+
 // ============================================================================
 // implementation
 // ============================================================================
@@ -59,7 +64,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 +91,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,13 +118,19 @@ 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")))
+    if(!SelectDay(selectDayByDay,&month,&day,&year, "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
-