X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c368d904fc27d35ae1e533155e2154dc496432e4..e422162882bf4c5ae743fd618864e97206765fca:/wxPython/src/wx.i diff --git a/wxPython/src/wx.i b/wxPython/src/wx.i index 27dbca27a0..bca4da7820 100644 --- a/wxPython/src/wx.i +++ b/wxPython/src/wx.i @@ -45,6 +45,9 @@ %import sizers.i %import streams.i %import filesys.i +%import utils.i +%import fonts.i + %native(_wxStart) __wxStart; %native(_wxSetDictionary) __wxSetDictionary; @@ -52,10 +55,12 @@ //--------------------------------------------------------------------------- -#define __version__ "0.0.0" // The real value is now in build.py... +#define __version__ "0.0.0" // The real value is now in setup.py... -wxPoint wxPyDefaultPosition; -wxSize wxPyDefaultSize; +%readonly +wxPoint wxDefaultPosition; +wxSize wxDefaultSize; +%readwrite //--------------------------------------------------------------------------- //--------------------------------------------------------------------------- @@ -99,17 +104,16 @@ public: void SetTopWindow(wxWindow* window); void SetVendorName(const wxString& name); void SetUseBestVisual(bool flag); - wxIcon GetStdIcon(int which); - - }; %inline %{ wxPyApp* wxGetApp() { - return wxPythonApp; + //return wxPythonApp; + return (wxPyApp*)wxTheApp; } %} + //---------------------------------------------------------------------- // this is used to cleanup after wxWindows when Python shuts down. @@ -124,6 +128,8 @@ public: //---------------------------------------------------------------------- %{ + + extern "C" SWIGEXPORT(void) initwindowsc(); extern "C" SWIGEXPORT(void) initwindows2c(); extern "C" SWIGEXPORT(void) initeventsc(); @@ -141,22 +147,81 @@ extern "C" SWIGEXPORT(void) initimagec(); extern "C" SWIGEXPORT(void) initprintfwc(); extern "C" SWIGEXPORT(void) initsizersc(); extern "C" SWIGEXPORT(void) initclip_dndc(); -extern "C" SWIGEXPORT(void) initgridc(); -extern "C" SWIGEXPORT(void) initutilsc(); -extern "C" SWIGEXPORT(void) inithtmlc(); -extern "C" SWIGEXPORT(void) inithtmlhelpc(); -extern "C" SWIGEXPORT(void) initcalendarc(); extern "C" SWIGEXPORT(void) initstreamsc(); extern "C" SWIGEXPORT(void) initfilesysc(); +extern "C" SWIGEXPORT(void) initutilsc(); +extern "C" SWIGEXPORT(void) initfontsc(); + + + +// Export a C API in a struct. Other modules will be able to load this from +// the wxc module and will then have safe access to these functions, even if +// in another shared library. +static wxPyCoreAPI API = { + (p_SWIG_MakePtr_t)SWIG_MakePtr, + (p_SWIG_GetPtr_t)SWIG_GetPtr, + (p_SWIG_GetPtrObj_t)SWIG_GetPtrObj, + (p_SWIG_RegisterMapping_t)SWIG_RegisterMapping, + (p_SWIG_addvarlink_t)SWIG_addvarlink, + (p_SWIG_newvarlink_t)SWIG_newvarlink, + + wxPyBeginAllowThreads, + wxPyEndAllowThreads, + wxPyBeginBlockThreads, + wxPyEndBlockThreads, + + wxPyConstructObject, + wxPy_ConvertList, + + wxString_in_helper, + Py2wxString, + wx2PyString, + + byte_LIST_helper, + int_LIST_helper, + long_LIST_helper, + string_LIST_helper, + wxPoint_LIST_helper, + wxBitmap_LIST_helper, + wxString_LIST_helper, + wxAcceleratorEntry_LIST_helper, + + wxSize_helper, + wxPoint_helper, + wxRealPoint_helper, + wxRect_helper, + wxColour_helper, + + wxPyCBH_setCallbackInfo, + wxPyCBH_findCallback, + wxPyCBH_callCallback, + wxPyCBH_callCallbackObj, + wxPyCBH_delete, + + wxPyClassExists, + wxPyMake_wxObject, + wxPyMake_wxSizer, + wxPyPtrTypeMap_Add, + wxArrayString2PyList_helper, + wxArrayInt2PyList_helper, + + wxPyClientData_dtor, + wxPyUserData_dtor, + wxPyOORClientData_dtor +}; + -extern "C" SWIGEXPORT(void) initglcanvasc(); -extern "C" SWIGEXPORT(void) initoglc(); -extern "C" SWIGEXPORT(void) initstc_c(); %} %init %{ + // Make our API structure a CObject so other modules can import it + // from this module. + PyObject* v = PyCObject_FromVoidPtr(&API, NULL); + PyDict_SetItemString(d,"wxPyCoreAPI", v); + Py_XDECREF(v); + __wxPreStart(); // initialize the GUI toolkit, if needed. @@ -183,16 +248,22 @@ extern "C" SWIGEXPORT(void) initstc_c(); initclip_dndc(); initstreamsc(); initfilesysc(); - - initgridc(); initutilsc(); - inithtmlc(); - inithtmlhelpc(); - initcalendarc(); + initfontsc(); + + + PyDict_SetItemString(d,"wxMAJOR_VERSION", PyInt_FromLong((long)wxMAJOR_VERSION )); + PyDict_SetItemString(d,"wxMINOR_VERSION", PyInt_FromLong((long)wxMINOR_VERSION )); + PyDict_SetItemString(d,"wxRELEASE_NUMBER", PyInt_FromLong((long)wxRELEASE_NUMBER )); + PyDict_SetItemString(d,"wxVERSION_NUMBER", PyInt_FromLong((long)wxVERSION_NUMBER )); +#if wxUSE_UNICODE + wxString tempStr(wxVERSION_STRING); + PyDict_SetItemString(d,"wxVERSION_STRING", PyUnicode_FromUnicode(tempStr.c_str(), tempStr.Len())); +#else + PyDict_SetItemString(d,"wxVERSION_STRING", PyString_FromString(wxVERSION_STRING)); +#endif + - initglcanvasc(); - initoglc(); - initstc_c(); %} //---------------------------------------------------------------------- @@ -201,4 +272,3 @@ extern "C" SWIGEXPORT(void) initstc_c(); %pragma(python) include="_extras.py"; -