X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/856bf319b572699cc31ceef8cf78d1b9770cacf9..b7aef858828222a05e57671fa01d3cac78aee3ac:/wxPython/src/_datetime.i diff --git a/wxPython/src/_datetime.i b/wxPython/src/_datetime.i index 34d2114a90..e1d03a945b 100644 --- a/wxPython/src/_datetime.i +++ b/wxPython/src/_datetime.i @@ -366,7 +366,7 @@ public: DocDeclAStr( static void, GetAmPmStrings(wxString *OUTPUT, wxString *OUTPUT), "GetAmPmStrings() -> (am, pm)", - "Get the AM and PM strings in the current locale (may be empty)"); + "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, @@ -713,12 +713,39 @@ 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; } + + + // These fall back to just comparing pointers if other is NULL, or if + // either operand is invalid. + bool __lt__(const wxDateTime* other) { + if (!other || !self->IsValid() || !other->IsValid()) return self < other; + return (*self < *other); + } + bool __le__(const wxDateTime* other) { + if (!other || !self->IsValid() || !other->IsValid()) return self <= other; + return (*self <= *other); + } + bool __gt__(const wxDateTime* other) { + if (!other || !self->IsValid() || !other->IsValid()) return self > other; + return (*self > *other); + } + bool __ge__(const wxDateTime* other) { + if (!other || !self->IsValid() || !other->IsValid()) return self >= other; + return (*self >= *other); + } + + bool __eq__(const wxDateTime* other) { + if (!other || !self->IsValid() || !other->IsValid()) return self == other; + return (*self == *other); + } + bool __ne__(const wxDateTime* other) { + if (!other || !self->IsValid() || !other->IsValid()) return self != other; + return (*self != *other); + } } @@ -809,9 +836,15 @@ public: %pythoncode { def __repr__(self): - return '' % ( self.Format(), self.this) + if self.IsValid(): + return '' % ( self.Format(), self.this) + else: + return '' % self.this def __str__(self): - return self.Format() + if self.IsValid(): + return self.Format() + else: + return "INVALID DateTime" } }; @@ -889,12 +922,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; } } @@ -954,7 +988,7 @@ public: %pythoncode { def __repr__(self): - return '' % ( self.Format(), self.this) + return '' % ( self.Format(), self.this) def __str__(self): return self.Format() } @@ -1074,12 +1108,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; } } };