]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/wx.i
Commented out the bitmap-greying code until I have time to debug it
[wxWidgets.git] / wxPython / src / wx.i
index 41e0f7f90d9de1d729402cf2892d83513c4b8426..05a13607772b91717e20283134169e782a88004c 100644 (file)
 #include "helpers.h"
 %}
 
 #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
 //----------------------------------------------------------------------
 //----------------------------------------------------------------------
 // This is where we include the other wrapper definition files for SWIG
 //----------------------------------------------------------------------
@@ -45,6 +50,7 @@
 %import sizers.i
 %import streams.i
 %import filesys.i
 %import sizers.i
 %import streams.i
 %import filesys.i
+%import utils.i
 
 %native(_wxStart)           __wxStart;
 %native(_wxSetDictionary)   __wxSetDictionary;
 
 %native(_wxStart)           __wxStart;
 %native(_wxSetDictionary)   __wxSetDictionary;
 
 #define __version__ "0.0.0"   // The real value is now in setup.py...
 
 
 #define __version__ "0.0.0"   // The real value is now in setup.py...
 
-wxPoint     wxPyDefaultPosition;
-wxSize      wxPyDefaultSize;
+%readonly
+wxPoint     wxDefaultPosition;
+wxSize      wxDefaultSize;
+%readwrite
 
 //---------------------------------------------------------------------------
 //---------------------------------------------------------------------------
 
 //---------------------------------------------------------------------------
 //---------------------------------------------------------------------------
@@ -100,8 +108,6 @@ public:
     void SetVendorName(const wxString& name);
     void SetUseBestVisual(bool flag);
     wxIcon GetStdIcon(int which);
     void SetVendorName(const wxString& name);
     void SetUseBestVisual(bool flag);
     wxIcon GetStdIcon(int which);
-
-
 };
 
 %inline %{
 };
 
 %inline %{
@@ -110,6 +116,8 @@ public:
     }
 %}
 
     }
 %}
 
+
+
 //----------------------------------------------------------------------
 // this is used to cleanup after wxWindows when Python shuts down.
 
 //----------------------------------------------------------------------
 // this is used to cleanup after wxWindows when Python shuts down.
 
@@ -124,6 +132,8 @@ public:
 //----------------------------------------------------------------------
 
 %{
 //----------------------------------------------------------------------
 
 %{
+
+
 extern "C" SWIGEXPORT(void) initwindowsc();
 extern "C" SWIGEXPORT(void) initwindows2c();
 extern "C" SWIGEXPORT(void) initeventsc();
 extern "C" SWIGEXPORT(void) initwindowsc();
 extern "C" SWIGEXPORT(void) initwindows2c();
 extern "C" SWIGEXPORT(void) initeventsc();
@@ -141,22 +151,72 @@ 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) 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) 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 %{
 %}
 
 
 
 %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.
 
 
     __wxPreStart();     // initialize the GUI toolkit, if needed.
 
@@ -183,16 +243,16 @@ extern "C" SWIGEXPORT(void) initstc_c();
     initclip_dndc();
     initstreamsc();
     initfilesysc();
     initclip_dndc();
     initstreamsc();
     initfilesysc();
-
-    initgridc();
     initutilsc();
     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));
+
+
 %}
 
 //----------------------------------------------------------------------
 %}
 
 //----------------------------------------------------------------------