| 1 | //////////////////////////////////////////////////////////////////////////// |
| 2 | // Name: wxPython.h |
| 3 | // Purpose: To be used from modules that are not part of the core |
| 4 | // wxPython extension--or from 3rd party apps and modules--in |
| 5 | // order to get access to some helper functions that live in wxc. |
| 6 | // |
| 7 | // Author: Robin Dunn |
| 8 | // |
| 9 | // Created: 14-Dec-2000 |
| 10 | // RCS-ID: $Id$ |
| 11 | // Copyright: (c) 2000 by Total Control Software |
| 12 | // Licence: wxWindows license |
| 13 | ///////////////////////////////////////////////////////////////////////////// |
| 14 | |
| 15 | #ifndef __wxp_export__ |
| 16 | #define __wxp_export__ |
| 17 | |
| 18 | //---------------------------------------------------------------------- |
| 19 | |
| 20 | // TODO: Make it so this and helpers.h are installed to |
| 21 | // the wx include path... |
| 22 | |
| 23 | #define wxPyUSE_EXPORT |
| 24 | #include "helpers.h" |
| 25 | |
| 26 | //---------------------------------------------------------------------- |
| 27 | |
| 28 | // This needs to be called in modules that need to make calls to any |
| 29 | // of the functions exported by the wxPython API. It sets a static |
| 30 | // pointer to a structure of function pointers located in wxc. |
| 31 | static void wxPyCoreAPI_IMPORT() { |
| 32 | wxPyCoreAPIPtr = (wxPyCoreAPI*)PyCObject_Import("wxPython.wxc", "wxPyCoreAPI"); |
| 33 | if (! wxPyCoreAPIPtr) |
| 34 | wxPyCoreAPIPtr = (wxPyCoreAPI*)PyCObject_Import("wxc", "wxPyCoreAPI"); |
| 35 | } |
| 36 | |
| 37 | |
| 38 | |
| 39 | // The following macros actually call functions of the same name located |
| 40 | // in the wxc extension module via the API pointer retieved above. |
| 41 | |
| 42 | #define SWIG_MakePtr(a, b, c) (wxPyCoreAPIPtr->p_SWIG_MakePtr(a, b, c)) |
| 43 | #define SWIG_GetPtr(a, b, c) (wxPyCoreAPIPtr->p_SWIG_GetPtr(a, b, c)) |
| 44 | #define SWIG_GetPtrObj(a, b, c) (wxPyCoreAPIPtr->p_SWIG_GetPtrObj(a, b, c)) |
| 45 | #define SWIG_RegisterMapping(a, b, c) (wxPyCoreAPIPtr->p_SWIG_RegisterMapping(a, b, c)) |
| 46 | #define SWIG_addvarlink(a, b, c, d) (wxPyCoreAPIPtr->p_SWIG_addvarlink(a, b, c, d)) |
| 47 | |
| 48 | #define wxPyBeginAllowThreads() (wxPyCoreAPIPtr->p_wxPyBeginAllowThreads()) |
| 49 | #define wxPyEndAllowThreads(a) (wxPyCoreAPIPtr->p_wxPyEndAllowThreads(a)) |
| 50 | #define wxPyBeginBlockThreads() (wxPyCoreAPIPtr->p_wxPyBeginBlockThreads()) |
| 51 | #define wxPyEndBlockThreads() (wxPyCoreAPIPtr->p_wxPyEndBlockThreads()) |
| 52 | |
| 53 | #define wxPyConstructObject(a,b,c) (wxPyCoreAPIPtr->p_wxPyConstructObject(a,b,c)) |
| 54 | #define wxPy_ConvertList(a,b) (wxPyCoreAPIPtr->p_wxPy_ConvertList(a,b)) |
| 55 | |
| 56 | #define wxString_in_helper(a) (wxPyCoreAPIPtr->p_wxString_in_helper(a)) |
| 57 | #define Py2wxString(a) (wxPyCoreAPIPtr->p_Py2wxString(a)) |
| 58 | #define wx2PyString(a) (wxPyCoreAPIPtr->p_wx2PyString(a)) |
| 59 | |
| 60 | #define byte_LIST_helper(a) (wxPyCoreAPIPtr->p_byte_LIST_helper(a)) |
| 61 | #define int_LIST_helper(a) (wxPyCoreAPIPtr->p_int_LIST_helper(a)) |
| 62 | #define long_LIST_helper(a) (wxPyCoreAPIPtr->p_long_LIST_helper(a)) |
| 63 | #define string_LIST_helper(a) (wxPyCoreAPIPtr->p_string_LIST_helper(a)) |
| 64 | #define wxPoint_LIST_helper(a,b) (wxPyCoreAPIPtr->p_wxPoint_LIST_helper(a, b)) |
| 65 | #define wxBitmap_LIST_helper(a) (wxPyCoreAPIPtr->p_wxBitmap_LIST_helper(a)) |
| 66 | #define wxString_LIST_helper(a) (wxPyCoreAPIPtr->p_wxString_LIST_helper(a)) |
| 67 | #define wxAcceleratorEntry_LIST_helper(a) (wxPyCoreAPIPtr->p_wxAcceleratorEntry_LIST_helper(a)) |
| 68 | |
| 69 | #define wxSize_helper(a,b) (wxPyCoreAPIPtr->p_wxSize_helper(a,b)) |
| 70 | #define wxPoint_helper(a,b) (wxPyCoreAPIPtr->p_wxPoint_helper(a,b)) |
| 71 | #define wxRealPoint_helper(a,b) (wxPyCoreAPIPtr->p_wxRealPoint_helper(a,b)) |
| 72 | #define wxRect_helper(a,b) (wxPyCoreAPIPtr->p_wxRect_helper(a,b)) |
| 73 | #define wxColour_helper(a,b) (wxPyCoreAPIPtr->p_wxColour_helper(a,b)) |
| 74 | #define wxPoint2DDouble_helper(a,b) (wxPyCoreAPIPtr->p_wxPoint2DDouble_helper(a,b)) |
| 75 | |
| 76 | #define wxPyCBH_setCallbackInfo(a, b, c, d) (wxPyCoreAPIPtr->p_wxPyCBH_setCallbackInfo(a,b,c,d)) |
| 77 | #define wxPyCBH_findCallback(a, b) (wxPyCoreAPIPtr->p_wxPyCBH_findCallback(a, b)) |
| 78 | #define wxPyCBH_callCallback(a, b) (wxPyCoreAPIPtr->p_wxPyCBH_callCallback(a, b)) |
| 79 | #define wxPyCBH_callCallbackObj(a, b) (wxPyCoreAPIPtr->p_wxPyCBH_callCallbackObj(a, b)) |
| 80 | #define wxPyCBH_delete(a) (wxPyCoreAPIPtr->p_wxPyCBH_delete(a)) |
| 81 | |
| 82 | #define wxPyClassExists(a) (wxPyCoreAPIPtr->p_wxPyClassExists(a)) |
| 83 | #define wxPyMake_wxObject(a) (wxPyCoreAPIPtr->p_wxPyMake_wxObject(a,TRUE)) |
| 84 | #define wxPyMake_wxObject2(a,b) (wxPyCoreAPIPtr->p_wxPyMake_wxObject(a,b)) |
| 85 | #define wxPyMake_wxSizer(a) (wxPyCoreAPIPtr->p_wxPyMake_wxSizer(a)) |
| 86 | #define wxPyPtrTypeMap_Add(a, b) (wxPyCoreAPIPtr->p_wxPyPtrTypeMap_Add(a, b)) |
| 87 | #define wxArrayString2PyList_helper(a) (wxPyCoreAPIPtr->p_wxArrayString2PyList_helper(a)) |
| 88 | #define wxArrayInt2PyList_helper(a) (wxPyCoreAPIPtr->p_wxArrayInt2PyList_helper(a)) |
| 89 | |
| 90 | #define wxPyClientData_dtor(a) (wxPyCoreAPIPtr->p_wxPyClientData_dtor(a)) |
| 91 | #define wxPyUserData_dtor(a) (wxPyCoreAPIPtr->p_wxPyUserData_dtor(a)) |
| 92 | #define wxPyOORClientData_dtor(a) (wxPyCoreAPIPtr->p_wxPyOORClientData_dtor(a)) |
| 93 | |
| 94 | #define wxPyCBInputStream_create(a, b) (wxPyCoreAPIPtr->p_wxPyCBInputStream_create(a, b)) |
| 95 | |
| 96 | |
| 97 | // This one is special. It's the first function called in SWIG generated |
| 98 | // modules, so we'll use it to also import the API. |
| 99 | #define SWIG_newvarlink() (wxPyCoreAPI_IMPORT(), wxPyCoreAPIPtr->p_SWIG_newvarlink()) |
| 100 | |
| 101 | |
| 102 | //---------------------------------------------------------------------- |
| 103 | #endif |