]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/_datetime.i
Use the wx.ART_NORMAL_FILE icon
[wxWidgets.git] / wxPython / src / _datetime.i
index 48052362391b9f85f1b26de140a5980367b7bb20..f0284ce688763161d28a33be8f8e9f3d146bba06 100644 (file)
@@ -363,11 +363,24 @@ public:
     static wxString GetWeekDayName(WeekDay weekday,
                                    NameFlags flags = Name_Full);
 
-    DocDeclAStr(
-        static void, GetAmPmStrings(wxString *OUTPUT, wxString *OUTPUT),
-        "GetAmPmStrings() -> (am, pm)",
-        "Get the AM and PM strings in the current locale (may be empty)", "");
-
+    %extend {
+        DocAStr(
+            GetAmPmStrings,
+            "GetAmPmStrings() -> (am, pm)",
+            "Get the AM and PM strings in the current locale (may be empty)", "");
+        static PyObject* GetAmPmStrings() {
+            wxString am;
+            wxString pm;
+            wxDateTime::GetAmPmStrings(&am, &pm);
+            wxPyBlock_t blocked = wxPyBeginBlockThreads();
+            PyObject* tup = PyTuple_New(2);
+            PyTuple_SET_ITEM(tup, 0, wx2PyString(am));
+            PyTuple_SET_ITEM(tup, 1, wx2PyString(pm));
+            wxPyEndBlockThreads(blocked);
+            return tup;
+        }
+    }
+                
         // return True if the given country uses DST for this year
     static bool IsDSTApplicable(int year = Inv_Year,
                                 Country country = Country_Default);
@@ -708,14 +721,15 @@ public:
     inline wxDateTime& operator-=(const wxDateSpan& diff);
 
 
+//     inline bool operator<(const wxDateTime& dt) const;
+//     inline bool operator<=(const wxDateTime& dt) const;
+//     inline bool operator>(const wxDateTime& dt) const;
+//     inline bool operator>=(const wxDateTime& dt) const;
+//     inline bool operator==(const wxDateTime& dt) const;
+//     inline bool operator!=(const wxDateTime& dt) const;
+
     %nokwargs __add__;
     %nokwargs __sub__;
-    %nokwargs __lt__;
-    %nokwargs __le__;
-    %nokwargs __gt__;
-    %nokwargs __ge__;
-    %nokwargs __eq__;
-    %nokwargs __ne__;
     %extend {
         wxDateTime __add__(const wxTimeSpan& other) { return *self + other; }
         wxDateTime __add__(const wxDateSpan& other) { return *self + other; }
@@ -724,14 +738,9 @@ 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;  }
-
-
         // These fall back to just comparing pointers if other is NULL, or if
-        // either operand is invalid.
+        // either operand is invalid.  This allows Python comparrisons to None
+        // to not assert and to return a sane value for the compare.
         bool __lt__(const wxDateTime* other) { 
             if (!other || !self->IsValid() || !other->IsValid()) return self <  other; 
             return (*self <  *other);
@@ -759,6 +768,9 @@ public:
         }            
     }
 
+
+
+   
         
     // ------------------------------------------------------------------------
     // conversion from text: all conversions from text return -1 on failure,
@@ -848,12 +860,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"
     }
@@ -999,9 +1012,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())
      }
 };