]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/datetime.h
wxWinCE fixes.
[wxWidgets.git] / include / wx / datetime.h
index 55a7e992e8e7224bad0b897fb3196f8e4cfffd1e..bf85baa01bf6e60ccdc3641bd8bd3d6a9c740d26 100644 (file)
@@ -13,7 +13,7 @@
 #ifndef _WX_DATETIME_H
 #define _WX_DATETIME_H
 
-#if defined(__GNUG__) && !defined(__APPLE__)
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
     #pragma interface "datetime.h"
 #endif
 
@@ -110,7 +110,10 @@ class WXDLLIMPEXP_BASE wxDateSpan;
 // wxInvalidDateTime)
 class WXDLLIMPEXP_BASE wxDateTime;
 
+extern WXDLLIMPEXP_DATA_BASE(const wxChar*) wxDefaultDateTimeFormat;
+extern WXDLLIMPEXP_DATA_BASE(const wxChar*) wxDefaultTimeSpanFormat;
 extern WXDLLIMPEXP_DATA_BASE(const wxDateTime) wxDefaultDateTime;
+
 #define wxInvalidDateTime wxDefaultDateTime
 
 // ----------------------------------------------------------------------------
@@ -463,7 +466,7 @@ public:
         // get the current country
     static Country GetCountry();
 
-        // return TRUE if the country is a West European one (in practice,
+        // return true if the country is a West European one (in practice,
         // this means that the same DST rules as for EEC apply)
     static bool IsWestEuropeanCountry(Country country = Country_Default);
 
@@ -479,7 +482,7 @@ public:
         // return the current month
     static Month GetCurrentMonth(Calendar cal = Gregorian);
 
-        // returns TRUE if the given year is a leap year in the given calendar
+        // returns true if the given year is a leap year in the given calendar
     static bool IsLeapYear(int year = Inv_Year, Calendar cal = Gregorian);
 
         // get the century (19 for 1999, 20 for 2000 and -5 for 492 BC)
@@ -508,7 +511,7 @@ public:
         // get the AM and PM strings in the current locale (may be empty)
     static void GetAmPmStrings(wxString *am, wxString *pm);
 
-        // return TRUE if the given country uses DST for this year
+        // return true if the given country uses DST for this year
     static bool IsDSTApplicable(int year = Inv_Year,
                                 Country country = Country_Default);
 
@@ -664,7 +667,7 @@ public:
     inline wxDateTime GetPrevWeekDay(WeekDay weekday) const;
 
         // set to Nth occurence of given weekday in the given month of the
-        // given year (time is set to 0), return TRUE on success and FALSE on
+        // given year (time is set to 0), return true on success and false on
         // failure. n may be positive (1..5) or negative to count from the end
         // of the month (see helper function SetToLastWeekDay())
     bool SetToWeekDay(WeekDay weekday,
@@ -685,14 +688,23 @@ public:
                                      int year = Inv_Year);
 
         // sets the date to the given day of the given week in the year,
-        // returns TRUE on success and FALSE if given date doesn't exist (e.g.
+        // returns true on success and false if given date doesn't exist (e.g.
         // numWeek is > 53)
-    bool SetToTheWeek(wxDateTime_t numWeek,
-                      WeekDay weekday = Mon,
-                      WeekFlags flags = Monday_First);
-    inline wxDateTime GetWeek(wxDateTime_t numWeek,
-                              WeekDay weekday = Mon,
-                              WeekFlags flags = Monday_First) const;
+        //
+        // these functions are badly defined as they're not the reverse of
+        // GetWeekOfYear(), use SetToTheWeekOfYear() instead
+    wxDEPRECATED( bool SetToTheWeek(wxDateTime_t numWeek,
+                                    WeekDay weekday = Mon,
+                                    WeekFlags flags = Monday_First) );
+    wxDEPRECATED( wxDateTime GetWeek(wxDateTime_t numWeek,
+                                     WeekDay weekday = Mon,
+                                     WeekFlags flags = Monday_First) const );
+
+        // returns the date corresponding to the given week day of the given
+        // week (in ISO notation) of the specified year
+    static wxDateTime SetToWeekOfYear(int year,
+                                      wxDateTime_t numWeek,
+                                      WeekDay weekday = Mon);
 
         // sets the date to the last day of the given (or current) month or the
         // given (or current) year
@@ -759,12 +771,12 @@ public:
     // ------------------------------------------------------------------------
 
         // transform to any given timezone
-    inline wxDateTime ToTimezone(const TimeZone& tz, bool noDST = FALSE) const;
-    wxDateTime& MakeTimezone(const TimeZone& tz, bool noDST = FALSE);
+    inline wxDateTime ToTimezone(const TimeZone& tz, bool noDST = false) const;
+    wxDateTime& MakeTimezone(const TimeZone& tz, bool noDST = false);
 
         // transform to GMT/UTC
-    wxDateTime ToGMT(bool noDST = FALSE) const { return ToTimezone(GMT0, noDST); }
-    wxDateTime& MakeGMT(bool noDST = FALSE) { return MakeTimezone(GMT0, noDST); }
+    wxDateTime ToGMT(bool noDST = false) const { return ToTimezone(GMT0, noDST); }
+    wxDateTime& MakeGMT(bool noDST = false) { return MakeTimezone(GMT0, noDST); }
 
         // is daylight savings time in effect at this moment according to the
         // rules of the specified country?
@@ -854,20 +866,20 @@ public:
     // comparison (see also functions below for operator versions)
     // ------------------------------------------------------------------------
 
-        // returns TRUE if the two moments are strictly identical
+        // returns true if the two moments are strictly identical
     inline bool IsEqualTo(const wxDateTime& datetime) const;
 
