]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/helpers.h
correction for Mac OS compilation
[wxWidgets.git] / wxPython / src / helpers.h
index 6192e6e52c73fa4f80272d43d4e8220c2c49d5c9..8258295e4631cfb675186639098d08fa3fa7b44e 100644 (file)
@@ -52,7 +52,7 @@ void      __wxPreStart();
 PyObject* __wxStart(PyObject*, PyObject* args);
 void      __wxCleanup();
 
 PyObject* __wxStart(PyObject*, PyObject* args);
 void      __wxCleanup();
 
-extern PyObject* wxPython_dict;
+//extern PyObject* wxPython_dict;
 PyObject* __wxSetDictionary(PyObject*, PyObject* args);
 
 void wxPyEventThunker(wxObject*, wxEvent& event);
 PyObject* __wxSetDictionary(PyObject*, PyObject* args);
 
 void wxPyEventThunker(wxObject*, wxEvent& event);
@@ -60,6 +60,14 @@ void wxPyEventThunker(wxObject*, wxEvent& event);
 PyObject* wxPyConstructObject(void* ptr,
                               const char* className,
                               int setThisOwn=0);
 PyObject* wxPyConstructObject(void* ptr,
                               const char* className,
                               int setThisOwn=0);
+PyObject* wxPyConstructObject(void* ptr,
+                              const char* className,
+                              PyObject* klass,
+                              int setThisOwn=0);
+PyObject*  wxPyClassExists(const char* className);
+PyObject*  wxPyMake_wxObject(wxObject* source);
+void       wxPyPtrTypeMap_Add(const char* commonName, const char* ptrName);
+
 bool wxPyRestoreThread();
 void wxPySaveThread(bool doSave);
 PyObject* wxPy_ConvertList(wxListBase* list, const char* className);
 bool wxPyRestoreThread();
 void wxPySaveThread(bool doSave);
 PyObject* wxPy_ConvertList(wxListBase* list, const char* className);
@@ -112,7 +120,7 @@ byte* byte_LIST_helper(PyObject* source);
 int* int_LIST_helper(PyObject* source);
 long* long_LIST_helper(PyObject* source);
 char** string_LIST_helper(PyObject* source);
 int* int_LIST_helper(PyObject* source);
 long* long_LIST_helper(PyObject* source);
 char** string_LIST_helper(PyObject* source);
-wxPoint* wxPoint_LIST_helper(PyObject* source);
+wxPoint* wxPoint_LIST_helper(PyObject* source, int* npoints);
 wxBitmap** wxBitmap_LIST_helper(PyObject* source);
 wxString* wxString_LIST_helper(PyObject* source);
 wxAcceleratorEntry* wxAcceleratorEntry_LIST_helper(PyObject* source);
 wxBitmap** wxBitmap_LIST_helper(PyObject* source);
 wxString* wxString_LIST_helper(PyObject* source);
 wxAcceleratorEntry* wxAcceleratorEntry_LIST_helper(PyObject* source);
@@ -230,7 +238,7 @@ struct wxPyCoreAPI {
     int*        (*p_int_LIST_helper)(PyObject* source);
     long*       (*p_long_LIST_helper)(PyObject* source);
     char**      (*p_string_LIST_helper)(PyObject* source);
     int*        (*p_int_LIST_helper)(PyObject* source);
     long*       (*p_long_LIST_helper)(PyObject* source);
     char**      (*p_string_LIST_helper)(PyObject* source);
-    wxPoint*    (*p_wxPoint_LIST_helper)(PyObject* source);
+    wxPoint*    (*p_wxPoint_LIST_helper)(PyObject* source, int* npoints);
     wxBitmap**  (*p_wxBitmap_LIST_helper)(PyObject* source);
     wxString*   (*p_wxString_LIST_helper)(PyObject* source);
     wxAcceleratorEntry*   (*p_wxAcceleratorEntry_LIST_helper)(PyObject* source);
     wxBitmap**  (*p_wxBitmap_LIST_helper)(PyObject* source);
     wxString*   (*p_wxString_LIST_helper)(PyObject* source);
     wxAcceleratorEntry*   (*p_wxAcceleratorEntry_LIST_helper)(PyObject* source);
@@ -247,6 +255,10 @@ struct wxPyCoreAPI {
     PyObject*   (*p_wxPyCBH_callCallbackObj)(const wxPyCallbackHelper& cbh, PyObject* argTuple);
     void        (*p_wxPyCBH_delete)(wxPyCallbackHelper* cbh);
 
     PyObject*   (*p_wxPyCBH_callCallbackObj)(const wxPyCallbackHelper& cbh, PyObject* argTuple);
     void        (*p_wxPyCBH_delete)(wxPyCallbackHelper* cbh);
 
+    PyObject*   (*p_wxPyClassExists)(const char* className);
+    PyObject*   (*p_wxPyMake_wxObject)(wxObject* source);
+    void        (*p_wxPyPtrTypeMap_Add)(const char* commonName, const char* ptrName);
+
 };
 
 #ifdef wxPyUSE_EXPORT
 };
 
 #ifdef wxPyUSE_EXPORT
