X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/dd9f7fea29e3f8bb61861f52984b7943512346ac..09b77fb711120488c3dac0d81eded1d6bf445d0b:/wxPython/src/_datetime.i?ds=sidebyside diff --git a/wxPython/src/_datetime.i b/wxPython/src/_datetime.i index 04ef881b0e..da3bd3099e 100644 --- a/wxPython/src/_datetime.i +++ b/wxPython/src/_datetime.i @@ -19,19 +19,19 @@ %{ #include - DECLARE_DEF_STRING2(DateFormatStr, wxT("%c")); - DECLARE_DEF_STRING2(TimeSpanFormatStr, wxT("%H:%M:%S")); - -%} +%} +MAKE_CONST_WXSTRING2(DateFormatStr, wxT("%c")); +MAKE_CONST_WXSTRING2(TimeSpanFormatStr, wxT("%H:%M:%S")); //--------------------------------------------------------------------------- -%typemap(in) wxDateTime::TimeZone& { +%typemap(in) wxDateTime::TimeZone& (bool temp=False) { $1 = new wxDateTime::TimeZone((wxDateTime::TZ)PyInt_AsLong($input)); + temp = True; } %typemap(python,freearg) wxDateTime::TimeZone& { - if ($1) delete $1; + if (temp$argnum) delete $1; } @@ -58,11 +58,12 @@ //--------------------------------------------------------------------------- +//typedef unsigned short wxDateTime_t; +#define wxDateTime_t int // wxDateTime represents an absolute moment in the time class wxDateTime { public: - typedef unsigned short wxDateTime_t; enum TZ { @@ -362,8 +363,10 @@ public: static wxString GetWeekDayName(WeekDay weekday, NameFlags flags = Name_Full); - // get the AM and PM strings in the current locale (may be empty) - static void GetAmPmStrings(wxString *OUTPUT, wxString *OUTPUT); + DocDeclAStr( + static void, GetAmPmStrings(wxString *OUTPUT, wxString *OUTPUT), + "GetAmPmStrings() -> (am, pm)", + "Get the AM and PM strings in the current locale (may be empty)"); // return True if the given country uses DST for this year static bool IsDSTApplicable(int year = Inv_Year, @@ -577,7 +580,10 @@ public: // is the date valid (True even for non initialized objects)? inline bool IsValid() const; + %pythoncode { Ok = IsValid } + %pythoncode { def __nonzero__(self): return self.Ok() }; + // get the number of seconds since the Unix epoch - returns (time_t)-1 // if the value is out of range inline time_t GetTicks() const; @@ -707,12 +713,12 @@ public: wxDateTime __sub__(const wxTimeSpan& other) { return *self - other; } wxDateTime __sub__(const wxDateSpan& other) { return *self - other; } - bool __lt__(const wxDateTime& other) { return *self < other; } - bool __le__(const wxDateTime& other) { return *self <= other; } - bool __gt__(const wxDateTime& other) { return *self > other; } - bool __ge__(const wxDateTime& other) { return *self >= other; } - bool __eq__(const wxDateTime& other) { return *self == other; } - bool __ne__(const wxDateTime& 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; } + bool __eq__(const wxDateTime* other) { return other ? (*self == *other) : False; } + bool __ne__(const wxDateTime* other) { return other ? (*self != *other) : True; } } @@ -883,12 +889,13 @@ public: wxTimeSpan __sub__(const wxTimeSpan& other) { return *self - other; } wxTimeSpan __mul__(int n) { return *self * n; } wxTimeSpan __rmul__(int n) { return n * *self; } - bool __lt__(const wxTimeSpan& other) { return *self < other; } - bool __le__(const wxTimeSpan& other) { return *self <= other; } - bool __gt__(const wxTimeSpan& other) { return *self > other; } - bool __ge__(const wxTimeSpan& other) { return *self >= other; } - bool __eq__(const wxTimeSpan& other) { return *self == other; } - bool __ne__(const wxTimeSpan& other) { return *self != other; } + + 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; } } @@ -1068,12 +1075,14 @@ public: wxDateSpan __sub__(const wxDateSpan& other) { return *self - other; } wxDateSpan __mul__(int n) { return *self * n; } wxDateSpan __rmul__(int n) { return n * *self; } -// bool __lt__(const wxDateSpan& other) { return *self < other; } -// bool __le__(const wxDateSpan& other) { return *self <= other; } -// bool __gt__(const wxDateSpan& other) { return *self > other; } -// bool __ge__(const wxDateSpan& other) { return *self >= other; } - bool __eq__(const wxDateSpan& other) { return *self == other; } - bool __ne__(const wxDateSpan& other) { return *self != other; } + +// 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; } } }; @@ -1089,5 +1098,9 @@ long wxGetUTCTime(); long wxGetCurrentTime(); wxLongLong wxGetLocalTimeMillis(); +%immutable; +const wxDateTime wxDefaultDateTime; +%mutable; + //--------------------------------------------------------------------------- //---------------------------------------------------------------------------