-        // returns TRUE if the date is strictly earlier than the given one
+        // returns true if the date is strictly earlier than the given one
     inline bool IsEarlierThan(const wxDateTime& datetime) const;
 
-        // returns TRUE if the date is strictly later than the given one
+        // returns true if the date is strictly later than the given one
     inline bool IsLaterThan(const wxDateTime& datetime) const;
 
-        // returns TRUE if the date is strictly in the given range
+        // returns true if the date is strictly in the given range
     inline bool IsStrictlyBetween(const wxDateTime& t1,
                                   const wxDateTime& t2) const;
 
-        // returns TRUE if the date is in the given range
+        // returns true if the date is in the given range
     inline bool IsBetween(const wxDateTime& t1, const wxDateTime& t2) const;
 
         // do these two objects refer to the same date?
@@ -926,7 +938,7 @@ public:
         // default, they will not change if they had valid values or will
         // default to Today() otherwise)
     const wxChar *ParseFormat(const wxChar *date,
-                              const wxChar *format = _T("%c"),
+                              const wxChar *format = wxDefaultDateTimeFormat,
                               const wxDateTime& dateDef = wxDefaultDateTime);
         // parse a string containing the date/time in "free" format, this
         // function will try to make an educated guess at the string contents
@@ -941,7 +953,7 @@ public:
         // argument corresponds to the preferred date and time representation
         // for the current locale) and returns the string containing the
         // resulting text representation
-    wxString Format(const wxChar *format = _T("%c"),
+    wxString Format(const wxChar *format = wxDefaultDateTimeFormat,
                     const TimeZone& tz = Local) const;
         // preferred date representation for the current locale
     wxString FormatDate() const { return Format(_T("%x")); }
@@ -984,7 +996,7 @@ private:
     // fixed to 1000
     static const long TIME_T_FACTOR;
 
-    // returns TRUE if we fall in range in which we can use standard ANSI C
+    // returns true if we fall in range in which we can use standard ANSI C
     // functions
     inline bool IsInStdRange() const;
 
@@ -1096,11 +1108,11 @@ public:
         // are two timespans equal?
     inline bool IsEqualTo(const wxTimeSpan& ts) const;
         // compare two timestamps: works with the absolute values, i.e. -2
-        // hours is longer than 1 hour. Also, it will return FALSE if the
+        // hours is longer than 1 hour. Also, it will return false if the
         // timespans are equal in absolute value.
     inline bool IsLongerThan(const wxTimeSpan& ts) const;
         // compare two timestamps: works with the absolute values, i.e. 1
-        // hour is shorter than -2 hours. Also, it will return FALSE if the
+        // hour is shorter than -2 hours. Also, it will return false if the
         // timespans are equal in absolute value.
     bool IsShorterThan(const wxTimeSpan& t) const { return !IsLongerThan(t); }
 
@@ -1129,7 +1141,7 @@ public:
         // resulting text representation. Notice that only some of format
         // specifiers valid for wxDateTime are valid for wxTimeSpan: hours,
         // minutes and seconds make sense, but not "PM/AM" string for example.
-    wxString Format(const wxChar *format = _T("%H:%M:%S")) const;
+    wxString Format(const wxChar *format = wxDefaultTimeSpanFormat) const;
 
     // implementation
     // ------------------------------------------------------------------------
@@ -1292,7 +1304,7 @@ WX_DECLARE_USER_EXPORTED_OBJARRAY(wxDateTime, wxDateTimeArray, WXDLLIMPEXP_BASE)
 // ----------------------------------------------------------------------------
 
 class WXDLLIMPEXP_BASE wxDateTimeHolidayAuthority;
-WX_DEFINE_USER_EXPORTED_ARRAY_NO_PTR(wxDateTimeHolidayAuthority *,
+WX_DEFINE_USER_EXPORTED_ARRAY_PTR(wxDateTimeHolidayAuthority *,
                               wxHolidayAuthoritiesArray,
                               class WXDLLIMPEXP_BASE);
 
@@ -1301,7 +1313,7 @@ class WXDLLIMPEXP_BASE wxDateTimeHolidayAuthority
 {
 friend class wxDateTimeHolidaysModule;
 public:
-    // returns TRUE if the given date is a holiday
+    // returns true if the given date is a holiday
     static bool IsHoliday(const wxDateTime& dt);
 
     // fills the provided array with all holidays in the given range, returns
@@ -1490,8 +1502,9 @@ inline bool wxDateTime::SetToLastWeekDay(WeekDay weekday,
     return SetToWeekDay(weekday, -1, month, year);
 }
 
-inline wxDateTime wxDateTime::GetWeekDayInSameWeek(WeekDay weekday,
-                                                   WeekFlags flags) const
+inline wxDateTime
+wxDateTime::GetWeekDayInSameWeek(WeekDay weekday,
+                                 WeekFlags WXUNUSED(flags)) const
 {
     MODIFY_AND_RETURN( SetToWeekDayInSameWeek(weekday) );
 }
@@ -1525,15 +1538,6 @@ inline wxDateTime wxDateTime::GetLastWeekDay(WeekDay weekday,
     return dt.SetToLastWeekDay(weekday, month, year) ? dt : wxInvalidDateTime;
 }
 
-inline wxDateTime wxDateTime::GetWeek(wxDateTime_t numWeek,
-                                      WeekDay weekday,
-                                      WeekFlags flags) const
-{
-    wxDateTime dt(*this);
-
-    return dt.SetToTheWeek(numWeek, weekday, flags) ? dt : wxInvalidDateTime;
-}
-
 inline wxDateTime wxDateTime::GetLastMonthDay(Month month, int year) const
 {
     MODIFY_AND_RETURN( SetToLastMonthDay(month, year) );