@@ -454,7 +466,7 @@ public:
     void CLASS::CBNAME(wxDC& a) {                               \
         bool doSave = wxPyRestoreThread();                      \
         if (wxPyCBH_findCallback(m_myInst, #CBNAME)) {                   \
     void CLASS::CBNAME(wxDC& a) {                               \
         bool doSave = wxPyRestoreThread();                      \
         if (wxPyCBH_findCallback(m_myInst, #CBNAME)) {                   \
-            PyObject* obj = wxPyConstructObject(&a, "wxDC", 0); \
+            PyObject* obj = wxPyMake_wxObject(&a); \
             wxPyCBH_callCallback(m_myInst, Py_BuildValue("(O)", obj));   \
             Py_DECREF(obj);                                     \
         }                                                       \
             wxPyCBH_callCallback(m_myInst, Py_BuildValue("(O)", obj));   \
             Py_DECREF(obj);                                     \
         }                                                       \
@@ -479,7 +491,7 @@ public:
     void CLASS::CBNAME(wxDC& a, bool b) {                               \
         bool doSave = wxPyRestoreThread();                              \
         if (wxPyCBH_findCallback(m_myInst, #CBNAME)) {                           \
     void CLASS::CBNAME(wxDC& a, bool b) {                               \
         bool doSave = wxPyRestoreThread();                              \
         if (wxPyCBH_findCallback(m_myInst, #CBNAME)) {                           \
-            PyObject* obj = wxPyConstructObject(&a, "wxDC", 0);         \
+            PyObject* obj = wxPyMake_wxObject(&a); \
             wxPyCBH_callCallback(m_myInst, Py_BuildValue("(Oi)", obj, (int)b));  \
             Py_DECREF(obj);                                             \
         }                                                               \
             wxPyCBH_callCallback(m_myInst, Py_BuildValue("(Oi)", obj, (int)b));  \
             Py_DECREF(obj);                                             \
         }                                                               \
@@ -502,7 +514,7 @@ public:
     void CLASS::CBNAME(wxDC& a, bool b) {                               \
         bool doSave = wxPyRestoreThread();                              \
         if (wxPyCBH_findCallback(m_myInst, #CBNAME)) {                           \
     void CLASS::CBNAME(wxDC& a, bool b) {                               \
         bool doSave = wxPyRestoreThread();                              \
         if (wxPyCBH_findCallback(m_myInst, #CBNAME)) {                           \
-            PyObject* obj = wxPyConstructObject(&a, "wxDC", 0);         \
+            PyObject* obj = wxPyMake_wxObject(&a); \
             wxPyCBH_callCallback(m_myInst, Py_BuildValue("(Oi)", obj, (int)b));  \
             Py_DECREF(obj);                                             \
         }                                                               \
             wxPyCBH_callCallback(m_myInst, Py_BuildValue("(Oi)", obj, (int)b));  \
             Py_DECREF(obj);                                             \
         }                                                               \
@@ -566,7 +578,7 @@ public:
     void CLASS::CBNAME(wxDC& a, double b, double c, double d, double e, bool f) {       \
         bool doSave = wxPyRestoreThread();                                              \
         if (wxPyCBH_findCallback(m_myInst, #CBNAME)) {                                           \
     void CLASS::CBNAME(wxDC& a, double b, double c, double d, double e, bool f) {       \
         bool doSave = wxPyRestoreThread();                                              \
         if (wxPyCBH_findCallback(m_myInst, #CBNAME)) {                                           \
-            PyObject* obj = wxPyConstructObject(&a, "wxDC", 0);                         \
+            PyObject* obj = wxPyMake_wxObject(&a); \
             wxPyCBH_callCallback(m_myInst, Py_BuildValue("(Oddddi)", obj, b, c, d, e, (int)f));  \
             Py_DECREF(obj);                                                             \
         }                                                                               \
             wxPyCBH_callCallback(m_myInst, Py_BuildValue("(Oddddi)", obj, b, c, d, e, (int)f));  \
             Py_DECREF(obj);                                                             \
         }                                                                               \
@@ -590,7 +602,7 @@ public:
         bool doSave = wxPyRestoreThread();                                              \
         bool rval;                                                                      \
         if (wxPyCBH_findCallback(m_myInst, #CBNAME)) {                                           \
         bool doSave = wxPyRestoreThread();                                              \
         bool rval;                                                                      \
         if (wxPyCBH_findCallback(m_myInst, #CBNAME)) {                                           \
-            PyObject* obj = wxPyConstructObject(&a, "wxDC", 0);                         \
+            PyObject* obj = wxPyMake_wxObject(&a); \
             rval = wxPyCBH_callCallback(m_myInst, Py_BuildValue("(Oddddi)", obj, b, c, d, e, (int)f));\
             Py_DECREF(obj);                                                             \
         }                                                                               \
             rval = wxPyCBH_callCallback(m_myInst, Py_BuildValue("(Oddddi)", obj, b, c, d, e, (int)f));\
             Py_DECREF(obj);                                                             \
         }                                                                               \
@@ -635,7 +647,7 @@ public:
     void CLASS::CBNAME(wxDC& a, double b, double c, double d, double e) {       \
         bool doSave = wxPyRestoreThread();                                      \
         if (wxPyCBH_findCallback(m_myInst, #CBNAME)) {                                   \
     void CLASS::CBNAME(wxDC& a, double b, double c, double d, double e) {       \
         bool doSave = wxPyRestoreThread();                                      \
         if (wxPyCBH_findCallback(m_myInst, #CBNAME)) {                                   \
-            PyObject* obj = wxPyConstructObject(&a, "wxDC", 0);                 \
+            PyObject* obj = wxPyMake_wxObject(&a); \
             wxPyCBH_callCallback(m_myInst, Py_BuildValue("(Odddd)", obj, b, c, d, e));   \
             Py_DECREF(obj);                                                     \
         }                                                                       \
             wxPyCBH_callCallback(m_myInst, Py_BuildValue("(Odddd)", obj, b, c, d, e));   \
             Py_DECREF(obj);                                                     \
         }                                                                       \
@@ -658,7 +670,7 @@ public:
     void CLASS::CBNAME(wxDC& a, bool b) {                               \
         bool doSave = wxPyRestoreThread();                              \
         if (wxPyCBH_findCallback(m_myInst, #CBNAME)) {                           \
     void CLASS::CBNAME(wxDC& a, bool b) {                               \
         bool doSave = wxPyRestoreThread();                              \
         if (wxPyCBH_findCallback(m_myInst, #CBNAME)) {                           \
-            PyObject* obj = wxPyConstructObject(&a, "wxDC", 0);         \
+            PyObject* obj = wxPyMake_wxObject(&a); \
             wxPyCBH_callCallback(m_myInst, Py_BuildValue("(Oi)", obj, (int)b));  \
             Py_DECREF(obj);                                             \
         }                                                               \
             wxPyCBH_callCallback(m_myInst, Py_BuildValue("(Oi)", obj, (int)b));  \
             Py_DECREF(obj);                                             \
         }                                                               \
@@ -682,7 +694,7 @@ public:
                 int e, int f) {                                                 \
         bool doSave = wxPyRestoreThread();                                      \
         if (wxPyCBH_findCallback(m_myInst, #CBNAME)) {                                   \
                 int e, int f) {                                                 \
         bool doSave = wxPyRestoreThread();                                      \
         if (wxPyCBH_findCallback(m_myInst, #CBNAME)) {                                   \
-            PyObject* obj = wxPyConstructObject(a, "wxPyControlPoint", 0);      \
+            PyObject* obj = wxPyMake_wxObject(a); \
             wxPyCBH_callCallback(m_myInst, Py_BuildValue("(Oiddii)", obj, (int)b, c, d, e, f));\
             Py_DECREF(obj);                                                     \
         }                                                                       \
             wxPyCBH_callCallback(m_myInst, Py_BuildValue("(Oiddii)", obj, (int)b, c, d, e, f));\
             Py_DECREF(obj);                                                     \
         }                                                                       \
@@ -706,7 +718,7 @@ public:
     void CLASS::CBNAME(wxControlPoint* a, double b, double c, int d, int e) {   \
         bool doSave = wxPyRestoreThread();                                      \
         if (wxPyCBH_findCallback(m_myInst, #CBNAME)) {                                   \
     void CLASS::CBNAME(wxControlPoint* a, double b, double c, int d, int e) {   \
         bool doSave = wxPyRestoreThread();                                      \
         if (wxPyCBH_findCallback(m_myInst, #CBNAME)) {                                   \
-            PyObject* obj = wxPyConstructObject(a, "wxPyControlPoint", 0);      \
+            PyObject* obj = wxPyMake_wxObject(a); \
             wxPyCBH_callCallback(m_myInst, Py_BuildValue("(Oddii)", obj, b, c, d, e));   \
             Py_DECREF(obj);                                                     \
         }                                                                       \
             wxPyCBH_callCallback(m_myInst, Py_BuildValue("(Oddii)", obj, b, c, d, e));   \
             Py_DECREF(obj);                                                     \
         }                                                                       \
@@ -947,7 +959,7 @@ public:
         bool rval = FALSE;                                                      \
         bool doSave = wxPyRestoreThread();                                      \
         if (wxPyCBH_findCallback(m_myInst, #CBNAME)) {                                   \
         bool rval = FALSE;                                                      \
         bool doSave = wxPyRestoreThread();                                      \
         if (wxPyCBH_findCallback(m_myInst, #CBNAME)) {                                   \
-            PyObject* obj = wxPyConstructObject((void*)&a,"wxHtmlTag", 0);      \
+            PyObject* obj = wxPyConstructObject((void*)&a, "wxHtmlTag", 0); \
             rval = wxPyCBH_callCallback(m_myInst, Py_BuildValue("(O)", obj));            \
             Py_DECREF(obj);                                                     \
         }                                                                       \
             rval = wxPyCBH_callCallback(m_myInst, Py_BuildValue("(O)", obj));            \
             Py_DECREF(obj);                                                     \
         }                                                                       \
@@ -1005,7 +1017,7 @@ public:
         bool rval;                                                      \
         bool doSave = wxPyRestoreThread();                              \
         if (wxPyCBH_findCallback(m_myInst, #CBNAME)) {                           \
         bool rval;                                                      \
         bool doSave = wxPyRestoreThread();                              \
         if (wxPyCBH_findCallback(m_myInst, #CBNAME)) {                           \
-            PyObject* obj = wxPyConstructObject((void*)a,"wxWindow", 0);\
+            PyObject* obj = wxPyMake_wxObject(a); \
             rval = wxPyCBH_callCallback(m_myInst, Py_BuildValue("(O)", obj));    \
             Py_DECREF(obj);                                             \
         }                                                               \
             rval = wxPyCBH_callCallback(m_myInst, Py_BuildValue("(O)", obj));    \
             Py_DECREF(obj);                                             \
         }                                                               \
@@ -1073,7 +1085,7 @@ public:
         wxFSFile* rval=0;                                               \
         if (wxPyCBH_findCallback(m_myInst, #CBNAME)) {                           \
             PyObject* ro;                                               \
         wxFSFile* rval=0;                                               \
         if (wxPyCBH_findCallback(m_myInst, #CBNAME)) {                           \
             PyObject* ro;                                               \
-            PyObject* obj = wxPyConstructObject(&a, "wxFileSystem", 0); \
+            PyObject* obj = wxPyMake_wxObject(&a); \
             ro = wxPyCBH_callCallbackObj(m_myInst, Py_BuildValue("(Os)",         \
                                           obj, b.c_str()));             \
             if (ro) {                                                   \
             ro = wxPyCBH_callCallbackObj(m_myInst, Py_BuildValue("(Os)",         \
                                           obj, b.c_str()));             \
             if (ro) {                                                   \