]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/_datetime.i
cleanup - reformatting
[wxWidgets.git] / wxPython / src / _datetime.i
index 9441f8ee1e782903d80c182e00f9617c3603557e..322c03a7eb5e4ba16c950c8b9b8b0949418824b3 100644 (file)
@@ -30,7 +30,7 @@ MAKE_CONST_WXSTRING(DefaultTimeSpanFormat);
     $1 = new wxDateTime::TimeZone((wxDateTime::TZ)PyInt_AsLong($input));
     temp = true;
 }
-%typemap(python,freearg) wxDateTime::TimeZone& {
+%typemap(freearg) wxDateTime::TimeZone& {
     if (temp$argnum) delete $1;
 }
 
@@ -42,7 +42,7 @@ MAKE_CONST_WXSTRING(DefaultTimeSpanFormat);
 
 // Convert a wxLongLong to a Python Long by getting the hi/lo dwords, then
 // shifting and oring them together
-%typemap(python, out) wxLongLong {
+%typemap(out) wxLongLong {
     PyObject *hi, *lo, *shifter, *shifted;
     hi = PyLong_FromLong( $1.GetHi() );
     lo = PyLong_FromLong( $1.GetLo() );
@@ -372,7 +372,7 @@ public:
             wxString am;
             wxString pm;
             wxDateTime::GetAmPmStrings(&am, &pm);
-            bool blocked = wxPyBeginBlockThreads();
+            wxPyBlock_t blocked = wxPyBeginBlockThreads();
             PyObject* tup = PyTuple_New(2);
             PyTuple_SET_ITEM(tup, 0, wx2PyString(am));
             PyTuple_SET_ITEM(tup, 1, wx2PyString(pm));
@@ -426,6 +426,7 @@ public:
                                      wxDateTime_t minute = 0,
                                      wxDateTime_t second = 0,
                                      wxDateTime_t millisec = 0));
+    %RenameCtor(DateTimeFromDateTime, wxDateTime(const wxDateTime& date));
             
     ~wxDateTime();
 
@@ -586,10 +587,22 @@ public:
     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);
+        // interpret current value as being in another timezone and transform
+        // it to local one
+    wxDateTime FromTimezone(const wxDateTime::TimeZone& tz, bool noDST = false) const;
+    wxDateTime& MakeFromTimezone(const wxDateTime::TimeZone& tz, bool noDST = false);
+
+        // transform to/from GMT/UTC
+    wxDateTime ToUTC(bool noDST = false) const;
+    wxDateTime& MakeUTC(bool noDST = false);
+
+    wxDateTime ToGMT(bool noDST = false) const;
     wxDateTime& MakeGMT(bool noDST = false);
 
+    wxDateTime FromUTC(bool noDST = false) const;
+    wxDateTime& MakeFromUTC(bool noDST = false);
+
+    
         // is daylight savings time in effect at this moment according to the
         // rules of the specified country?
         //
@@ -860,12 +873,13 @@ public:
     %pythoncode {
     def __repr__(self):
         if self.IsValid():
-            return '<wx.DateTime: \"%s\" at %s>' % ( self.Format(), self.this)
+            f = self.Format().encode(wx.GetDefaultPyEncoding())
+            return '<wx.DateTime: \"%s\" at %s>' % ( f, self.this)
         else:
             return '<wx.DateTime: \"INVALID\" at %s>' % self.this
     def __str__(self):
         if self.IsValid():
-            return self.Format()
+            return self.Format().encode(wx.GetDefaultPyEncoding())
         else:
             return "INVALID DateTime"
     }
@@ -881,9 +895,16 @@ public:
 class wxTimeSpan
 {
 public:
+
+    // TODO:  Need an input typemap for wxLongLong...
+    
+    
+        // return the timespan for the given number of milliseconds
+    static wxTimeSpan Milliseconds(/*wxLongLong*/ long ms);
+    static wxTimeSpan Millisecond(); 
     
         // return the timespan for the given number of seconds
-    static wxTimeSpan Seconds(long sec);
+    static wxTimeSpan Seconds(/*wxLongLong*/ long sec);
     static wxTimeSpan Second();
 
         // return the timespan for the given number of minutes
@@ -910,8 +931,8 @@ public:
         // milliseconds)
     wxTimeSpan(long hours = 0,
                long minutes = 0,
-               long seconds = 0,
-               long milliseconds = 0);
+               /*wxLongLong*/ long seconds = 0,
+               /*wxLongLong*/ long milliseconds = 0);
 
     ~wxTimeSpan();
 
@@ -1011,9 +1032,10 @@ public:
 
     %pythoncode {
      def __repr__(self):
-         return '<wx.TimeSpan: \"%s\" at %s>' % ( self.Format(), self.this)
+         f = self.Format().encode(wx.GetDefaultPyEncoding())
+         return '<wx.TimeSpan: \"%s\" at %s>' % ( f, self.this)
      def __str__(self):
-         return self.Format()
+         return self.Format().encode(wx.GetDefaultPyEncoding())
      }
 };