%{
#include <wx/datetime.h>
-
%}
-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;
// 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
// 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();
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)
// 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?
// 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;
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; }
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);
}
}
+
+
+
// ------------------------------------------------------------------------
// conversion from text: all conversions from text return -1 on failure,
// 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;
// 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
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; }
}
// 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):
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; }
}
};