X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/da590c59c76028158708a0e9dea4e8e16ecceec2..c7ce8392e0fa752d121000b7732c8f4ac3e3088d:/include/wx/datetime.h?ds=sidebyside diff --git a/include/wx/datetime.h b/include/wx/datetime.h index d7f994b915..688b2debf4 100644 --- a/include/wx/datetime.h +++ b/include/wx/datetime.h @@ -30,12 +30,14 @@ class WXDLLEXPORT wxDateSpan; // performances and this only leads to increased rebuild time (because every // time an inline method is changed, all files including the header must be // rebuilt) -#ifdef __WXDEBUG__ +// For Mingw32, causes a link error. +#if defined( __WXDEBUG__) && !defined(__MINGW32__) + #undef inline #define inline #endif // Debug /* - * TODO Well, everything :-) + * TODO * * + 1. Time zones with minutes (make TimeZone a class) * ? 2. getdate() function like under Solaris @@ -63,7 +65,7 @@ class WXDLLEXPORT wxDateSpan; wxTimeSpan + wxTimeSpan = wxTimeSpan wxDateSpan + wxDateSpan = wxDateSpan - substraction + subtraction ------------ wxDateTime - wxDateTime = wxTimeSpan wxDateTime - wxTimeSpan = wxDateTime @@ -84,7 +86,7 @@ class WXDLLEXPORT wxDateSpan; -wxDateSpan = wxDateSpan For each binary operation OP (+, -, *) we have the following operatorOP=() as - a method and the method with a symbolic name OPER (Add, Substract, Multiply) + a method and the method with a symbolic name OPER (Add, Subtract, Multiply) as a synonym for it and another const method with the same name which returns the changed copy of the object and operatorOP() as a global function which is implemented in terms of the const version of OPEN. For the unary - we have @@ -510,6 +512,10 @@ public: // return the wxDateTime object for the current time static inline wxDateTime Now(); + // return the wxDateTime object for the current time with millisecond + // precision (if available on this platform) + static wxDateTime UNow(); + // return the wxDateTime object for today midnight: i.e. as Now() but // with time set to 0 static inline wxDateTime Today(); @@ -855,10 +861,10 @@ public: inline wxDateTime& operator+=(const wxTimeSpan& diff); // return the difference of the date with a time span - inline wxDateTime Substract(const wxTimeSpan& diff) const; - // substract a time span (positive or negative) - inline wxDateTime& Substract(const wxTimeSpan& diff); - // substract a time span (positive or negative) + inline wxDateTime Subtract(const wxTimeSpan& diff) const; + // subtract a time span (positive or negative) + inline wxDateTime& Subtract(const wxTimeSpan& diff); + // subtract a time span (positive or negative) inline wxDateTime& operator-=(const wxTimeSpan& diff); // return the sum of the date with a date span @@ -869,14 +875,14 @@ public: inline wxDateTime& operator+=(const wxDateSpan& diff); // return the difference of the date with a date span - inline wxDateTime Substract(const wxDateSpan& diff) const; - // substract a date span (positive or negative) - inline wxDateTime& Substract(const wxDateSpan& diff); - // substract a date span (positive or negative) + inline wxDateTime Subtract(const wxDateSpan& diff) const; + // subtract a date span (positive or negative) + inline wxDateTime& Subtract(const wxDateSpan& diff); + // subtract a date span (positive or negative) inline wxDateTime& operator-=(const wxDateSpan& diff); // return the difference between two dates - inline wxTimeSpan Substract(const wxDateTime& dt) const; + inline wxTimeSpan Subtract(const wxDateTime& dt) const; // conversion to/from text: all conversions from text return the pointer to // the next character following the date specification (i.e. the one where @@ -961,7 +967,7 @@ private: // ---------------------------------------------------------------------------- // This class contains a difference between 2 wxDateTime values, so it makes -// sense to add it to wxDateTime and it is the result of substraction of 2 +// sense to add it to wxDateTime and it is the result of subtraction of 2 // objects of that class. See also wxDateSpan. // ---------------------------------------------------------------------------- @@ -1017,11 +1023,11 @@ public: wxTimeSpan& operator+=(const wxTimeSpan& diff) { return Add(diff); } // return the difference of two timespans - inline wxTimeSpan Substract(const wxTimeSpan& diff) const; - // substract another timespan - inline wxTimeSpan& Substract(const wxTimeSpan& diff); - // substract another timespan - wxTimeSpan& operator-=(const wxTimeSpan& diff) { return Substract(diff); } + inline wxTimeSpan Subtract(const wxTimeSpan& diff) const; + // subtract another timespan + inline wxTimeSpan& Subtract(const wxTimeSpan& diff); + // subtract another timespan + wxTimeSpan& operator-=(const wxTimeSpan& diff) { return Subtract(diff); } // multiply timespan by a scalar inline wxTimeSpan Multiply(int n) const; @@ -1094,11 +1100,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("%c")) const; - // preferred date representation for the current locale - wxString FormatDate() const { return Format(_T("%x")); } - // preferred time representation for the current locale - wxString FormatTime() const { return Format(_T("%X")); } + wxString Format(const wxChar *format = _T("%H:%M:%S")) const; // implementation // ------------------------------------------------------------------------ @@ -1125,7 +1127,7 @@ private: // won't be changed unless the resulting date would be invalid: for example, // Jan 31 + 1 month will be Feb 28, not (non existing) Feb 31. // -// Because of this feature, adding and substracting back again the same +// Because of this feature, adding and subtracting back again the same // wxDateSpan will *not*, in general give back the original date: Feb 28 - 1 // month will be Jan 28, not Jan 31! // @@ -1212,10 +1214,10 @@ public: inline wxDateSpan& operator+=(const wxDateSpan& other); // return difference of two date spans - inline wxDateSpan Substract(const wxDateSpan& other) const; - // substract another wxDateSpan from us - inline wxDateSpan& Substract(const wxDateSpan& other); - // substract another wxDateSpan from us + inline wxDateSpan Subtract(const wxDateSpan& other) const; + // subtract another wxDateSpan from us + inline wxDateSpan& Subtract(const wxDateSpan& other); + // subtract another wxDateSpan from us inline wxDateSpan& operator-=(const wxDateSpan& other); // return a copy of this time span with changed sign @@ -1245,7 +1247,7 @@ private: #include "wx/dynarray.h" -WX_DECLARE_OBJARRAY(wxDateTime, wxDateTimeArray); +WX_DECLARE_EXPORTED_OBJARRAY(wxDateTime, wxDateTimeArray); // ---------------------------------------------------------------------------- // wxDateTimeHolidayAuthority: an object of this class will decide whether a @@ -1259,8 +1261,10 @@ WX_DECLARE_OBJARRAY(wxDateTime, wxDateTimeArray); class WXDLLEXPORT wxDateTimeHolidayAuthority; WX_DEFINE_EXPORTED_ARRAY(wxDateTimeHolidayAuthority *, wxHolidayAuthoritiesArray); +class wxDateTimeHolidaysModule; class WXDLLEXPORT wxDateTimeHolidayAuthority { +friend class wxDateTimeHolidaysModule; public: // returns TRUE if the given date is a holiday static bool IsHoliday(const wxDateTime& dt); @@ -1348,7 +1352,7 @@ inline wxDateTime WXDLLEXPORT operator+(const wxDateTime& dt, inline wxDateTime WXDLLEXPORT operator-(const wxDateTime& dt, const wxTimeSpan& ts) { - return dt.Substract(ts); + return dt.Subtract(ts); } inline wxDateTime WXDLLEXPORT operator+(const wxDateTime& dt, @@ -1360,13 +1364,13 @@ inline wxDateTime WXDLLEXPORT operator+(const wxDateTime& dt, inline wxDateTime WXDLLEXPORT operator-(const wxDateTime& dt, const wxDateSpan& ds) { - return dt.Substract(ds); + return dt.Subtract(ds); } inline wxTimeSpan WXDLLEXPORT operator-(const wxDateTime& dt1, const wxDateTime& dt2) { - return dt1.Substract(dt2); + return dt1.Subtract(dt2); } // comparison