]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/utils.i
My RPM spec now uses the --enable-rpath
[wxWidgets.git] / wxPython / src / utils.i
index a037def99f029731f23da01833e8349e3dd5a2a9..c05383ea0bf07b4069446efc3ad6d51cc75c529c 100644 (file)
@@ -14,7 +14,7 @@
 %module utils
 
 %{
-#include "export.h"
+#include "helpers.h"
 #include <wx/config.h>
 #include <wx/fileconf.h>
 #include <wx/datetime.h>
@@ -23,8 +23,7 @@
 //---------------------------------------------------------------------------
 %{
     // Put some wx default wxChar* values into wxStrings.
-    static const wxChar* wxDateFormatStr = wxT("sashWindow");
-    DECLARE_DEF_STRING(DateFormatStr);
+    DECLARE_DEF_STRING2(DateFormatStr, wxT("%c"));
     static const wxString wxPyEmptyString(wxT(""));
 
 %}
@@ -748,9 +747,10 @@ public:
         wxDateTime __sub__TS(const wxTimeSpan& other) { return *self - other; }
         wxDateTime __sub__DS(const wxDateSpan& other) { return *self - other; }
 
-        int __cmp__(const wxDateTime& other) {
-            if (*self <  other) return -1;
-            if (*self == other) return 0;
+        int __cmp__(const wxDateTime* other) {
+            if (! other) return -1;
+            if (*self <  *other) return -1;
+            if (*self == *other) return 0;
             return 1;
         }
     }
@@ -773,32 +773,68 @@ public:
 "
 
     // ------------------------------------------------------------------------
-    // conversion to/from text: all conversions from text return the pointer to
-    // the next character following the date specification (i.e. the one where
-    // the scan had to stop) or NULL on failure.
+    // conversion from text: all conversions from text return -1 on failure,
+    // or the index in the string where the next character following the date
+    // specification (i.e. the one where the scan had to stop) is located.
+
+    %addmethods {
 
         // parse a string in RFC 822 format (found e.g. in mail headers and
         // having the form "Wed, 10 Feb 1999 19:07:07 +0100")
-    wxString ParseRfc822Date(const wxString& date);
+        int ParseRfc822Date(const wxString& date) {
+            const wxChar* rv;
+            const wxChar* _date = date;
+            rv = self->ParseRfc822Date(_date);
+            if (rv == NULL) return -1;
+            return rv - _date;
+        }
+
 
         // parse a date/time in the given format (see strptime(3)), fill in
         // the missing (in the string) fields with the values of dateDef (by
         // default, they will not change if they had valid values or will
         // default to Today() otherwise)
-    wxString ParseFormat(const wxString& date,
-                            const wxString& format = wxPyDateFormatStr,
-                            const wxDateTime& dateDef = wxDefaultDateTime);
+        int ParseFormat(const wxString& date,
+                        const wxString& format = wxPyDateFormatStr,
+                        const wxDateTime& dateDef = wxDefaultDateTime) {
+            const wxChar* rv;
+            const wxChar* _date = date;
+            rv = self->ParseFormat(_date, format, dateDef);
+            if (rv == NULL) return -1;
+            return rv - _date;
+        }
 
         // parse a string containing the date/time in "free" format, this
         // function will try to make an educated guess at the string contents
-    wxString ParseDateTime(const wxString& datetime);
+        int ParseDateTime(const wxString& datetime) {
+            const wxChar* rv;
+            const wxChar* _datetime = datetime;
+            rv = self->ParseDateTime(_datetime);
+            if (rv == NULL) return -1;
+            return rv - _datetime;
+        }
+
 
         // parse a string containing the date only in "free" format (less
         // flexible than ParseDateTime)
-    wxString ParseDate(const wxString& date);
+        int ParseDate(const wxString& date) {
+            const wxChar* rv;
+            const wxChar* _date = date;
+            rv = self->ParseDate(_date);
+            if (rv == NULL) return -1;
+            return rv - _date;
+        }
 
         // parse a string containing the time only in "free" format
-    wxString ParseTime(const wxString& time);
+        int ParseTime(const wxString& time) {
+            const wxChar* rv;
+            const wxChar* _time = time;
+            rv = self->ParseTime(_time);
+            if (rv == NULL) return -1;
+            return rv - _time;
+        }
+    }
+
 
         // this function accepts strftime()-like format string (default
         // argument corresponds to the preferred date and time representation
@@ -895,9 +931,10 @@ public:
         wxTimeSpan __mul__(int n)                   { return *self * n; }
         wxTimeSpan __rmul__(int n)                  { return n * *self; }
         wxTimeSpan __neg__()                        { return self->Negate(); }
-        int __cmp__(const wxTimeSpan& other) {
-            if (*self <  other) return -1;
-            if (*self == other) return 0;
+        int __cmp__(const wxTimeSpan* other) {
+            if (! other) return -1;
+            if (*self <  *other) return -1;
+            if (*self == *other) return 0;
             return 1;
         }
     }
@@ -1063,8 +1100,9 @@ wxLongLong wxGetLocalTimeMillis();
 //---------------------------------------------------------------------------
 
 %init %{
-    wxClassInfo::CleanUpClasses();
-    wxClassInfo::InitializeClasses();
+    // These are no longer needed since utils is back in the core
+//      wxClassInfo::CleanUpClasses();
+//      wxClassInfo::InitializeClasses();
 %}
 
 //---------------------------------------------------------------------------