]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/_datetime.i
get rid of \\ macros and change See Also -> See also
[wxWidgets.git] / wxPython / src / _datetime.i
index 13b2b50eac05a5d9f44f94657a889b28f69d3414..e33a8e756f31d2cfaca21543295250d2559bc5a6 100644 (file)
@@ -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,
@@ -507,6 +507,17 @@ public:
     bool SetToTheWeek(wxDateTime_t numWeek, WeekDay weekday = Mon, WeekFlags flags = Monday_First);
     wxDateTime GetWeek(wxDateTime_t numWeek, WeekDay weekday = Mon, WeekFlags flags = Monday_First);
 
+    %pythoncode {
+        SetToTheWeek = wx._deprecated(SetToTheWeek, "SetToTheWeek is deprecated, use (static) SetToWeekOfYear instead")
+        GetWeek = wx._deprecated(GetWeek, "GetWeek is deprecated, use GetWeekOfYear instead")
+    }
+            
+        // returns the date corresponding to the given week day of the given
+        // week (in ISO notation) of the specified year
+    static wxDateTime SetToWeekOfYear(int year,
+                                      wxDateTime_t numWeek,
+                                      WeekDay weekday = Mon);
+    
         // sets the date to the last day of the given (or current) month or the
         // given (or current) year
     wxDateTime& SetToLastMonthDay(Month month = Inv_Month,
@@ -580,7 +591,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;
@@ -710,12 +724,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);
+        }            
     }
 
         
@@ -806,9 +847,15 @@ public:
 
     %pythoncode {
     def __repr__(self):
-        return '<wxDateTime: \"%s\" at %s>' % ( self.Format(), self.this)
+        if self.IsValid():
+            return '<wx.DateTime: \"%s\" at %s>' % ( self.Format(), self.this)
+        else:
+            return '<wx.DateTime: \"INVALID\" at %s>' % self.this
     def __str__(self):
-        return self.Format()
+        if self.IsValid():
+            return self.Format()
+        else:
+            return "INVALID DateTime"
     }
 };
 
@@ -886,12 +933,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;  }
     }
 
 
@@ -951,7 +999,7 @@ public:
 
     %pythoncode {
      def __repr__(self):
-         return '<wxTimeSpan: \"%s\" at %s>' % ( self.Format(), self.this)
+         return '<wx.TimeSpan: \"%s\" at %s>' % ( self.Format(), self.this)
      def __str__(self):
          return self.Format()
      }
@@ -1071,12 +1119,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;  }
     }
 };
 
@@ -1092,5 +1142,9 @@ long wxGetUTCTime();
 long wxGetCurrentTime();
 wxLongLong wxGetLocalTimeMillis();
 
+%immutable;
+const wxDateTime        wxDefaultDateTime;
+%mutable;
+
 //---------------------------------------------------------------------------
 //---------------------------------------------------------------------------