Merged the wxPy_newswig branch into the HEAD branch (main trunk)

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@24541 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robin Dunn
2003-11-12 21:34:20 +00:00
parent eb6a4098a0
commit d14a1e2856
987 changed files with 671143 additions and 783083 deletions

View File

@@ -14,31 +14,48 @@
%module ogl
%{
#include "wxPython.h"
#include "wx/wxPython/wxPython.h"
#include "wx/wxPython/pyclasses.h"
#include "oglhelpers.h"
static const wxString wxPyEmptyString(wxT(""));
%}
//---------------------------------------------------------------------------
%include typemaps.i
%include my_typemaps.i
%extern wx.i
%import windows.i
%extern _defs.i
%extern misc.i
%extern gdi.i
%pythoncode { wx = core }
%include _ogl_rename.i
%include _ogldefs.i
%include _oglbasic.i
%include _oglshapes.i
%include _oglshapes2.i
%include _oglcanvas.i
%import oglbasic.i
%import oglshapes.i
%import oglshapes2.i
%import oglcanvas.i
%pythoncode {
%# Aliases
ShapeCanvas = PyShapeCanvas
ShapeEvtHandler = PyShapeEvtHandler
Shape = PyShape
RectangleShape = PyRectangleShape
BitmapShape = PyBitmapShape
DrawnShape = PyDrawnShape
CompositeShape = PyCompositeShape
DividedShape = PyDividedShape
DivisionShape = PyDivisionShape
EllipseShape = PyEllipseShape
CircleShape = PyCircleShape
LineShape = PyLineShape
PolygonShape = PyPolygonShape
TextShape = PyTextShape
ControlPoint = PyControlPoint
}
%pragma(python) code = "import wx"
//---------------------------------------------------------------------------
@@ -135,10 +152,11 @@ void wxOGLCleanUp();
%{
//---------------------------------------------------------------------------
// This one will work for any class for the VERY generic cases, but beyond that
// the helper needs to know more about the type.
wxList* wxPy_wxListHelper(PyObject* pyList, char* className) {
// Convert from a Python list to a list of className objects. This one will
// work for any class for the VERY generic cases, but beyond that the helper
// needs to know more about the type.
wxList* wxPy_wxListHelper(PyObject* pyList, const wxChar* className) {
wxPyBeginBlockThreads();
if (!PyList_Check(pyList)) {
PyErr_SetString(PyExc_TypeError, "Expected a list object.");
@@ -156,10 +174,10 @@ wxList* wxPy_wxListHelper(PyObject* pyList, char* className) {
PyObject* pyo = PyList_GetItem(pyList, x);
wxObject* wxo = NULL;
if (SWIG_GetPtrObj(pyo, (void **)&wxo, className)) {
char errmsg[1024];
sprintf(errmsg, "Type error, expected list of %s objects", className);
PyErr_SetString(PyExc_TypeError, errmsg);
if ( !wxPyConvertSwigPtr(pyo, (void **)&wxo, className) ) {
wxString errmsg;
errmsg.Printf(wxT("Type error, expected list of %s objects"), className);
PyErr_SetString(PyExc_TypeError, errmsg.mb_str());
wxPyEndBlockThreads();
return NULL;
}
@@ -199,7 +217,7 @@ wxList* wxPy_wxRealPoint_ListHelper(PyObject* pyList) {
} else {
wxRealPoint* wxo = NULL;
if (SWIG_GetPtrObj(pyo, (void **)&wxo, "_wxRealPoint_p")) {
if (wxPyConvertSwigPtr(pyo, (void **)&wxo, wxT("wxRealPoint"))) {
PyErr_SetString(PyExc_TypeError, "Type error, expected list of wxRealPoint objects or 2-tuples");
wxPyEndBlockThreads();
return NULL;
@@ -237,7 +255,7 @@ PyObject* wxPyMake_wxShapeEvtHandler(wxShapeEvtHandler* source) {
//---------------------------------------------------------------------------
PyObject* wxPy_ConvertShapeList(wxListBase* listbase, const char* className) {
PyObject* wxPy_ConvertShapeList(wxListBase* listbase) {
wxList* list = (wxList*)listbase;
PyObject* pyList;
PyObject* pyObj;
@@ -277,19 +295,19 @@ IMPLEMENT_DYNAMIC_CLASS(wxPyTextShape, wxTextShape);
//---------------------------------------------------------------------------
extern "C" SWIGEXPORT(void) initoglbasicc();
extern "C" SWIGEXPORT(void) initoglshapesc();
extern "C" SWIGEXPORT(void) initoglshapes2c();
extern "C" SWIGEXPORT(void) initoglcanvasc();
// extern "C" SWIGEXPORT(void) initoglbasicc();
// extern "C" SWIGEXPORT(void) initoglshapesc();
// extern "C" SWIGEXPORT(void) initoglshapes2c();
// extern "C" SWIGEXPORT(void) initoglcanvasc();
%}
%init %{
initoglbasicc();
initoglshapesc();
initoglshapes2c();
initoglcanvasc();
// initoglbasicc();
// initoglshapesc();
// initoglshapes2c();
// initoglcanvasc();
wxPyPtrTypeMap_Add("wxControlPoint", "wxPyControlPoint");
@@ -309,11 +327,5 @@ extern "C" SWIGEXPORT(void) initoglcanvasc();
%}
//----------------------------------------------------------------------
// And this gets appended to the shadow class file.
//----------------------------------------------------------------------
%pragma(python) include="_oglextras.py";
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------