X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/9416aa89ca06d0fb20b1002e026d2c7ac7aa6a17..9fd9e47a93dfcdd99c2722e288a0f28a51ce6f5f:/wxPython/src/misc.i?ds=sidebyside diff --git a/wxPython/src/misc.i b/wxPython/src/misc.i index db74ff8614..92f95b87da 100644 --- a/wxPython/src/misc.i +++ b/wxPython/src/misc.i @@ -28,10 +28,11 @@ %import _defs.i +//--------------------------------------------------------------------------- %{ - static wxString wxPyEmptyStr(""); + // Put some wx default wxChar* values into wxStrings. + static const wxString wxPyEmptyString(wxT("")); %} - //--------------------------------------------------------------------------- @@ -39,7 +40,7 @@ class wxObject { public: %addmethods { - const char* GetClassName() { + wxString GetClassName() { return self->GetClassInfo()->GetClassName(); } @@ -70,11 +71,19 @@ public: %addmethods { PyObject* asTuple() { + wxPyBeginBlockThreads(); PyObject* tup = PyTuple_New(2); PyTuple_SET_ITEM(tup, 0, PyInt_FromLong(self->x)); PyTuple_SET_ITEM(tup, 1, PyInt_FromLong(self->y)); + wxPyEndBlockThreads(); return tup; } + + int __cmp__(const wxSize* sz) { + if (! sz) return 1; + if (*self == *sz) return 0; + return -1; + } } %pragma(python) addtoclass = " @@ -105,9 +114,11 @@ public: self->y = y; } PyObject* asTuple() { + wxPyBeginBlockThreads(); PyObject* tup = PyTuple_New(2); PyTuple_SET_ITEM(tup, 0, PyFloat_FromDouble(self->x)); PyTuple_SET_ITEM(tup, 1, PyFloat_FromDouble(self->y)); + wxPyEndBlockThreads(); return tup; } @@ -122,8 +133,9 @@ public: } int __cmp__(const wxRealPoint* p) { - if (! p) return 0; - return *self == *p; + if (! p) return 1; + if (*self == *p) return 0; + return -1; } } %pragma(python) addtoclass = " @@ -152,9 +164,11 @@ public: self->y = y; } PyObject* asTuple() { + wxPyBeginBlockThreads(); PyObject* tup = PyTuple_New(2); PyTuple_SET_ITEM(tup, 0, PyInt_FromLong(self->x)); PyTuple_SET_ITEM(tup, 1, PyInt_FromLong(self->y)); + wxPyEndBlockThreads(); return tup; } @@ -169,8 +183,9 @@ public: } int __cmp__(const wxPoint* p) { - if (! p) return 0; - return *self == *p; + if (! p) return 1; + if (*self == *p) return 0; + return -1; } } %pragma(python) addtoclass = " @@ -223,11 +238,13 @@ public: %addmethods { PyObject* asTuple() { + wxPyBeginBlockThreads(); PyObject* tup = PyTuple_New(4); PyTuple_SET_ITEM(tup, 0, PyInt_FromLong(self->x)); PyTuple_SET_ITEM(tup, 1, PyInt_FromLong(self->y)); PyTuple_SET_ITEM(tup, 2, PyInt_FromLong(self->width)); PyTuple_SET_ITEM(tup, 3, PyInt_FromLong(self->height)); + wxPyEndBlockThreads(); return tup; } @@ -237,8 +254,9 @@ public: } int __cmp__(const wxRect* rect) { - if (! rect) return 0; - return *self == *rect; + if (! rect) return 1; + if (*self == *rect) return 0; + return -1; } } @@ -306,13 +324,13 @@ public: dest = reg1.GetBox(); if (dest != wxRect(0,0,0,0)) { - bool doSave = wxPyRestoreThread(); + wxPyBeginBlockThreads(); wxRect* newRect = new wxRect(dest); obj = wxPyConstructObject((void*)newRect, "wxRect"); PyObject* one = PyInt_FromLong(1); PyObject_SetAttrString(obj, "thisown", one); Py_DECREF(one); - wxPySaveThread(doSave); + wxPyEndBlockThreads(); return obj; } Py_INCREF(Py_None); @@ -340,7 +358,7 @@ long wxGetFreeMemory(); void wxGetMousePosition(int* OUTPUT, int* OUTPUT); bool wxIsBusy(); wxString wxNow(); -bool wxShell(const wxString& command = wxPyEmptyStr); +bool wxShell(const wxString& command = wxPyEmptyString); void wxStartTimer(); int wxGetOsVersion(int *OUTPUT, int *OUTPUT); wxString wxGetOsDescription(); @@ -352,8 +370,9 @@ bool wxYieldIfNeeded(); void wxEnableTopLevelWindows(bool enable); %inline %{ - char* wxGetResource(char *section, char *entry, char *file = NULL) { - char * retval; + wxString wxGetResource(const wxString& section, const wxString& entry, + const wxString& file = wxPyEmptyString) { + wxChar * retval; wxGetResource(section, entry, &retval, file); return retval; } @@ -368,7 +387,11 @@ wxString wxGetFullHostName(); wxString wxGetUserId(); wxString wxGetUserName(); wxString wxGetHomeDir(); +wxString wxGetUserHome(const wxString& user = wxPyEmptyString); + +// When wxApp gets the virtual method magic then enable this. +// bool wxHandleFatalExceptions(bool doIt = TRUE); //---------------------------------------------------------------------- @@ -465,6 +488,7 @@ public: ~wxBusyInfo(); }; + //---------------------------------------------------------------------------