X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/af309447ff8413abd2fa5e9cc780fcef1c891f87..b6bff3019ee6a032d967ef75c48255613661dbee:/utils/wxPython/src/msw/utils.cpp?ds=sidebyside diff --git a/utils/wxPython/src/msw/utils.cpp b/utils/wxPython/src/msw/utils.cpp index f85b8a7d5f..f4984b5e9e 100644 --- a/utils/wxPython/src/msw/utils.cpp +++ b/utils/wxPython/src/msw/utils.cpp @@ -21,6 +21,31 @@ #define SWIGPYTHON #include #include +/*********************************************************************** + * $Header$ + * swig_lib/python/python.cfg + * + * This file contains coded needed to add variable linking to the + * Python interpreter. C variables are added as a new kind of Python + * datatype. + * + * Also contains supporting code for building python under Windows + * and things like that. + * + * $Log$ + * Revision 1.7 1999/06/22 18:01:12 RD + * wxPython 2.1b1: More more set of generated sources... + * + ************************************************************************/ + +#ifdef __cplusplus +extern "C" { +#endif +#include "Python.h" +#ifdef __cplusplus +} +#endif + /* Definitions for Windows/Unix exporting */ #if defined(__WIN32__) # if defined(_MSC_VER) @@ -36,18 +61,496 @@ # define SWIGEXPORT(a,b) a b #endif +#ifdef SWIG_GLOBAL #ifdef __cplusplus -extern "C" { +#define SWIGSTATIC extern "C" +#else +#define SWIGSTATIC #endif -#include "Python.h" -extern void SWIG_MakePtr(char *, void *, char *); -extern void SWIG_RegisterMapping(char *, char *, void *(*)(void *)); -extern char *SWIG_GetPtr(char *, void **, char *); -extern void SWIG_addvarlink(PyObject *, char *, PyObject *(*)(void), int (*)(PyObject *)); -extern PyObject *SWIG_newvarlink(void); -#ifdef __cplusplus +#endif + +#ifndef SWIGSTATIC +#define SWIGSTATIC static +#endif + +typedef struct { + char *name; + PyObject *(*get_attr)(void); + int (*set_attr)(PyObject *); +} swig_globalvar; + +typedef struct swig_varlinkobject { + PyObject_HEAD + swig_globalvar **vars; + int nvars; + int maxvars; +} swig_varlinkobject; + +/* ---------------------------------------------------------------------- + swig_varlink_repr() + + Function for python repr method + ---------------------------------------------------------------------- */ + +static PyObject * +swig_varlink_repr(swig_varlinkobject *v) +{ + v = v; + return PyString_FromString(""); } + +/* --------------------------------------------------------------------- + swig_varlink_print() + + Print out all of the global variable names + --------------------------------------------------------------------- */ + +static int +swig_varlink_print(swig_varlinkobject *v, FILE *fp, int flags) +{ + + int i = 0; + flags = flags; + fprintf(fp,"Global variables { "); + while (v->vars[i]) { + fprintf(fp,"%s", v->vars[i]->name); + i++; + if (v->vars[i]) fprintf(fp,", "); + } + fprintf(fp," }\n"); + return 0; +} + +/* -------------------------------------------------------------------- + swig_varlink_getattr + + This function gets the value of a variable and returns it as a + PyObject. In our case, we'll be looking at the datatype and + converting into a number or string + -------------------------------------------------------------------- */ + +static PyObject * +swig_varlink_getattr(swig_varlinkobject *v, char *n) +{ + int i = 0; + char temp[128]; + + while (v->vars[i]) { + if (strcmp(v->vars[i]->name,n) == 0) { + return (*v->vars[i]->get_attr)(); + } + i++; + } + sprintf(temp,"C global variable %s not found.", n); + PyErr_SetString(PyExc_NameError,temp); + return NULL; +} + +/* ------------------------------------------------------------------- + swig_varlink_setattr() + + This function sets the value of a variable. + ------------------------------------------------------------------- */ + +static int +swig_varlink_setattr(swig_varlinkobject *v, char *n, PyObject *p) +{ + char temp[128]; + int i = 0; + while (v->vars[i]) { + if (strcmp(v->vars[i]->name,n) == 0) { + return (*v->vars[i]->set_attr)(p); + } + i++; + } + sprintf(temp,"C global variable %s not found.", n); + PyErr_SetString(PyExc_NameError,temp); + return 1; +} + +statichere PyTypeObject varlinktype = { +/* PyObject_HEAD_INIT(&PyType_Type) Note : This doesn't work on some machines */ + PyObject_HEAD_INIT(0) + 0, + "varlink", /* Type name */ + sizeof(swig_varlinkobject), /* Basic size */ + 0, /* Itemsize */ + 0, /* Deallocator */ + (printfunc) swig_varlink_print, /* Print */ + (getattrfunc) swig_varlink_getattr, /* get attr */ + (setattrfunc) swig_varlink_setattr, /* Set attr */ + 0, /* tp_compare */ + (reprfunc) swig_varlink_repr, /* tp_repr */ + 0, /* tp_as_number */ + 0, /* tp_as_mapping*/ + 0, /* tp_hash */ +}; + +/* Create a variable linking object for use later */ + +SWIGSTATIC PyObject * +SWIG_newvarlink(void) +{ + swig_varlinkobject *result = 0; + result = PyMem_NEW(swig_varlinkobject,1); + varlinktype.ob_type = &PyType_Type; /* Patch varlinktype into a PyType */ + result->ob_type = &varlinktype; + /* _Py_NewReference(result); Does not seem to be necessary */ + result->nvars = 0; + result->maxvars = 64; + result->vars = (swig_globalvar **) malloc(64*sizeof(swig_globalvar *)); + result->vars[0] = 0; + result->ob_refcnt = 0; + Py_XINCREF((PyObject *) result); + return ((PyObject*) result); +} + +SWIGSTATIC void +SWIG_addvarlink(PyObject *p, char *name, + PyObject *(*get_attr)(void), int (*set_attr)(PyObject *p)) +{ + swig_varlinkobject *v; + v= (swig_varlinkobject *) p; + + if (v->nvars >= v->maxvars -1) { + v->maxvars = 2*v->maxvars; + v->vars = (swig_globalvar **) realloc(v->vars,v->maxvars*sizeof(swig_globalvar *)); + if (v->vars == NULL) { + fprintf(stderr,"SWIG : Fatal error in initializing Python module.\n"); + exit(1); + } + } + v->vars[v->nvars] = (swig_globalvar *) malloc(sizeof(swig_globalvar)); + v->vars[v->nvars]->name = (char *) malloc(strlen(name)+1); + strcpy(v->vars[v->nvars]->name,name); + v->vars[v->nvars]->get_attr = get_attr; + v->vars[v->nvars]->set_attr = set_attr; + v->nvars++; + v->vars[v->nvars] = 0; +} + + + +/***************************************************************************** + * $Header$ + * + * swigptr.swg + * + * This file contains supporting code for the SWIG run-time type checking + * mechanism. The following functions are available : + * + * SWIG_RegisterMapping(char *origtype, char *newtype, void *(*cast)(void *)); + * + * Registers a new type-mapping with the type-checker. origtype is the + * original datatype and newtype is an equivalent type. cast is optional + * pointer to a function to cast pointer values between types (this + * is typically used to cast pointers from derived classes to base classes in C++) + * + * SWIG_MakePtr(char *buffer, void *ptr, char *typestring); + * + * Makes a pointer string from a pointer and typestring. The result is returned + * in buffer which is assumed to hold enough space for the result. + * + * char * SWIG_GetPtr(char *buffer, void **ptr, char *type) + * + * Gets a pointer value from a string. If there is a type-mismatch, returns + * a character string to the received type. On success, returns NULL. + * + * + * You can remap these functions by making a file called "swigptr.swg" in + * your the same directory as the interface file you are wrapping. + * + * These functions are normally declared static, but this file can be + * can be used in a multi-module environment by redefining the symbol + * SWIGSTATIC. + *****************************************************************************/ + +#include + +#ifdef SWIG_GLOBAL +#ifdef __cplusplus +#define SWIGSTATIC extern "C" +#else +#define SWIGSTATIC #endif +#endif + +#ifndef SWIGSTATIC +#define SWIGSTATIC static +#endif + + +/* SWIG pointer structure */ + +typedef struct SwigPtrType { + char *name; /* Datatype name */ + int len; /* Length (used for optimization) */ + void *(*cast)(void *); /* Pointer casting function */ + struct SwigPtrType *next; /* Linked list pointer */ +} SwigPtrType; + +/* Pointer cache structure */ + +typedef struct { + int stat; /* Status (valid) bit */ + SwigPtrType *tp; /* Pointer to type structure */ + char name[256]; /* Given datatype name */ + char mapped[256]; /* Equivalent name */ +} SwigCacheType; + +/* Some variables */ + +static int SwigPtrMax = 64; /* Max entries that can be currently held */ + /* This value may be adjusted dynamically */ +static int SwigPtrN = 0; /* Current number of entries */ +static int SwigPtrSort = 0; /* Status flag indicating sort */ +static int SwigStart[256]; /* Starting positions of types */ + +/* Pointer table */ +static SwigPtrType *SwigPtrTable = 0; /* Table containing pointer equivalences */ + +/* Cached values */ + +#define SWIG_CACHESIZE 8 +#define SWIG_CACHEMASK 0x7 +static SwigCacheType SwigCache[SWIG_CACHESIZE]; +static int SwigCacheIndex = 0; +static int SwigLastCache = 0; + +/* Sort comparison function */ +static int swigsort(const void *data1, const void *data2) { + SwigPtrType *d1 = (SwigPtrType *) data1; + SwigPtrType *d2 = (SwigPtrType *) data2; + return strcmp(d1->name,d2->name); +} + +/* Binary Search function */ +static int swigcmp(const void *key, const void *data) { + char *k = (char *) key; + SwigPtrType *d = (SwigPtrType *) data; + return strncmp(k,d->name,d->len); +} + +/* Register a new datatype with the type-checker */ + +SWIGSTATIC +void SWIG_RegisterMapping(char *origtype, char *newtype, void *(*cast)(void *)) { + + int i; + SwigPtrType *t = 0,*t1; + + /* Allocate the pointer table if necessary */ + + if (!SwigPtrTable) { + SwigPtrTable = (SwigPtrType *) malloc(SwigPtrMax*sizeof(SwigPtrType)); + SwigPtrN = 0; + } + /* Grow the table */ + if (SwigPtrN >= SwigPtrMax) { + SwigPtrMax = 2*SwigPtrMax; + SwigPtrTable = (SwigPtrType *) realloc((char *) SwigPtrTable,SwigPtrMax*sizeof(SwigPtrType)); + } + for (i = 0; i < SwigPtrN; i++) + if (strcmp(SwigPtrTable[i].name,origtype) == 0) { + t = &SwigPtrTable[i]; + break; + } + if (!t) { + t = &SwigPtrTable[SwigPtrN]; + t->name = origtype; + t->len = strlen(t->name); + t->cast = 0; + t->next = 0; + SwigPtrN++; + } + + /* Check for existing entry */ + + while (t->next) { + if ((strcmp(t->name,newtype) == 0)) { + if (cast) t->cast = cast; + return; + } + t = t->next; + } + + /* Now place entry (in sorted order) */ + + t1 = (SwigPtrType *) malloc(sizeof(SwigPtrType)); + t1->name = newtype; + t1->len = strlen(t1->name); + t1->cast = cast; + t1->next = 0; + t->next = t1; + SwigPtrSort = 0; +} + +/* Make a pointer value string */ + +SWIGSTATIC +void SWIG_MakePtr(char *_c, const void *_ptr, char *type) { + static char _hex[16] = + {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', + 'a', 'b', 'c', 'd', 'e', 'f'}; + unsigned long _p, _s; + char _result[20], *_r; /* Note : a 64-bit hex number = 16 digits */ + _r = _result; + _p = (unsigned long) _ptr; + if (_p > 0) { + while (_p > 0) { + _s = _p & 0xf; + *(_r++) = _hex[_s]; + _p = _p >> 4; + } + *_r = '_'; + while (_r >= _result) + *(_c++) = *(_r--); + } else { + strcpy (_c, "NULL"); + } + if (_ptr) + strcpy (_c, type); +} + +/* Define for backwards compatibility */ + +#define _swig_make_hex SWIG_MakePtr + +/* Function for getting a pointer value */ + +SWIGSTATIC +char *SWIG_GetPtr(char *_c, void **ptr, char *_t) +{ + unsigned long _p; + char temp_type[256]; + char *name; + int i, len; + SwigPtrType *sp,*tp; + SwigCacheType *cache; + int start, end; + _p = 0; + + /* Pointer values must start with leading underscore */ + if (*_c == '_') { + _c++; + /* Extract hex value from pointer */ + while (*_c) { + if ((*_c >= '0') && (*_c <= '9')) + _p = (_p << 4) + (*_c - '0'); + else if ((*_c >= 'a') && (*_c <= 'f')) + _p = (_p << 4) + ((*_c - 'a') + 10); + else + break; + _c++; + } + + if (_t) { + if (strcmp(_t,_c)) { + if (!SwigPtrSort) { + qsort((void *) SwigPtrTable, SwigPtrN, sizeof(SwigPtrType), swigsort); + for (i = 0; i < 256; i++) { + SwigStart[i] = SwigPtrN; + } + for (i = SwigPtrN-1; i >= 0; i--) { + SwigStart[(int) (SwigPtrTable[i].name[1])] = i; + } + for (i = 255; i >= 1; i--) { + if (SwigStart[i-1] > SwigStart[i]) + SwigStart[i-1] = SwigStart[i]; + } + SwigPtrSort = 1; + for (i = 0; i < SWIG_CACHESIZE; i++) + SwigCache[i].stat = 0; + } + + /* First check cache for matches. Uses last cache value as starting point */ + cache = &SwigCache[SwigLastCache]; + for (i = 0; i < SWIG_CACHESIZE; i++) { + if (cache->stat) { + if (strcmp(_t,cache->name) == 0) { + if (strcmp(_c,cache->mapped) == 0) { + cache->stat++; + *ptr = (void *) _p; + if (cache->tp->cast) *ptr = (*(cache->tp->cast))(*ptr); + return (char *) 0; + } + } + } + SwigLastCache = (SwigLastCache+1) & SWIG_CACHEMASK; + if (!SwigLastCache) cache = SwigCache; + else cache++; + } + /* We have a type mismatch. Will have to look through our type + mapping table to figure out whether or not we can accept this datatype */ + + start = SwigStart[(int) _t[1]]; + end = SwigStart[(int) _t[1]+1]; + sp = &SwigPtrTable[start]; + while (start < end) { + if (swigcmp(_t,sp) == 0) break; + sp++; + start++; + } + if (start >= end) sp = 0; + /* Try to find a match for this */ + if (sp) { + while (swigcmp(_t,sp) == 0) { + name = sp->name; + len = sp->len; + tp = sp->next; + /* Try to find entry for our given datatype */ + while(tp) { + if (tp->len >= 255) { + return _c; + } + strcpy(temp_type,tp->name); + strncat(temp_type,_t+len,255-tp->len); + if (strcmp(_c,temp_type) == 0) { + + strcpy(SwigCache[SwigCacheIndex].mapped,_c); + strcpy(SwigCache[SwigCacheIndex].name,_t); + SwigCache[SwigCacheIndex].stat = 1; + SwigCache[SwigCacheIndex].tp = tp; + SwigCacheIndex = SwigCacheIndex & SWIG_CACHEMASK; + + /* Get pointer value */ + *ptr = (void *) _p; + if (tp->cast) *ptr = (*(tp->cast))(*ptr); + return (char *) 0; + } + tp = tp->next; + } + sp++; + /* Hmmm. Didn't find it this time */ + } + } + /* Didn't find any sort of match for this data. + Get the pointer value and return the received type */ + *ptr = (void *) _p; + return _c; + } else { + /* Found a match on the first try. Return pointer value */ + *ptr = (void *) _p; + return (char *) 0; + } + } else { + /* No type specified. Good luck */ + *ptr = (void *) _p; + return (char *) 0; + } + } else { + if (strcmp (_c, "NULL") == 0) { + *ptr = (void *) 0; + return (char *) 0; + } + *ptr = (void *) 0; + return _c; + } +} + +/* Compatibility mode */ + +#define _swig_get_hex SWIG_GetPtr #define SWIG_init initutilsc @@ -115,6 +618,10 @@ extern wxAcceleratorEntry* wxAcceleratorEntry_LIST_helper(PyObject* source); static char* wxStringErrorMsg = "string type is required for parameter"; +#ifdef SEPARATE + wxString wxPyEmptyStr(""); +#endif + static PyObject* __EnumerationHelper(bool flag, wxString& str, long index) { PyObject* ret = PyTuple_New(3); if (ret) { @@ -148,7 +655,7 @@ static PyObject *_wrap_new_wxConfig(PyObject *self, PyObject *args) { PyErr_SetString(PyExc_TypeError, wxStringErrorMsg); return NULL; } - _arg0 = new wxString(PyString_AsString(_obj0)); + _arg0 = new wxString(PyString_AsString(_obj0), PyString_Size(_obj0)); } if (_obj1) { @@ -156,7 +663,7 @@ static PyObject *_wrap_new_wxConfig(PyObject *self, PyObject *args) { PyErr_SetString(PyExc_TypeError, wxStringErrorMsg); return NULL; } - _arg1 = new wxString(PyString_AsString(_obj1)); + _arg1 = new wxString(PyString_AsString(_obj1), PyString_Size(_obj1)); } if (_obj2) { @@ -164,7 +671,7 @@ static PyObject *_wrap_new_wxConfig(PyObject *self, PyObject *args) { PyErr_SetString(PyExc_TypeError, wxStringErrorMsg); return NULL; } - _arg2 = new wxString(PyString_AsString(_obj2)); + _arg2 = new wxString(PyString_AsString(_obj2), PyString_Size(_obj2)); } if (_obj3) { @@ -172,10 +679,14 @@ static PyObject *_wrap_new_wxConfig(PyObject *self, PyObject *args) { PyErr_SetString(PyExc_TypeError, wxStringErrorMsg); return NULL; } - _arg3 = new wxString(PyString_AsString(_obj3)); + _arg3 = new wxString(PyString_AsString(_obj3), PyString_Size(_obj3)); } - _result = (wxConfig *)new_wxConfig(*_arg0,*_arg1,*_arg2,*_arg3,_arg4); - SWIG_MakePtr(_ptemp, (char *) _result,"_wxConfig_p"); +{ + wxPy_BEGIN_ALLOW_THREADS; + _result = (wxConfig *)new_wxConfig(*_arg0,*_arg1,*_arg2,*_arg3,_arg4); + + wxPy_END_ALLOW_THREADS; +} SWIG_MakePtr(_ptemp, (char *) _result,"_wxConfig_p"); _resultobj = Py_BuildValue("s",_ptemp); { if (_obj0) @@ -211,8 +722,12 @@ static PyObject *_wrap_delete_wxConfig(PyObject *self, PyObject *args) { return NULL; } } - delete_wxConfig(_arg0); - Py_INCREF(Py_None); +{ + wxPy_BEGIN_ALLOW_THREADS; + delete_wxConfig(_arg0); + + wxPy_END_ALLOW_THREADS; +} Py_INCREF(Py_None); _resultobj = Py_None; return _resultobj; } @@ -232,8 +747,12 @@ static PyObject *_wrap_wxConfig_DontCreateOnDemand(PyObject *self, PyObject *arg return NULL; } } - wxConfig_DontCreateOnDemand(_arg0); - Py_INCREF(Py_None); +{ + wxPy_BEGIN_ALLOW_THREADS; + wxConfig_DontCreateOnDemand(_arg0); + + wxPy_END_ALLOW_THREADS; +} Py_INCREF(Py_None); _resultobj = Py_None; return _resultobj; } @@ -254,8 +773,12 @@ static PyObject *_wrap_wxConfig_DeleteAll(PyObject *self, PyObject *args) { return NULL; } } - _result = (bool )wxConfig_DeleteAll(_arg0); - _resultobj = Py_BuildValue("i",_result); +{ + wxPy_BEGIN_ALLOW_THREADS; + _result = (bool )wxConfig_DeleteAll(_arg0); + + wxPy_END_ALLOW_THREADS; +} _resultobj = Py_BuildValue("i",_result); return _resultobj; } @@ -284,11 +807,15 @@ static PyObject *_wrap_wxConfig_DeleteEntry(PyObject *self, PyObject *args) { PyErr_SetString(PyExc_TypeError, wxStringErrorMsg); return NULL; } - _arg1 = new wxString(PyString_AsString(_obj1)); + _arg1 = new wxString(PyString_AsString(_obj1), PyString_Size(_obj1)); } _arg2 = (bool ) tempbool2; - _result = (bool )wxConfig_DeleteEntry(_arg0,*_arg1,_arg2); - _resultobj = Py_BuildValue("i",_result); +{ + wxPy_BEGIN_ALLOW_THREADS; + _result = (bool )wxConfig_DeleteEntry(_arg0,*_arg1,_arg2); + + wxPy_END_ALLOW_THREADS; +} _resultobj = Py_BuildValue("i",_result); { if (_obj1) delete _arg1; @@ -319,10 +846,14 @@ static PyObject *_wrap_wxConfig_DeleteGroup(PyObject *self, PyObject *args) { PyErr_SetString(PyExc_TypeError, wxStringErrorMsg); return NULL; } - _arg1 = new wxString(PyString_AsString(_obj1)); + _arg1 = new wxString(PyString_AsString(_obj1), PyString_Size(_obj1)); } - _result = (bool )wxConfig_DeleteGroup(_arg0,*_arg1); - _resultobj = Py_BuildValue("i",_result); +{ + wxPy_BEGIN_ALLOW_THREADS; + _result = (bool )wxConfig_DeleteGroup(_arg0,*_arg1); + + wxPy_END_ALLOW_THREADS; +} _resultobj = Py_BuildValue("i",_result); { if (_obj1) delete _arg1; @@ -353,10 +884,14 @@ static PyObject *_wrap_wxConfig_Exists(PyObject *self, PyObject *args) { PyErr_SetString(PyExc_TypeError, wxStringErrorMsg); return NULL; } - _arg1 = new wxString(PyString_AsString(_obj1)); + _arg1 = new wxString(PyString_AsString(_obj1), PyString_Size(_obj1)); } - _result = (bool )wxConfig_Exists(_arg0,*_arg1); - _resultobj = Py_BuildValue("i",_result); +{ + wxPy_BEGIN_ALLOW_THREADS; + _result = (bool )wxConfig_Exists(_arg0,*_arg1); + + wxPy_END_ALLOW_THREADS; +} _resultobj = Py_BuildValue("i",_result); { if (_obj1) delete _arg1; @@ -383,8 +918,12 @@ static PyObject *_wrap_wxConfig_Flush(PyObject *self, PyObject *args) { } } _arg1 = (bool ) tempbool1; - _result = (bool )wxConfig_Flush(_arg0,_arg1); - _resultobj = Py_BuildValue("i",_result); +{ + wxPy_BEGIN_ALLOW_THREADS; + _result = (bool )wxConfig_Flush(_arg0,_arg1); + + wxPy_END_ALLOW_THREADS; +} _resultobj = Py_BuildValue("i",_result); return _resultobj; } @@ -404,8 +943,12 @@ static PyObject *_wrap_wxConfig_GetAppName(PyObject *self, PyObject *args) { return NULL; } } - _result = new wxString (wxConfig_GetAppName(_arg0)); { + wxPy_BEGIN_ALLOW_THREADS; + _result = new wxString (wxConfig_GetAppName(_arg0)); + + wxPy_END_ALLOW_THREADS; +}{ _resultobj = PyString_FromString(WXSTRINGCAST *(_result)); } { @@ -437,8 +980,12 @@ static PyObject *_wrap_wxConfig_GetFirstGroup(PyObject *self, PyObject *args) { return NULL; } } - _result = (PyObject *)wxConfig_GetFirstGroup(_arg0); { + wxPy_BEGIN_ALLOW_THREADS; + _result = (PyObject *)wxConfig_GetFirstGroup(_arg0); + + wxPy_END_ALLOW_THREADS; +}{ _resultobj = _result; } return _resultobj; @@ -467,8 +1014,12 @@ static PyObject *_wrap_wxConfig_GetFirstEntry(PyObject *self, PyObject *args) { return NULL; } } - _result = (PyObject *)wxConfig_GetFirstEntry(_arg0); { + wxPy_BEGIN_ALLOW_THREADS; + _result = (PyObject *)wxConfig_GetFirstEntry(_arg0); + + wxPy_END_ALLOW_THREADS; +}{ _resultobj = _result; } return _resultobj; @@ -497,8 +1048,12 @@ static PyObject *_wrap_wxConfig_GetNextGroup(PyObject *self, PyObject *args) { return NULL; } } - _result = (PyObject *)wxConfig_GetNextGroup(_arg0,_arg1); { + wxPy_BEGIN_ALLOW_THREADS; + _result = (PyObject *)wxConfig_GetNextGroup(_arg0,_arg1); + + wxPy_END_ALLOW_THREADS; +}{ _resultobj = _result; } return _resultobj; @@ -527,8 +1082,12 @@ static PyObject *_wrap_wxConfig_GetNextEntry(PyObject *self, PyObject *args) { return NULL; } } - _result = (PyObject *)wxConfig_GetNextEntry(_arg0,_arg1); { + wxPy_BEGIN_ALLOW_THREADS; + _result = (PyObject *)wxConfig_GetNextEntry(_arg0,_arg1); + + wxPy_END_ALLOW_THREADS; +}{ _resultobj = _result; } return _resultobj; @@ -553,8 +1112,12 @@ static PyObject *_wrap_wxConfig_GetNumberOfEntries(PyObject *self, PyObject *arg } } _arg1 = (bool ) tempbool1; - _result = (int )wxConfig_GetNumberOfEntries(_arg0,_arg1); - _resultobj = Py_BuildValue("i",_result); +{ + wxPy_BEGIN_ALLOW_THREADS; + _result = (int )wxConfig_GetNumberOfEntries(_arg0,_arg1); + + wxPy_END_ALLOW_THREADS; +} _resultobj = Py_BuildValue("i",_result); return _resultobj; } @@ -577,8 +1140,12 @@ static PyObject *_wrap_wxConfig_GetNumberOfGroups(PyObject *self, PyObject *args } } _arg1 = (bool ) tempbool1; - _result = (int )wxConfig_GetNumberOfGroups(_arg0,_arg1); - _resultobj = Py_BuildValue("i",_result); +{ + wxPy_BEGIN_ALLOW_THREADS; + _result = (int )wxConfig_GetNumberOfGroups(_arg0,_arg1); + + wxPy_END_ALLOW_THREADS; +} _resultobj = Py_BuildValue("i",_result); return _resultobj; } @@ -598,8 +1165,12 @@ static PyObject *_wrap_wxConfig_GetPath(PyObject *self, PyObject *args) { return NULL; } } - _result = new wxString (wxConfig_GetPath(_arg0)); { + wxPy_BEGIN_ALLOW_THREADS; + _result = new wxString (wxConfig_GetPath(_arg0)); + + wxPy_END_ALLOW_THREADS; +}{ _resultobj = PyString_FromString(WXSTRINGCAST *(_result)); } { @@ -624,8 +1195,12 @@ static PyObject *_wrap_wxConfig_GetVendorName(PyObject *self, PyObject *args) { return NULL; } } - _result = new wxString (wxConfig_GetVendorName(_arg0)); { + wxPy_BEGIN_ALLOW_THREADS; + _result = new wxString (wxConfig_GetVendorName(_arg0)); + + wxPy_END_ALLOW_THREADS; +}{ _resultobj = PyString_FromString(WXSTRINGCAST *(_result)); } { @@ -657,10 +1232,14 @@ static PyObject *_wrap_wxConfig_HasEntry(PyObject *self, PyObject *args) { PyErr_SetString(PyExc_TypeError, wxStringErrorMsg); return NULL; } - _arg1 = new wxString(PyString_AsString(_obj1)); + _arg1 = new wxString(PyString_AsString(_obj1), PyString_Size(_obj1)); } - _result = (bool )wxConfig_HasEntry(_arg0,*_arg1); - _resultobj = Py_BuildValue("i",_result); +{ + wxPy_BEGIN_ALLOW_THREADS; + _result = (bool )wxConfig_HasEntry(_arg0,*_arg1); + + wxPy_END_ALLOW_THREADS; +} _resultobj = Py_BuildValue("i",_result); { if (_obj1) delete _arg1; @@ -691,10 +1270,14 @@ static PyObject *_wrap_wxConfig_HasGroup(PyObject *self, PyObject *args) { PyErr_SetString(PyExc_TypeError, wxStringErrorMsg); return NULL; } - _arg1 = new wxString(PyString_AsString(_obj1)); + _arg1 = new wxString(PyString_AsString(_obj1), PyString_Size(_obj1)); } - _result = (bool )wxConfig_HasGroup(_arg0,*_arg1); - _resultobj = Py_BuildValue("i",_result); +{ + wxPy_BEGIN_ALLOW_THREADS; + _result = (bool )wxConfig_HasGroup(_arg0,*_arg1); + + wxPy_END_ALLOW_THREADS; +} _resultobj = Py_BuildValue("i",_result); { if (_obj1) delete _arg1; @@ -718,8 +1301,12 @@ static PyObject *_wrap_wxConfig_IsExpandingEnvVars(PyObject *self, PyObject *arg return NULL; } } - _result = (bool )wxConfig_IsExpandingEnvVars(_arg0); - _resultobj = Py_BuildValue("i",_result); +{ + wxPy_BEGIN_ALLOW_THREADS; + _result = (bool )wxConfig_IsExpandingEnvVars(_arg0); + + wxPy_END_ALLOW_THREADS; +} _resultobj = Py_BuildValue("i",_result); return _resultobj; } @@ -739,8 +1326,12 @@ static PyObject *_wrap_wxConfig_IsRecordingDefaults(PyObject *self, PyObject *ar return NULL; } } - _result = (bool )wxConfig_IsRecordingDefaults(_arg0); - _resultobj = Py_BuildValue("i",_result); +{ + wxPy_BEGIN_ALLOW_THREADS; + _result = (bool )wxConfig_IsRecordingDefaults(_arg0); + + wxPy_END_ALLOW_THREADS; +} _resultobj = Py_BuildValue("i",_result); return _resultobj; } @@ -769,7 +1360,7 @@ static PyObject *_wrap_wxConfig_Read(PyObject *self, PyObject *args) { PyErr_SetString(PyExc_TypeError, wxStringErrorMsg); return NULL; } - _arg1 = new wxString(PyString_AsString(_obj1)); + _arg1 = new wxString(PyString_AsString(_obj1), PyString_Size(_obj1)); } if (_obj2) { @@ -777,10 +1368,14 @@ static PyObject *_wrap_wxConfig_Read(PyObject *self, PyObject *args) { PyErr_SetString(PyExc_TypeError, wxStringErrorMsg); return NULL; } - _arg2 = new wxString(PyString_AsString(_obj2)); + _arg2 = new wxString(PyString_AsString(_obj2), PyString_Size(_obj2)); } - _result = new wxString (wxConfig_Read(_arg0,*_arg1,*_arg2)); { + wxPy_BEGIN_ALLOW_THREADS; + _result = new wxString (wxConfig_Read(_arg0,*_arg1,*_arg2)); + + wxPy_END_ALLOW_THREADS; +}{ _resultobj = PyString_FromString(WXSTRINGCAST *(_result)); } { @@ -821,10 +1416,14 @@ static PyObject *_wrap_wxConfig_ReadInt(PyObject *self, PyObject *args) { PyErr_SetString(PyExc_TypeError, wxStringErrorMsg); return NULL; } - _arg1 = new wxString(PyString_AsString(_obj1)); + _arg1 = new wxString(PyString_AsString(_obj1), PyString_Size(_obj1)); } - _result = (long )wxConfig_ReadInt(_arg0,*_arg1,_arg2); - _resultobj = Py_BuildValue("l",_result); +{ + wxPy_BEGIN_ALLOW_THREADS; + _result = (long )wxConfig_ReadInt(_arg0,*_arg1,_arg2); + + wxPy_END_ALLOW_THREADS; +} _resultobj = Py_BuildValue("l",_result); { if (_obj1) delete _arg1; @@ -856,44 +1455,14 @@ static PyObject *_wrap_wxConfig_ReadFloat(PyObject *self, PyObject *args) { PyErr_SetString(PyExc_TypeError, wxStringErrorMsg); return NULL; } - _arg1 = new wxString(PyString_AsString(_obj1)); + _arg1 = new wxString(PyString_AsString(_obj1), PyString_Size(_obj1)); } - _result = (double )wxConfig_ReadFloat(_arg0,*_arg1,_arg2); - _resultobj = Py_BuildValue("d",_result); { - if (_obj1) - delete _arg1; -} - return _resultobj; -} - -#define wxConfig_SetAppName(_swigobj,_swigarg0) (_swigobj->SetAppName(_swigarg0)) -static PyObject *_wrap_wxConfig_SetAppName(PyObject *self, PyObject *args) { - PyObject * _resultobj; - wxConfig * _arg0; - wxString * _arg1; - char * _argc0 = 0; - PyObject * _obj1 = 0; + wxPy_BEGIN_ALLOW_THREADS; + _result = (double )wxConfig_ReadFloat(_arg0,*_arg1,_arg2); - self = self; - if(!PyArg_ParseTuple(args,"sO:wxConfig_SetAppName",&_argc0,&_obj1)) - return NULL; - if (_argc0) { - if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxConfig_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxConfig_SetAppName. Expected _wxConfig_p."); - return NULL; - } - } -{ - if (!PyString_Check(_obj1)) { - PyErr_SetString(PyExc_TypeError, wxStringErrorMsg); - return NULL; - } - _arg1 = new wxString(PyString_AsString(_obj1)); -} - wxConfig_SetAppName(_arg0,*_arg1); - Py_INCREF(Py_None); - _resultobj = Py_None; + wxPy_END_ALLOW_THREADS; +} _resultobj = Py_BuildValue("d",_result); { if (_obj1) delete _arg1; @@ -919,8 +1488,12 @@ static PyObject *_wrap_wxConfig_SetExpandEnvVars(PyObject *self, PyObject *args) } } _arg1 = (bool ) tempbool1; - wxConfig_SetExpandEnvVars(_arg0,_arg1); - Py_INCREF(Py_None); +{ + wxPy_BEGIN_ALLOW_THREADS; + wxConfig_SetExpandEnvVars(_arg0,_arg1); + + wxPy_END_ALLOW_THREADS; +} Py_INCREF(Py_None); _resultobj = Py_None; return _resultobj; } @@ -947,10 +1520,14 @@ static PyObject *_wrap_wxConfig_SetPath(PyObject *self, PyObject *args) { PyErr_SetString(PyExc_TypeError, wxStringErrorMsg); return NULL; } - _arg1 = new wxString(PyString_AsString(_obj1)); + _arg1 = new wxString(PyString_AsString(_obj1), PyString_Size(_obj1)); } - wxConfig_SetPath(_arg0,*_arg1); - Py_INCREF(Py_None); +{ + wxPy_BEGIN_ALLOW_THREADS; + wxConfig_SetPath(_arg0,*_arg1); + + wxPy_END_ALLOW_THREADS; +} Py_INCREF(Py_None); _resultobj = Py_None; { if (_obj1) @@ -977,43 +1554,13 @@ static PyObject *_wrap_wxConfig_SetRecordDefaults(PyObject *self, PyObject *args } } _arg1 = (bool ) tempbool1; - wxConfig_SetRecordDefaults(_arg0,_arg1); - Py_INCREF(Py_None); - _resultobj = Py_None; - return _resultobj; -} - -#define wxConfig_SetVendorName(_swigobj,_swigarg0) (_swigobj->SetVendorName(_swigarg0)) -static PyObject *_wrap_wxConfig_SetVendorName(PyObject *self, PyObject *args) { - PyObject * _resultobj; - wxConfig * _arg0; - wxString * _arg1; - char * _argc0 = 0; - PyObject * _obj1 = 0; - - self = self; - if(!PyArg_ParseTuple(args,"sO:wxConfig_SetVendorName",&_argc0,&_obj1)) - return NULL; - if (_argc0) { - if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxConfig_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxConfig_SetVendorName. Expected _wxConfig_p."); - return NULL; - } - } { - if (!PyString_Check(_obj1)) { - PyErr_SetString(PyExc_TypeError, wxStringErrorMsg); - return NULL; - } - _arg1 = new wxString(PyString_AsString(_obj1)); -} - wxConfig_SetVendorName(_arg0,*_arg1); - Py_INCREF(Py_None); + wxPy_BEGIN_ALLOW_THREADS; + wxConfig_SetRecordDefaults(_arg0,_arg1); + + wxPy_END_ALLOW_THREADS; +} Py_INCREF(Py_None); _resultobj = Py_None; -{ - if (_obj1) - delete _arg1; -} return _resultobj; } @@ -1042,17 +1589,21 @@ static PyObject *_wrap_wxConfig_Write(PyObject *self, PyObject *args) { PyErr_SetString(PyExc_TypeError, wxStringErrorMsg); return NULL; } - _arg1 = new wxString(PyString_AsString(_obj1)); + _arg1 = new wxString(PyString_AsString(_obj1), PyString_Size(_obj1)); } { if (!PyString_Check(_obj2)) { PyErr_SetString(PyExc_TypeError, wxStringErrorMsg); return NULL; } - _arg2 = new wxString(PyString_AsString(_obj2)); + _arg2 = new wxString(PyString_AsString(_obj2), PyString_Size(_obj2)); } - _result = (bool )wxConfig_Write(_arg0,*_arg1,*_arg2); - _resultobj = Py_BuildValue("i",_result); +{ + wxPy_BEGIN_ALLOW_THREADS; + _result = (bool )wxConfig_Write(_arg0,*_arg1,*_arg2); + + wxPy_END_ALLOW_THREADS; +} _resultobj = Py_BuildValue("i",_result); { if (_obj1) delete _arg1; @@ -1088,10 +1639,14 @@ static PyObject *_wrap_wxConfig_WriteInt(PyObject *self, PyObject *args) { PyErr_SetString(PyExc_TypeError, wxStringErrorMsg); return NULL; } - _arg1 = new wxString(PyString_AsString(_obj1)); + _arg1 = new wxString(PyString_AsString(_obj1), PyString_Size(_obj1)); } - _result = (bool )wxConfig_WriteInt(_arg0,*_arg1,_arg2); - _resultobj = Py_BuildValue("i",_result); +{ + wxPy_BEGIN_ALLOW_THREADS; + _result = (bool )wxConfig_WriteInt(_arg0,*_arg1,_arg2); + + wxPy_END_ALLOW_THREADS; +} _resultobj = Py_BuildValue("i",_result); { if (_obj1) delete _arg1; @@ -1123,10 +1678,14 @@ static PyObject *_wrap_wxConfig_WriteFloat(PyObject *self, PyObject *args) { PyErr_SetString(PyExc_TypeError, wxStringErrorMsg); return NULL; } - _arg1 = new wxString(PyString_AsString(_obj1)); + _arg1 = new wxString(PyString_AsString(_obj1), PyString_Size(_obj1)); } - _result = (bool )wxConfig_WriteFloat(_arg0,*_arg1,_arg2); - _resultobj = Py_BuildValue("i",_result); +{ + wxPy_BEGIN_ALLOW_THREADS; + _result = (bool )wxConfig_WriteFloat(_arg0,*_arg1,_arg2); + + wxPy_END_ALLOW_THREADS; +} _resultobj = Py_BuildValue("i",_result); { if (_obj1) delete _arg1; @@ -1138,11 +1697,9 @@ static PyMethodDef utilscMethods[] = { { "wxConfig_WriteFloat", _wrap_wxConfig_WriteFloat, 1 }, { "wxConfig_WriteInt", _wrap_wxConfig_WriteInt, 1 }, { "wxConfig_Write", _wrap_wxConfig_Write, 1 }, - { "wxConfig_SetVendorName", _wrap_wxConfig_SetVendorName, 1 }, { "wxConfig_SetRecordDefaults", _wrap_wxConfig_SetRecordDefaults, 1 }, { "wxConfig_SetPath", _wrap_wxConfig_SetPath, 1 }, { "wxConfig_SetExpandEnvVars", _wrap_wxConfig_SetExpandEnvVars, 1 }, - { "wxConfig_SetAppName", _wrap_wxConfig_SetAppName, 1 }, { "wxConfig_ReadFloat", _wrap_wxConfig_ReadFloat, 1 }, { "wxConfig_ReadInt", _wrap_wxConfig_ReadInt, 1 }, { "wxConfig_Read", _wrap_wxConfig_Read, 1 }, @@ -1178,6 +1735,11 @@ SWIGEXPORT(void,initutilsc)() { SWIG_globals = SWIG_newvarlink(); m = Py_InitModule("utilsc", utilscMethods); d = PyModule_GetDict(m); + + + wxClassInfo::CleanUpClasses(); + wxClassInfo::InitializeClasses(); + /* * These are the pointer type-equivalency mappings. * (Used by the SWIG pointer type-checker).