X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/22faec7d06d45b940424515c9113d9601820d7d3..49bffb1482cd2a6a30b38280f6c9bffc72dbfe42:/wxPython/src/_datetime.i?ds=sidebyside diff --git a/wxPython/src/_datetime.i b/wxPython/src/_datetime.i index da3bd3099e..dd08788512 100644 --- a/wxPython/src/_datetime.i +++ b/wxPython/src/_datetime.i @@ -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 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; } +// 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" } }; @@ -955,7 +988,7 @@ public: %pythoncode { def __repr__(self): - return '' % ( self.Format(), self.this) + return '' % ( self.Format(), self.this) def __str__(self): return self.Format() }