#include "helpers.h"
%}
+// %pragma(python) code="
+// # This gives this module's dictionary to the C++ extension code...
+// wxc._wxSetDictionary(vars())
+// "
+
//----------------------------------------------------------------------
// This is where we include the other wrapper definition files for SWIG
//----------------------------------------------------------------------
%import sizers.i
%import streams.i
%import filesys.i
+%import utils.i
%native(_wxStart) __wxStart;
%native(_wxSetDictionary) __wxSetDictionary;
#define __version__ "0.0.0" // The real value is now in setup.py...
-wxPoint wxPyDefaultPosition;
-wxSize wxPyDefaultSize;
+%readonly
+wxPoint wxDefaultPosition;
+wxSize wxDefaultSize;
+%readwrite
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
void SetVendorName(const wxString& name);
void SetUseBestVisual(bool flag);
wxIcon GetStdIcon(int which);
-
-
};
%inline %{
}
%}
+
+
//----------------------------------------------------------------------
// this is used to cleanup after wxWindows when Python shuts down.
//----------------------------------------------------------------------
%{
+
+
extern "C" SWIGEXPORT(void) initwindowsc();
extern "C" SWIGEXPORT(void) initwindows2c();
extern "C" SWIGEXPORT(void) initeventsc();
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();
+
+
+
+// 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 = {
+ SWIG_MakePtr,
+ SWIG_GetPtr,
+ SWIG_GetPtrObj,
+ SWIG_RegisterMapping,
+ SWIG_addvarlink,
+ SWIG_newvarlink,
+
+ wxPyBeginAllowThreads,
+ wxPyEndAllowThreads,
+ wxPyBeginBlockThreads,
+ wxPyEndBlockThreads,
+
+ wxPyConstructObject,
+ wxPy_ConvertList,
+
+ 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
+};
+
-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.
initclip_dndc();
initstreamsc();
initfilesysc();
-
- initgridc();
initutilsc();
- inithtmlc();
- inithtmlhelpc();
- initcalendarc();
- initglcanvasc();
- initoglc();
- initstc_c();
+
+ 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 ));
+ PyDict_SetItemString(d,"wxVERSION_STRING", PyString_FromString(wxVERSION_STRING));
+
+
%}
//----------------------------------------------------------------------