]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/date.h
Platform define for wxWinCE
[wxWidgets.git] / include / wx / date.h
index d4dd19c745d2064c4cbe855e3b561a5b55ec36f6..e11792251191eb5cd7db579fc7b929a1454b6128 100644 (file)
@@ -13,7 +13,7 @@
 #ifndef _WX_DATE_H_
 #define _WX_DATE_H_
 
 #ifndef _WX_DATE_H_
 #define _WX_DATE_H_
 
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(__APPLE__)
     #pragma interface "date.h"
 #endif
 
     #pragma interface "date.h"
 #endif
 
@@ -55,7 +55,7 @@ public:
     wxDate(long j) : m_date((double)(j + 0.5)) { Init(); }
     wxDate(int m, int d, int y) : m_date(d, (wxDateTime::Month)m, y) { Init(); }
     wxDate(const wxString& dat) { Init(); (void)m_date.ParseDate(dat); }
     wxDate(long j) : m_date((double)(j + 0.5)) { Init(); }
     wxDate(int m, int d, int y) : m_date(d, (wxDateTime::Month)m, y) { Init(); }
     wxDate(const wxString& dat) { Init(); (void)m_date.ParseDate(dat); }
-    wxDate(const wxDate &date) { *this = date; }
+    wxDate(const wxDate &date) : wxObject() { *this = date; }
 
     wxDate(const wxDateTime& dt) { Init(); m_date = dt; }
 
 
     wxDate(const wxDateTime& dt) { Init(); m_date = dt; }
 
@@ -81,8 +81,8 @@ public:
     long operator-(const wxDate &dt) const
         { return GetJulianDate() - dt.GetJulianDate(); }
 
     long operator-(const wxDate &dt) const
         { return GetJulianDate() - dt.GetJulianDate(); }
 
-    wxDate &operator+=(long i) { m_date += wxTimeSpan::Days(i); return *this; }
-    wxDate &operator-=(long i) { m_date -= wxTimeSpan::Days(i); return *this; }
+    wxDate &operator+=(long i) { m_date += wxTimeSpan::Days((int)i); return *this; }
+    wxDate &operator-=(long i) { m_date -= wxTimeSpan::Days((int)i); return *this; }
 
     wxDate &operator++() { return *this += 1; }
     wxDate &operator++(int) { return *this += 1; }
 
     wxDate &operator++() { return *this += 1; }
     wxDate &operator++(int) { return *this += 1; }
@@ -90,7 +90,7 @@ public:
     wxDate &operator--(int) { return *this -= 1; }
 
 #if wxUSE_STD_IOSTREAM
     wxDate &operator--(int) { return *this -= 1; }
 
 #if wxUSE_STD_IOSTREAM
-    friend ostream WXDLLEXPORT & operator <<(ostream &os, const wxDate &dt)
+    friend wxSTD ostream WXDLLEXPORT & operator <<(wxSTD ostream &os, const wxDate &dt)
         { return os << dt.FormatDate().mb_str(); }
 #endif
 
         { return os << dt.FormatDate().mb_str(); }
 #endif
 
@@ -161,16 +161,16 @@ public:
     int GetMonth() const { return m_date.GetMonth() + 1; }
 
     // First Date Of Month
     int GetMonth() const { return m_date.GetMonth() + 1; }
 
     // First Date Of Month
-    wxDate GetMonthStart() const { return(wxDate(GetMonth(), 1, GetYear())); }
+    wxDate GetMonthStart() const { return(wxDate(GetMonth()-1, 1, GetYear())); }
     // Last Date Of Month
     // Last Date Of Month
-    wxDate GetMonthEnd() const { return wxDate(GetMonth()+1, 1, GetYear())-1; }
+    wxDate GetMonthEnd() const { return wxDate(GetMonth(), 1, GetYear())-1; }
 
     // eg. 1992
     int GetYear() const { return m_date.GetYear(); }
     // First Date Of Year
 
     // eg. 1992
     int GetYear() const { return m_date.GetYear(); }
     // First Date Of Year
-    wxDate GetYearStart() const { return wxDate(1, 1, GetYear()); }
+    wxDate GetYearStart() const { return wxDate(0, 1, GetYear()); }
     // Last Date Of Year
     // Last Date Of Year
-    wxDate GetYearEnd() const { return wxDate(1, 1, GetYear()+1) - 1; }
+    wxDate GetYearEnd() const { return wxDate(0, 1, GetYear()+1) - 1; }
 
     bool IsBetween(const wxDate& first, const wxDate& second) const
     {
 
     bool IsBetween(const wxDate& first, const wxDate& second) const
     {
@@ -179,11 +179,11 @@ public:
 
     wxDate Previous(int dayOfWeek) const
     {
 
     wxDate Previous(int dayOfWeek) const
     {
+        wxDate prev = *this;
         int dow = GetDayOfWeek();
         int dow = GetDayOfWeek();
-        if ( dayOfWeek <= dow )
-            return *this - (dow - dayOfWeek);
-        else
-            return *this - 7 + (dayOfWeek - dow);
+        prev -= dayOfWeek > dow ? 7 - (dayOfWeek - dow) : dow - dayOfWeek;
+
+        return prev;
     }
 
     wxString FormatDate(int type = -1) const
     }
 
     wxString FormatDate(int type = -1) const