X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/19e14bf6d5e88d4d66299f96c9491b04cf27fd07..42f8298f6f42d5d63bb3caf65682b7d9d9f8b702:/wxPython/src/_datetime.i?ds=sidebyside diff --git a/wxPython/src/_datetime.i b/wxPython/src/_datetime.i index e33a8e756f..d5d47b6e2b 100644 --- a/wxPython/src/_datetime.i +++ b/wxPython/src/_datetime.i @@ -18,17 +18,17 @@ %{ #include - %} -MAKE_CONST_WXSTRING2(DateFormatStr, wxT("%c")); -MAKE_CONST_WXSTRING2(TimeSpanFormatStr, wxT("%H:%M:%S")); + +MAKE_CONST_WXSTRING(DefaultDateTimeFormat); +MAKE_CONST_WXSTRING(DefaultTimeSpanFormat); //--------------------------------------------------------------------------- -%typemap(in) wxDateTime::TimeZone& (bool temp=False) { +%typemap(in) wxDateTime::TimeZone& (bool temp=false) { $1 = new wxDateTime::TimeZone((wxDateTime::TZ)PyInt_AsLong($input)); - temp = True; + temp = true; } %typemap(python,freearg) wxDateTime::TimeZone& { if (temp$argnum) delete $1; @@ -343,15 +343,15 @@ public: // returns the number of days in this year (356 or 355 for Gregorian // calendar usually :-) - %name(GetNumberOfDaysinYear) - static wxDateTime_t GetNumberOfDays(int year, Calendar cal = Gregorian); + %Rename(GetNumberOfDaysinYear, + static wxDateTime_t, GetNumberOfDays(int year, Calendar cal = Gregorian)); // get the number of the days in the given month (default value for // the year means the current one) - %name(GetNumberOfDaysInMonth) - static wxDateTime_t GetNumberOfDays(Month month, + %Rename(GetNumberOfDaysInMonth, + static wxDateTime_t, GetNumberOfDays(Month month, int year = Inv_Year, - Calendar cal = Gregorian); + Calendar cal = Gregorian)); // get the full (default) or abbreviated month name in the current // locale, returns empty string on error @@ -400,19 +400,19 @@ public: // constructors wxDateTime(); - %name(DateTimeFromTimeT)wxDateTime(time_t timet); - %name(DateTimeFromJDN)wxDateTime(double jdn); - %name(DateTimeFromHMS)wxDateTime(wxDateTime_t hour, + %RenameCtor(DateTimeFromTimeT, wxDateTime(time_t timet)); + %RenameCtor(DateTimeFromJDN, wxDateTime(double jdn)); + %RenameCtor(DateTimeFromHMS, wxDateTime(wxDateTime_t hour, wxDateTime_t minute = 0, wxDateTime_t second = 0, - wxDateTime_t millisec = 0); - %name(DateTimeFromDMY)wxDateTime(wxDateTime_t day, + wxDateTime_t millisec = 0)); + %RenameCtor(DateTimeFromDMY, wxDateTime(wxDateTime_t day, Month month = Inv_Month, int year = Inv_Year, wxDateTime_t hour = 0, wxDateTime_t minute = 0, wxDateTime_t second = 0, - wxDateTime_t millisec = 0); + wxDateTime_t millisec = 0)); ~wxDateTime(); @@ -422,16 +422,16 @@ public: wxDateTime& SetToCurrent(); // set to given time_t value - %name(SetTimeT)wxDateTime& Set(time_t timet); + %Rename(SetTimeT, wxDateTime&, Set(time_t timet)); // set to given JDN (beware of rounding errors) - %name(SetJDN)wxDateTime& Set(double jdn); + %Rename(SetJDN, wxDateTime&, Set(double jdn)); // set to given time, date = today - %name(SetHMS)wxDateTime& Set(wxDateTime_t hour, + %Rename(SetHMS, wxDateTime&, Set(wxDateTime_t hour, wxDateTime_t minute = 0, wxDateTime_t second = 0, - wxDateTime_t millisec = 0); + wxDateTime_t millisec = 0)); // from separate values for each component with explicit date // (defaults for month and year are the current values) @@ -570,12 +570,12 @@ public: // timezone stuff // transform to any given timezone - wxDateTime ToTimezone(const wxDateTime::TimeZone& tz, bool noDST = False); - wxDateTime& MakeTimezone(const wxDateTime::TimeZone& tz, bool noDST = False); + wxDateTime ToTimezone(const wxDateTime::TimeZone& tz, bool noDST = false); + wxDateTime& MakeTimezone(const wxDateTime::TimeZone& tz, bool noDST = false); // transform to GMT/UTC - wxDateTime ToGMT(bool noDST = False); - wxDateTime& MakeGMT(bool noDST = False); + wxDateTime ToGMT(bool noDST = false); + wxDateTime& MakeGMT(bool noDST = false); // is daylight savings time in effect at this moment according to the // rules of the specified country? @@ -681,15 +681,15 @@ public: // arithmetics with dates (see also below for more operators) // add a time span (positive or negative) - %name(AddTS) wxDateTime& Add(const wxTimeSpan& diff); + %Rename(AddTS, wxDateTime&, Add(const wxTimeSpan& diff)); // add a date span (positive or negative) - %name(AddDS) wxDateTime& Add(const wxDateSpan& diff); + %Rename(AddDS, wxDateTime&, Add(const wxDateSpan& diff)); // subtract a time span (positive or negative) - %name(SubtractTS) wxDateTime& Subtract(const wxTimeSpan& diff); + %Rename(SubtractTS, wxDateTime&, Subtract(const wxTimeSpan& diff)); // subtract a date span (positive or negative) - %name(SubtractDS) wxDateTime& Subtract(const wxDateSpan& diff); + %Rename(SubtractDS, wxDateTime&, Subtract(const wxDateSpan& diff)); // return the difference between two dates wxTimeSpan Subtract(const wxDateTime& dt) const; @@ -708,14 +708,15 @@ public: inline wxDateTime& operator-=(const wxDateSpan& diff); +// inline bool operator<(const wxDateTime& dt) const; +// inline bool operator<=(const wxDateTime& dt) const; +// inline bool operator>(const wxDateTime& dt) const; +// inline bool operator>=(const wxDateTime& dt) const; +// inline bool operator==(const wxDateTime& dt) const; +// inline bool operator!=(const wxDateTime& dt) const; + %nokwargs __add__; %nokwargs __sub__; - %nokwargs __lt__; - %nokwargs __le__; - %nokwargs __gt__; - %nokwargs __ge__; - %nokwargs __eq__; - %nokwargs __ne__; %extend { wxDateTime __add__(const wxTimeSpan& other) { return *self + other; } wxDateTime __add__(const wxDateSpan& other) { return *self + other; } @@ -724,14 +725,9 @@ public: wxDateTime __sub__(const wxTimeSpan& other) { return *self - other; } wxDateTime __sub__(const wxDateSpan& other) { return *self - other; } -// bool __lt__(const wxDateTime* other) { return other ? (*self < *other) : False; } -// bool __le__(const wxDateTime* other) { return other ? (*self <= *other) : False; } -// bool __gt__(const wxDateTime* other) { return other ? (*self > *other) : True; } -// bool __ge__(const wxDateTime* other) { return other ? (*self >= *other) : True; } - - // These fall back to just comparing pointers if other is NULL, or if - // either operand is invalid. + // either operand is invalid. This allows Python comparrisons to None + // to not assert and to return a sane value for the compare. bool __lt__(const wxDateTime* other) { if (!other || !self->IsValid() || !other->IsValid()) return self < other; return (*self < *other); @@ -759,6 +755,9 @@ public: } } + + + // ------------------------------------------------------------------------ // conversion from text: all conversions from text return -1 on failure, @@ -783,7 +782,7 @@ public: // default, they will not change if they had valid values or will // default to Today() otherwise) int ParseFormat(const wxString& date, - const wxString& format = wxPyDateFormatStr, + const wxString& format = wxPyDefaultDateTimeFormat, const wxDateTime& dateDef = wxDefaultDateTime) { const wxChar* rv; const wxChar* _date = date; @@ -828,7 +827,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 wxString& format = wxPyDateFormatStr, + wxString Format(const wxString& format = wxPyDefaultDateTimeFormat, const wxDateTime::TimeZone& tz = LOCAL_TZ) const; // preferred date representation for the current locale @@ -934,12 +933,12 @@ public: wxTimeSpan __mul__(int n) { return *self * n; } wxTimeSpan __rmul__(int n) { return n * *self; } - bool __lt__(const wxTimeSpan* other) { return other ? (*self < *other) : False; } - bool __le__(const wxTimeSpan* other) { return other ? (*self <= *other) : False; } - bool __gt__(const wxTimeSpan* other) { return other ? (*self > *other) : True; } - bool __ge__(const wxTimeSpan* other) { return other ? (*self >= *other) : True; } - bool __eq__(const wxTimeSpan* other) { return other ? (*self == *other) : False; } - bool __ne__(const wxTimeSpan* other) { return other ? (*self != *other) : True; } + bool __lt__(const wxTimeSpan* other) { return other ? (*self < *other) : false; } + bool __le__(const wxTimeSpan* other) { return other ? (*self <= *other) : false; } + bool __gt__(const wxTimeSpan* other) { return other ? (*self > *other) : true; } + bool __ge__(const wxTimeSpan* other) { return other ? (*self >= *other) : true; } + bool __eq__(const wxTimeSpan* other) { return other ? (*self == *other) : false; } + bool __ne__(const wxTimeSpan* other) { return other ? (*self != *other) : true; } } @@ -995,7 +994,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 wxString& format = wxPyTimeSpanFormatStr) const; + wxString Format(const wxString& format = wxPyDefaultTimeSpanFormat) const; %pythoncode { def __repr__(self): @@ -1120,13 +1119,13 @@ public: wxDateSpan __mul__(int n) { return *self * n; } wxDateSpan __rmul__(int n) { return n * *self; } -// bool __lt__(const wxDateSpan* other) { return other ? (*self < *other) : False; } -// bool __le__(const wxDateSpan* other) { return other ? (*self <= *other) : False; } -// bool __gt__(const wxDateSpan* other) { return other ? (*self > *other) : True; } -// bool __ge__(const wxDateSpan* other) { return other ? (*self >= *other) : True; } +// bool __lt__(const wxDateSpan* other) { return other ? (*self < *other) : false; } +// bool __le__(const wxDateSpan* other) { return other ? (*self <= *other) : false; } +// bool __gt__(const wxDateSpan* other) { return other ? (*self > *other) : true; } +// bool __ge__(const wxDateSpan* other) { return other ? (*self >= *other) : true; } - bool __eq__(const wxDateSpan* other) { return other ? (*self == *other) : False; } - bool __ne__(const wxDateSpan* other) { return other ? (*self != *other) : True; } + bool __eq__(const wxDateSpan* other) { return other ? (*self == *other) : false; } + bool __ne__(const wxDateSpan* other) { return other ? (*self != *other) : true; } } };