diff --git a/wxPython/contrib/glcanvas/glcanvas.i b/wxPython/contrib/glcanvas/glcanvas.i index b4d789ab94..247137b5a1 100644 --- a/wxPython/contrib/glcanvas/glcanvas.i +++ b/wxPython/contrib/glcanvas/glcanvas.i @@ -76,13 +76,33 @@ public: //--------------------------------------------------------------------------- +%typemap(python, in) int *attribList (int *temp) { + int i; + if (PySequence_Check($source)) { + int size = PyObject_Length($source); + temp = new int[size+1]; // (int*)malloc((size + 1) * sizeof(int)); + for (i = 0; i < size; i++) { + temp[i] = PyInt_AsLong(PySequence_GetItem($source, i)); + } + temp[size] = 0; + $target = temp; + } +} + +%typemap(python, freearg) int *attribList +{ + delete [] $source; +} + + + class wxGLCanvas : public wxScrolledWindow { public: wxGLCanvas(wxWindow *parent, wxWindowID id = -1, const wxPoint& pos = wxPyDefaultPosition, const wxSize& size = wxPyDefaultSize, long style = 0, const char* name = "GLCanvas", - int *attribList = 0, + int *attribList = NULL, const wxPalette& palette = wxNullPalette); %pragma(python) addtomethod = "__init__:#wx._StdWindowCallbacks(self)" diff --git a/wxPython/contrib/glcanvas/msw/glcanvas.cpp b/wxPython/contrib/glcanvas/msw/glcanvas.cpp index ded3a3bb19..c6696a6f01 100644 --- a/wxPython/contrib/glcanvas/msw/glcanvas.cpp +++ b/wxPython/contrib/glcanvas/msw/glcanvas.cpp @@ -344,20 +344,21 @@ static PyObject *_wrap_new_wxGLCanvas(PyObject *self, PyObject *args, PyObject * wxSize * _arg3 = (wxSize *) &wxPyDefaultSize; long _arg4 = (long ) 0; char * _arg5 = (char *) "GLCanvas"; - int * _arg6 = (int *) 0; + int * _arg6 = (int *) NULL; wxPalette * _arg7 = (wxPalette *) &wxNullPalette; PyObject * _argo0 = 0; wxPoint temp; PyObject * _obj2 = 0; wxSize temp0; PyObject * _obj3 = 0; - PyObject * _argo6 = 0; + int * temp1; + PyObject * _obj6 = 0; PyObject * _argo7 = 0; char *_kwnames[] = { "parent","id","pos","size","style","name","attribList","palette", NULL }; char _ptemp[128]; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O|iOOlsOO:new_wxGLCanvas",_kwnames,&_argo0,&_arg1,&_obj2,&_obj3,&_arg4,&_arg5,&_argo6,&_argo7)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O|iOOlsOO:new_wxGLCanvas",_kwnames,&_argo0,&_arg1,&_obj2,&_obj3,&_arg4,&_arg5,&_obj6,&_argo7)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } @@ -378,13 +379,19 @@ static PyObject *_wrap_new_wxGLCanvas(PyObject *self, PyObject *args, PyObject * if (! wxSize_helper(_obj3, &_arg3)) return NULL; } - if (_argo6) { - if (_argo6 == Py_None) { _arg6 = NULL; } - else if (SWIG_GetPtrObj(_argo6,(void **) &_arg6,"_int_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 7 of new_wxGLCanvas. Expected _int_p."); - return NULL; + if (_obj6) +{ + int i; + if (PySequence_Check(_obj6)) { + int size = PyObject_Length(_obj6); + temp1 = new int[size+1]; // (int*)malloc((size + 1) * sizeof(int)); + for (i = 0; i < size; i++) { + temp1[i] = PyInt_AsLong(PySequence_GetItem(_obj6, i)); } + temp1[size] = 0; + _arg6 = temp1; } +} if (_argo7) { if (_argo7 == Py_None) { _arg7 = NULL; } else if (SWIG_GetPtrObj(_argo7,(void **) &_arg7,"_wxPalette_p")) { @@ -404,6 +411,9 @@ static PyObject *_wrap_new_wxGLCanvas(PyObject *self, PyObject *args, PyObject * Py_INCREF(Py_None); _resultobj = Py_None; } +{ + delete [] _arg6; +} return _resultobj; } @@ -564,7 +574,9 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = { { "_wxPrintQuality","_uint",0}, { "_wxPrintQuality","_EBool",0}, { "_wxPrintQuality","_size_t",0}, + { "_wxPrintQuality","_time_t",0}, { "_class_wxCustomDataObject","_wxCustomDataObject",0}, + { "_wxSpinCtrl","_class_wxSpinCtrl",0}, { "_wxFontData","_class_wxFontData",0}, { "_class_wxRegionIterator","_wxRegionIterator",0}, { "_class_wxPyTextDropTarget","_wxPyTextDropTarget",0}, @@ -582,6 +594,7 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = { { "_wxNotifyEvent","_class_wxNotifyEvent",0}, { "_wxPyTreeCtrl","_class_wxPyTreeCtrl",0}, { "_wxImageHandler","_class_wxImageHandler",0}, + { "_wxLog","_class_wxLog",0}, { "_class_wxToolBarBase","_wxToolBarBase",0}, { "_wxMask","_class_wxMask",0}, { "_wxToolTip","_class_wxToolTip",0}, @@ -631,6 +644,7 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = { { "_wxSashLayoutWindow","_class_wxSashLayoutWindow",0}, { "_size_t","_wxCoord",0}, { "_size_t","_wxPrintQuality",0}, + { "_size_t","_time_t",0}, { "_size_t","_unsigned_int",0}, { "_size_t","_int",0}, { "_size_t","_wxWindowID",0}, @@ -640,6 +654,7 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = { { "_wxPNMHandler","_class_wxPNMHandler",0}, { "_wxPrinterDC","_class_wxPrinterDC",0}, { "_wxWindowCreateEvent","_class_wxWindowCreateEvent",0}, + { "_wxLogGui","_class_wxLogGui",0}, { "_class_wxMenuItem","_wxMenuItem",0}, { "_class_wxPaintEvent","_wxPaintEvent",0}, { "_wxSysColourChangedEvent","_class_wxSysColourChangedEvent",0}, @@ -682,6 +697,7 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = { { "_wxShowEvent","_class_wxShowEvent",0}, { "_uint","_wxCoord",0}, { "_uint","_wxPrintQuality",0}, + { "_uint","_time_t",0}, { "_uint","_size_t",0}, { "_uint","_unsigned_int",0}, { "_uint","_int",0}, @@ -694,11 +710,13 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = { { "_wxRect","_class_wxRect",0}, { "_wxCommandEvent","_class_wxCommandEvent",0}, { "_wxSizeEvent","_class_wxSizeEvent",0}, + { "_class_wxLogWindow","_wxLogWindow",0}, { "_class_wxImage","_wxImage",0}, { "_wxPoint","_class_wxPoint",0}, { "_class_wxSashLayoutWindow","_wxSashLayoutWindow",0}, { "_class_wxButton","_wxButton",0}, { "_wxRadioBox","_class_wxRadioBox",0}, + { "_class_wxSpinCtrl","_wxSpinCtrl",0}, { "_class_wxFontData","_wxFontData",0}, { "_class_wxPNMHandler","_wxPNMHandler",0}, { "_wxBoxSizer","_class_wxBoxSizer",0}, @@ -756,6 +774,7 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = { { "_wxQueryNewPaletteEvent","_class_wxQueryNewPaletteEvent",0}, { "_wxPyApp","_class_wxPyApp",0}, { "_class_wxWindowCreateEvent","_wxWindowCreateEvent",0}, + { "_wxLogTextCtrl","_class_wxLogTextCtrl",0}, { "_wxMDIParentFrame","_class_wxMDIParentFrame",0}, { "_class_wxTreeEvent","_wxTreeEvent",0}, { "_class_wxDirDialog","_wxDirDialog",0}, @@ -802,6 +821,7 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = { { "_class_wxWindow","_class_wxGLCanvas",SwigwxGLCanvasTowxWindow}, { "_class_wxWindow","_wxGLCanvas",SwigwxGLCanvasTowxWindow}, { "_class_wxWindow","_wxWindow",0}, + { "_class_wxLogStderr","_wxLogStderr",0}, { "_wxSplitterWindow","_class_wxSplitterWindow",0}, { "_class_wxStaticText","_wxStaticText",0}, { "_wxPrintDialogData","_class_wxPrintDialogData",0}, @@ -842,6 +862,7 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = { { "_wxScrolledWindow","_class_wxGLCanvas",SwigwxGLCanvasTowxScrolledWindow}, { "_wxScrolledWindow","_wxGLCanvas",SwigwxGLCanvasTowxScrolledWindow}, { "_wxScrolledWindow","_class_wxScrolledWindow",0}, + { "_class_wxLog","_wxLog",0}, { "_wxTreeItemId","_class_wxTreeItemId",0}, { "_unsigned_char","_byte",0}, { "_class_wxMetaFileDC","_wxMetaFileDC",0}, @@ -850,6 +871,7 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = { { "_class_wxListBox","_wxListBox",0}, { "_unsigned_int","_wxCoord",0}, { "_unsigned_int","_wxPrintQuality",0}, + { "_unsigned_int","_time_t",0}, { "_unsigned_int","_size_t",0}, { "_unsigned_int","_uint",0}, { "_unsigned_int","_wxWindowID",0}, @@ -884,6 +906,7 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = { { "_wxJPEGHandler","_class_wxJPEGHandler",0}, { "_wxWindowID","_wxCoord",0}, { "_wxWindowID","_wxPrintQuality",0}, + { "_wxWindowID","_time_t",0}, { "_wxWindowID","_size_t",0}, { "_wxWindowID","_EBool",0}, { "_wxWindowID","_uint",0}, @@ -894,6 +917,7 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = { { "_class_wxSizerItem","_wxSizerItem",0}, { "_int","_wxCoord",0}, { "_int","_wxPrintQuality",0}, + { "_int","_time_t",0}, { "_int","_size_t",0}, { "_int","_EBool",0}, { "_int","_uint",0}, @@ -902,17 +926,28 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = { { "_int","_signed_int",0}, { "_class_wxMouseEvent","_wxMouseEvent",0}, { "_wxPyCommandEvent","_class_wxPyCommandEvent",0}, + { "_wxLogWindow","_class_wxLogWindow",0}, { "_class_wxListEvent","_wxListEvent",0}, { "_class_wxPrintPreview","_wxPrintPreview",0}, { "_class_wxSpinEvent","_wxSpinEvent",0}, { "_class_wxQueryNewPaletteEvent","_wxQueryNewPaletteEvent",0}, + { "_time_t","_wxCoord",0}, + { "_time_t","_wxPrintQuality",0}, + { "_time_t","_unsigned_int",0}, + { "_time_t","_int",0}, + { "_time_t","_wxWindowID",0}, + { "_time_t","_uint",0}, + { "_time_t","_size_t",0}, { "_class_wxNavigationKeyEvent","_wxNavigationKeyEvent",0}, + { "_wxLogNull","_class_wxLogNull",0}, { "_wxButton","_class_wxButton",0}, { "_class_wxPyApp","_wxPyApp",0}, { "_wxSize","_class_wxSize",0}, { "_wxRegionIterator","_class_wxRegionIterator",0}, { "_class_wxPrinterDC","_wxPrinterDC",0}, { "_class_wxPyTextDataObject","_wxPyTextDataObject",0}, + { "_class_wxLogTextCtrl","_wxLogTextCtrl",0}, + { "_class_wxLogGui","_wxLogGui",0}, { "_class_wxMDIParentFrame","_wxMDIParentFrame",0}, { "_wxPyTreeItemData","_class_wxPyTreeItemData",0}, { "_wxStaticBoxSizer","_class_wxStaticBoxSizer",0}, @@ -942,6 +977,7 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = { { "_wxCoord","_uint",0}, { "_wxCoord","_EBool",0}, { "_wxCoord","_size_t",0}, + { "_wxCoord","_time_t",0}, { "_wxCoord","_wxPrintQuality",0}, { "_wxEraseEvent","_class_wxEraseEvent",0}, { "_wxDataObjectComposite","_class_wxDataObjectComposite",0}, @@ -968,6 +1004,7 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = { { "_class_wxListCtrl","_wxListCtrl",0}, { "_class_wxGLCanvas","_wxGLCanvas",0}, { "_wxCustomDataObject","_class_wxCustomDataObject",0}, + { "_class_wxLogNull","_wxLogNull",0}, { "_class_wxSize","_wxSize",0}, { "_class_wxBitmap","_wxBitmap",0}, { "_class_wxMemoryDC","_wxMemoryDC",0}, @@ -1005,6 +1042,7 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = { { "_wxWindow","_wxGLCanvas",SwigwxGLCanvasTowxWindow}, { "_wxWindow","_class_wxWindow",0}, { "_class_wxWindowDestroyEvent","_wxWindowDestroyEvent",0}, + { "_wxLogStderr","_class_wxLogStderr",0}, { "_class_wxFrame","_wxFrame",0}, {0,0,0}}; diff --git a/wxPython/contrib/ogl/oglcanvas.cpp b/wxPython/contrib/ogl/oglcanvas.cpp index 22bfb6bffd..a48e6a3b85 100644 --- a/wxPython/contrib/ogl/oglcanvas.cpp +++ b/wxPython/contrib/ogl/oglcanvas.cpp @@ -1998,7 +1998,9 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = { { "_wxPrintQuality","_uint",0}, { "_wxPrintQuality","_EBool",0}, { "_wxPrintQuality","_size_t",0}, + { "_wxPrintQuality","_time_t",0}, { "_class_wxCustomDataObject","_wxCustomDataObject",0}, + { "_wxSpinCtrl","_class_wxSpinCtrl",0}, { "_wxFontData","_class_wxFontData",0}, { "_class_wxRegionIterator","_wxRegionIterator",0}, { "_class_wxPyTextDropTarget","_wxPyTextDropTarget",0}, @@ -2016,6 +2018,7 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = { { "_wxNotifyEvent","_class_wxNotifyEvent",0}, { "_wxPyTreeCtrl","_class_wxPyTreeCtrl",0}, { "_wxImageHandler","_class_wxImageHandler",0}, + { "_wxLog","_class_wxLog",0}, { "_class_wxToolBarBase","_wxToolBarBase",0}, { "_wxMask","_class_wxMask",0}, { "_wxToolTip","_class_wxToolTip",0}, @@ -2065,6 +2068,7 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = { { "_wxSashLayoutWindow","_class_wxSashLayoutWindow",0}, { "_size_t","_wxCoord",0}, { "_size_t","_wxPrintQuality",0}, + { "_size_t","_time_t",0}, { "_size_t","_unsigned_int",0}, { "_size_t","_int",0}, { "_size_t","_wxWindowID",0}, @@ -2073,6 +2077,7 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = { { "_wxNavigationKeyEvent","_class_wxNavigationKeyEvent",0}, { "_wxPNMHandler","_class_wxPNMHandler",0}, { "_wxWindowCreateEvent","_class_wxWindowCreateEvent",0}, + { "_wxLogGui","_class_wxLogGui",0}, { "_class_wxPyShapeEvtHandler","_wxPyShapeEvtHandler",0}, { "_class_wxMenuItem","_wxMenuItem",0}, { "_class_wxPaintEvent","_wxPaintEvent",0}, @@ -2117,6 +2122,7 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = { { "_wxShowEvent","_class_wxShowEvent",0}, { "_uint","_wxCoord",0}, { "_uint","_wxPrintQuality",0}, + { "_uint","_time_t",0}, { "_uint","_size_t",0}, { "_uint","_unsigned_int",0}, { "_uint","_int",0}, @@ -2130,11 +2136,13 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = { { "_wxCommandEvent","_class_wxCommandEvent",0}, { "_wxPyShapeCanvas","_class_wxPyShapeCanvas",0}, { "_wxSizeEvent","_class_wxSizeEvent",0}, + { "_class_wxLogWindow","_wxLogWindow",0}, { "_class_wxImage","_wxImage",0}, { "_wxPoint","_class_wxPoint",0}, { "_class_wxSashLayoutWindow","_wxSashLayoutWindow",0}, { "_class_wxButton","_wxButton",0}, { "_wxRadioBox","_class_wxRadioBox",0}, + { "_class_wxSpinCtrl","_wxSpinCtrl",0}, { "_class_wxFontData","_wxFontData",0}, { "_class_wxPNMHandler","_wxPNMHandler",0}, { "_wxBoxSizer","_class_wxBoxSizer",0}, @@ -2193,6 +2201,7 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = { { "_wxQueryNewPaletteEvent","_class_wxQueryNewPaletteEvent",0}, { "_wxPyApp","_class_wxPyApp",0}, { "_class_wxWindowCreateEvent","_wxWindowCreateEvent",0}, + { "_wxLogTextCtrl","_class_wxLogTextCtrl",0}, { "_wxMDIParentFrame","_class_wxMDIParentFrame",0}, { "_class_wxTreeEvent","_wxTreeEvent",0}, { "_class_wxDirDialog","_wxDirDialog",0}, @@ -2238,6 +2247,7 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = { { "_class_wxWindow","_class_wxPyShapeCanvas",SwigwxPyShapeCanvasTowxWindow}, { "_class_wxWindow","_wxPyShapeCanvas",SwigwxPyShapeCanvasTowxWindow}, { "_class_wxWindow","_wxWindow",0}, + { "_class_wxLogStderr","_wxLogStderr",0}, { "_wxSplitterWindow","_class_wxSplitterWindow",0}, { "_class_wxStaticText","_wxStaticText",0}, { "_wxPrintDialogData","_class_wxPrintDialogData",0}, @@ -2278,6 +2288,7 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = { { "_wxScrolledWindow","_class_wxPyShapeCanvas",SwigwxPyShapeCanvasTowxScrolledWindow}, { "_wxScrolledWindow","_wxPyShapeCanvas",SwigwxPyShapeCanvasTowxScrolledWindow}, { "_wxScrolledWindow","_class_wxScrolledWindow",0}, + { "_class_wxLog","_wxLog",0}, { "_wxTreeItemId","_class_wxTreeItemId",0}, { "_unsigned_char","_byte",0}, { "_class_wxMenu","_wxMenu",0}, @@ -2285,6 +2296,7 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = { { "_class_wxListBox","_wxListBox",0}, { "_unsigned_int","_wxCoord",0}, { "_unsigned_int","_wxPrintQuality",0}, + { "_unsigned_int","_time_t",0}, { "_unsigned_int","_size_t",0}, { "_unsigned_int","_uint",0}, { "_unsigned_int","_wxWindowID",0}, @@ -2318,6 +2330,7 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = { { "_wxJPEGHandler","_class_wxJPEGHandler",0}, { "_wxWindowID","_wxCoord",0}, { "_wxWindowID","_wxPrintQuality",0}, + { "_wxWindowID","_time_t",0}, { "_wxWindowID","_size_t",0}, { "_wxWindowID","_EBool",0}, { "_wxWindowID","_uint",0}, @@ -2328,6 +2341,7 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = { { "_class_wxSizerItem","_wxSizerItem",0}, { "_int","_wxCoord",0}, { "_int","_wxPrintQuality",0}, + { "_int","_time_t",0}, { "_int","_size_t",0}, { "_int","_EBool",0}, { "_int","_uint",0}, @@ -2336,16 +2350,27 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = { { "_int","_signed_int",0}, { "_class_wxMouseEvent","_wxMouseEvent",0}, { "_wxPyCommandEvent","_class_wxPyCommandEvent",0}, + { "_wxLogWindow","_class_wxLogWindow",0}, { "_class_wxListEvent","_wxListEvent",0}, { "_class_wxPrintPreview","_wxPrintPreview",0}, { "_class_wxSpinEvent","_wxSpinEvent",0}, { "_class_wxQueryNewPaletteEvent","_wxQueryNewPaletteEvent",0}, + { "_time_t","_wxCoord",0}, + { "_time_t","_wxPrintQuality",0}, + { "_time_t","_unsigned_int",0}, + { "_time_t","_int",0}, + { "_time_t","_wxWindowID",0}, + { "_time_t","_uint",0}, + { "_time_t","_size_t",0}, { "_class_wxNavigationKeyEvent","_wxNavigationKeyEvent",0}, + { "_wxLogNull","_class_wxLogNull",0}, { "_wxButton","_class_wxButton",0}, { "_class_wxPyApp","_wxPyApp",0}, { "_wxSize","_class_wxSize",0}, { "_wxRegionIterator","_class_wxRegionIterator",0}, { "_class_wxPyTextDataObject","_wxPyTextDataObject",0}, + { "_class_wxLogTextCtrl","_wxLogTextCtrl",0}, + { "_class_wxLogGui","_wxLogGui",0}, { "_class_wxMDIParentFrame","_wxMDIParentFrame",0}, { "_wxPyTreeItemData","_class_wxPyTreeItemData",0}, { "_wxStaticBoxSizer","_class_wxStaticBoxSizer",0}, @@ -2376,6 +2401,7 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = { { "_wxCoord","_uint",0}, { "_wxCoord","_EBool",0}, { "_wxCoord","_size_t",0}, + { "_wxCoord","_time_t",0}, { "_wxCoord","_wxPrintQuality",0}, { "_wxEraseEvent","_class_wxEraseEvent",0}, { "_wxDataObjectComposite","_class_wxDataObjectComposite",0}, @@ -2402,6 +2428,7 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = { { "_class_wxSizeEvent","_wxSizeEvent",0}, { "_class_wxListCtrl","_wxListCtrl",0}, { "_wxCustomDataObject","_class_wxCustomDataObject",0}, + { "_class_wxLogNull","_wxLogNull",0}, { "_class_wxSize","_wxSize",0}, { "_class_wxBitmap","_wxBitmap",0}, { "_class_wxMemoryDC","_wxMemoryDC",0}, @@ -2440,6 +2467,7 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = { { "_wxWindow","_wxPyShapeCanvas",SwigwxPyShapeCanvasTowxWindow}, { "_wxWindow","_class_wxWindow",0}, { "_class_wxWindowDestroyEvent","_wxWindowDestroyEvent",0}, + { "_wxLogStderr","_class_wxLogStderr",0}, { "_class_wxFrame","_wxFrame",0}, { "_class_wxDiagram","_wxDiagram",0}, {0,0,0}}; diff --git a/wxPython/demo/GridSimple.py b/wxPython/demo/GridSimple.py index f816e7a3f4..bafd643cf2 100644 --- a/wxPython/demo/GridSimple.py +++ b/wxPython/demo/GridSimple.py @@ -7,6 +7,9 @@ class SimpleGrid(wxGrid): def __init__(self, parent, log): wxGrid.__init__(self, parent, -1) self.log = log + self.moveTo = None + + EVT_IDLE(self, self.OnIdle) self.CreateGrid(25, 25) @@ -113,15 +116,43 @@ class SimpleGrid(wxGrid): (evt.GetTopLeftCoords(), evt.GetBottomRightCoords())) evt.Skip() + def OnCellChange(self, evt): self.log.write("OnCellChange: (%d,%d) %s\n" % (evt.GetRow(), evt.GetCol(), evt.GetPosition())) - evt.Skip() + + # Show how to stay in a cell that has bad data. We can't just + # call SetGridCursor here since we are nested inside one so it + # won't have any effect. Instead, set coordinants to move to in + # idle time. + value = self.GetCellValue(evt.GetRow(), evt.GetCol()) + if value == 'no good': + self.moveTo = evt.GetRow(), evt.GetCol() + + def OnIdle(self, evt): + if self.moveTo != None: + self.SetGridCursor(self.moveTo[0], self.moveTo[1]) + self.moveTo = None + + def OnSelectCell(self, evt): self.log.write("OnSelectCell: (%d,%d) %s\n" % (evt.GetRow(), evt.GetCol(), evt.GetPosition())) - evt.Skip() + + # Another way to stay in a cell that has a bad value... + row = self.GetGridCursorRow() + col = self.GetGridCursorCol() + if self.IsCellEditControlEnabled(): + self.HideCellEditControl() + self.DisableCellEditControl() + value = self.GetCellValue(row, col) + if value == 'no good 2': + return # cancels the cell selection + else: + evt.Skip() + + def OnEditorShown(self, evt): self.log.write("OnEditorShown: (%d,%d) %s\n" % @@ -154,3 +185,5 @@ if __name__ == '__main__': #--------------------------------------------------------------------------- + + diff --git a/wxPython/demo/Main.py b/wxPython/demo/Main.py index bcae0e5b55..35bba55186 100644 --- a/wxPython/demo/Main.py +++ b/wxPython/demo/Main.py @@ -20,8 +20,8 @@ from wxPython.html import wxHtmlWindow _treeList = [ - ('New since last release', ['PyShellWindow', - ]), + #('New since last release', ['PyShellWindow', + # ]), ('Managed Windows', ['wxFrame', 'wxDialog', 'wxMiniFrame']), @@ -413,7 +413,7 @@ class MyApp(wxApp): showTip, index = eval(showTipText) except IOError: showTip, index = (1, 0) - print showTip, index + #print showTip, index if showTip: tp = wxCreateFileTipProvider("data/tips.txt", index) showTip = wxShowTip(frame, tp) diff --git a/wxPython/demo/wxGLCanvas.py b/wxPython/demo/wxGLCanvas.py index d6266f5814..8813c3f0cd 100644 --- a/wxPython/demo/wxGLCanvas.py +++ b/wxPython/demo/wxGLCanvas.py @@ -8,7 +8,7 @@ except ImportError: try: # The Python OpenGL package can be found at - # http://starship.python.net:9673/crew/da/Code/PyOpenGL/ + # http://PyOpenGL.sourceforge.net/ from OpenGL.GL import * from OpenGL.GLUT import * haveOpenGL = true @@ -28,7 +28,7 @@ elif not haveOpenGL: def runTest(frame, nb, log): dlg = wxMessageDialog(frame, 'The OpenGL package was not found. You can get it at\n' - 'http://starship.python.net:9673/crew/da/Code/PyOpenGL/', + 'http://PyOpenGL.sourceforge.net/', 'Sorry', wxOK | wxICON_INFORMATION) dlg.ShowModal() dlg.Destroy() @@ -57,7 +57,8 @@ else: class CubeCanvas(wxGLCanvas): def __init__(self, parent): - wxGLCanvas.__init__(self, parent, -1) + wxGLCanvas.__init__(self, parent, -1) #, + #attribList=[GL_RED_BITS, 4, GL_DOUBLEBUFFER] ) EVT_ERASE_BACKGROUND(self, self.OnEraseBackground) EVT_SIZE(self, self.OnSize) EVT_PAINT(self, self.OnPaint) diff --git a/wxPython/demo/wxTreeCtrl.py b/wxPython/demo/wxTreeCtrl.py index 9f1c20183a..95484e065c 100644 --- a/wxPython/demo/wxTreeCtrl.py +++ b/wxPython/demo/wxTreeCtrl.py @@ -137,6 +137,8 @@ class TestTreeCtrlPanel(wxPanel): self.log.WriteText("OnSelChanged: %s\n" % self.tree.GetItemText(self.item)) self.log.WriteText("BoundingRect: %s\n" % self.tree.GetBoundingRect(self.item, true)) + #items = self.tree.GetSelections() + #print map(self.tree.GetItemText, items) @@ -160,11 +162,6 @@ def runTest(frame, nb, log): - - - - - overview = """\ A tree control presents information as a hierarchy, with items that may be expanded to show further items. Items in a tree control are referenced by wxTreeItemId handles. diff --git a/wxPython/distrib/autobuild.py b/wxPython/distrib/autobuild.py index 706f00dc1b..a0f4aa4061 100755 --- a/wxPython/distrib/autobuild.py +++ b/wxPython/distrib/autobuild.py @@ -7,8 +7,8 @@ cwd = os.getcwd() logfile = 'c:\\temp\\autobuild.log' WXDIR = os.environ['WXWIN'] -dllVer = '22_0' -wxpVer = '2.2.0' +dllVer = '22_1' +wxpVer = '2.2.1' dateSt = time.strftime("%Y%m%d", time.localtime(time.time())) base = os.path.split(sys.argv[0])[0] @@ -145,11 +145,11 @@ FINAL=1 # #*#*#*#*#* Comment this out to allow upload... - return + #return logSeparator("Uploading to website...") do('python c:\\utils\\sendwxp.py %s' % destName) - do('python c:\\utils\\sendwxp.py %s' % destZName) + #do('python c:\\utils\\sendwxp.py %s' % destZName) do('python c:\\utils\\sendwxp.py %s' % destDName) diff --git a/wxPython/distrib/build.py b/wxPython/distrib/build.py index 3e64e9f736..bd93cf37b8 100755 --- a/wxPython/distrib/build.py +++ b/wxPython/distrib/build.py @@ -121,7 +121,7 @@ import sys, os, string, getopt # Makefiles for use with the distribution related targets. major_version = '2.2' -build_version = '0' +build_version = '1' __version__ = major_version + '.' + build_version diff --git a/wxPython/distrib/wxPython.WSM b/wxPython/distrib/wxPython.WSM index 863771d4a9..32e123fd12 100644 Binary files a/wxPython/distrib/wxPython.WSM and b/wxPython/distrib/wxPython.WSM differ diff --git a/wxPython/distrib/wxPython.wse b/wxPython/distrib/wxPython.wse index 0d82dd645c..26ceef8bf0 100644 --- a/wxPython/distrib/wxPython.wse +++ b/wxPython/distrib/wxPython.wse @@ -17,7 +17,7 @@ item: Global Patch Flags=0000000000001001 Patch Threshold=85 Patch Memory=4000 - EXE Filename=wxPython-2.2.0.exe + EXE Filename=wxPython-2.2.1.exe FTP Cluster Size=20 Per-User Version ID=1 Dialogs Version=6 @@ -819,8 +819,8 @@ item: Install File Flags=0000001010000011 end item: Install File - Source=c:\projects\wx\lib\wx22_0.dll - Destination=%SYS%\wx22_0.dll + Source=c:\projects\wx\lib\wx22_1.dll + Destination=%SYS%\wx22_1.dll Flags=0000001010010010 end item: Install File diff --git a/wxPython/src/__version__.py b/wxPython/src/__version__.py index 2ca00768cd..11d93d5596 100644 --- a/wxPython/src/__version__.py +++ b/wxPython/src/__version__.py @@ -1 +1 @@ -ver = '2.2.0' +ver = '2.2.1' diff --git a/wxPython/src/controls2.i b/wxPython/src/controls2.i index d24b8ebb28..5208d6499c 100644 --- a/wxPython/src/controls2.i +++ b/wxPython/src/controls2.i @@ -575,8 +575,8 @@ public: size_t num, x; num = self->GetSelections(array); for (x=0; x < num; x++) { - PyObject* item = wxPyConstructObject((void*)&array.Item(x), - "wxTreeItemId"); + wxTreeItemId *tii = new wxTreeItemId(array.Item(x)); + PyObject* item = wxPyConstructObject((void*)tii, "wxTreeItemId", TRUE); PyList_Append(rval, item); } wxPySaveThread(doSave); diff --git a/wxPython/src/helpers.cpp b/wxPython/src/helpers.cpp index 32578bf5f6..2f13be03ef 100644 --- a/wxPython/src/helpers.cpp +++ b/wxPython/src/helpers.cpp @@ -245,7 +245,9 @@ PyObject* __wxSetDictionary(PyObject* /* self */, PyObject* args) //--------------------------------------------------------------------------- -PyObject* wxPyConstructObject(void* ptr, const char* className) { +PyObject* wxPyConstructObject(void* ptr, + const char* className, + int setThisOwn) { char buff[64]; // should always be big enough... char swigptr[64]; @@ -263,6 +265,10 @@ PyObject* wxPyConstructObject(void* ptr, const char* className) { PyObject* obj = PyInstance_New(classobj, arg, NULL); Py_DECREF(arg); + if (setThisOwn) { + PyObject_SetAttrString(obj, "thisown", PyInt_FromLong(1)); + } + return obj; } diff --git a/wxPython/src/helpers.h b/wxPython/src/helpers.h index 38dd0cddc6..72bea56345 100644 --- a/wxPython/src/helpers.h +++ b/wxPython/src/helpers.h @@ -67,7 +67,9 @@ PyObject* __wxSetDictionary(PyObject*, PyObject* args); void wxPyEventThunker(wxObject*, wxEvent& event); -HELPEREXPORT PyObject* wxPyConstructObject(void* ptr, const char* className); +HELPEREXPORT PyObject* wxPyConstructObject(void* ptr, + const char* className, + int setThisOwn=0); HELPEREXPORT bool wxPyRestoreThread(); HELPEREXPORT void wxPySaveThread(bool doSave); HELPEREXPORT PyObject* wxPy_ConvertList(wxListBase* list, const char* className); diff --git a/wxPython/src/msw/controls2.cpp b/wxPython/src/msw/controls2.cpp index 1e59b3eb12..dd4ad27978 100644 --- a/wxPython/src/msw/controls2.cpp +++ b/wxPython/src/msw/controls2.cpp @@ -6167,8 +6167,8 @@ static PyObject * wxPyTreeCtrl_GetSelections(wxPyTreeCtrl *self) { size_t num, x; num = self->GetSelections(array); for (x=0; x < num; x++) { - PyObject* item = wxPyConstructObject((void*)&array.Item(x), - "wxTreeItemId"); + wxTreeItemId *tii = new wxTreeItemId(array.Item(x)); + PyObject* item = wxPyConstructObject((void*)tii, "wxTreeItemId", TRUE); PyList_Append(rval, item); } wxPySaveThread(doSave); diff --git a/wxPython/src/msw/windows.py b/wxPython/src/msw/windows.py index 5f0c790a24..18e98d8084 100644 --- a/wxPython/src/msw/windows.py +++ b/wxPython/src/msw/windows.py @@ -86,12 +86,6 @@ class wxValidatorPtr(wxEvtHandlerPtr): return val def __repr__(self): return "" % (self.this,) - - _prop_list_ = { - 'window' : ('GetWindow', 'SetWindow'), - } - _prop_list_.update(wxEvtHandler._prop_list_) - class wxValidator(wxValidatorPtr): def __init__(self,*_args,**_kwargs): self.this = apply(windowsc.new_wxValidator,_args,_kwargs) @@ -523,43 +517,24 @@ class wxWindowPtr(wxEvtHandlerPtr): return val def __repr__(self): return "" % (self.this,) - # replaces broken shadow method + # replaces broken shadow methods def GetCaret(self, *_args, **_kwargs): from misc2 import wxCaretPtr val = apply(windowsc.wxWindow_GetCaret,(self,) + _args, _kwargs) if val: val = wxCaretPtr(val) return val - - - _prop_list_ = { - 'size' : ('GetSize', 'SetSize'), - 'enabled' : ('IsEnabled', 'Enable'), - 'background' : ('GetBackgroundColour', 'SetBackgroundColour'), - 'foreground' : ('GetForegroundColour', 'SetForegroundColour'), - 'children' : ('GetChildren', None), - 'charHeight' : ('GetCharHeight', None), - 'charWidth' : ('GetCharWidth', None), - 'clientSize' : ('GetClientSize', 'SetClientSize'), - 'font' : ('GetFont', 'SetFont'), - 'grandParent' : ('GetGrandParent', None), - 'handle' : ('GetHandle', None), - 'label' : ('GetLabel', 'SetLabel'), - 'name' : ('GetName', 'SetName'), - 'parent' : ('GetParent', None), - 'position' : ('GetPosition', 'SetPosition'), - 'title' : ('GetTitle', 'SetTitle'), - 'style' : ('GetWindowStyleFlag', 'SetWindowStyleFlag'), - 'visible' : ('IsShown', 'Show'), - 'toolTip' : ('GetToolTip', 'SetToolTip'), - 'sizer' : ('GetSizer', 'SetSizer'), - 'validator' : ('GetValidator', 'SetValidator'), - 'dropTarget' : ('GetDropTarget', 'SetDropTarget'), - 'caret' : ('GetCaret', 'SetCaret'), - 'autoLayout' : ('GetAutoLayout', 'SetAutoLayout'), - 'constraints' : ('GetConstraints', 'SetConstraints'), - } - _prop_list_.update(wxEvtHandler._prop_list_) + def GetSizer(self, *_args, **_kwargs): + from sizers import wxSizerPtr + val = apply(windowsc.wxWindow_GetSizer,(self,) + _args, _kwargs) + if val: val = wxSizerPtr(val) + return val + + def GetToolTip(self, *_args, **_kwargs): + from misc2 import wxToolTipPtr + val = apply(windowsc.wxWindow_GetToolTip,(self,) + _args, _kwargs) + if val: val = wxToolTipPtr(val) + return val class wxWindow(wxWindowPtr): def __init__(self,*_args,**_kwargs): diff --git a/wxPython/src/windows.i b/wxPython/src/windows.i index 5bed7c182e..b5ac973683 100644 --- a/wxPython/src/windows.i +++ b/wxPython/src/windows.i @@ -107,13 +107,13 @@ public: wxWindow* GetWindow(); void SetWindow(wxWindow* window); - // Properties list - %pragma(python) addtoclass = " - _prop_list_ = { - 'window' : ('GetWindow', 'SetWindow'), - } - _prop_list_.update(wxEvtHandler._prop_list_) - " +// // Properties list +// %pragma(python) addtoclass = " +// _prop_list_ = { +// 'window' : ('GetWindow', 'SetWindow'), +// } +// _prop_list_.update(wxEvtHandler._prop_list_) +// " }; %inline %{ @@ -373,47 +373,59 @@ public: void SetCaret(wxCaret *caret); wxCaret *GetCaret(); - %pragma(python) addtoclass = "# replaces broken shadow method + %pragma(python) addtoclass = "# replaces broken shadow methods def GetCaret(self, *_args, **_kwargs): from misc2 import wxCaretPtr val = apply(windowsc.wxWindow_GetCaret,(self,) + _args, _kwargs) if val: val = wxCaretPtr(val) return val + + def GetSizer(self, *_args, **_kwargs): + from sizers import wxSizerPtr + val = apply(windowsc.wxWindow_GetSizer,(self,) + _args, _kwargs) + if val: val = wxSizerPtr(val) + return val + + def GetToolTip(self, *_args, **_kwargs): + from misc2 import wxToolTipPtr + val = apply(windowsc.wxWindow_GetToolTip,(self,) + _args, _kwargs) + if val: val = wxToolTipPtr(val) + return val " - // Properties list - %pragma(python) addtoclass = " - _prop_list_ = { - 'size' : ('GetSize', 'SetSize'), - 'enabled' : ('IsEnabled', 'Enable'), - 'background' : ('GetBackgroundColour', 'SetBackgroundColour'), - 'foreground' : ('GetForegroundColour', 'SetForegroundColour'), - 'children' : ('GetChildren', None), - 'charHeight' : ('GetCharHeight', None), - 'charWidth' : ('GetCharWidth', None), - 'clientSize' : ('GetClientSize', 'SetClientSize'), - 'font' : ('GetFont', 'SetFont'), - 'grandParent' : ('GetGrandParent', None), - 'handle' : ('GetHandle', None), - 'label' : ('GetLabel', 'SetLabel'), - 'name' : ('GetName', 'SetName'), - 'parent' : ('GetParent', None), - 'position' : ('GetPosition', 'SetPosition'), - 'title' : ('GetTitle', 'SetTitle'), - 'style' : ('GetWindowStyleFlag', 'SetWindowStyleFlag'), - 'visible' : ('IsShown', 'Show'), - 'toolTip' : ('GetToolTip', 'SetToolTip'), - 'sizer' : ('GetSizer', 'SetSizer'), - 'validator' : ('GetValidator', 'SetValidator'), - 'dropTarget' : ('GetDropTarget', 'SetDropTarget'), - 'caret' : ('GetCaret', 'SetCaret'), - 'autoLayout' : ('GetAutoLayout', 'SetAutoLayout'), - 'constraints' : ('GetConstraints', 'SetConstraints'), +// // Properties list +// %pragma(python) addtoclass = " +// _prop_list_ = { +// 'size' : ('GetSize', 'SetSize'), +// 'enabled' : ('IsEnabled', 'Enable'), +// 'background' : ('GetBackgroundColour', 'SetBackgroundColour'), +// 'foreground' : ('GetForegroundColour', 'SetForegroundColour'), +// 'children' : ('GetChildren', None), +// 'charHeight' : ('GetCharHeight', None), +// 'charWidth' : ('GetCharWidth', None), +// 'clientSize' : ('GetClientSize', 'SetClientSize'), +// 'font' : ('GetFont', 'SetFont'), +// 'grandParent' : ('GetGrandParent', None), +// 'handle' : ('GetHandle', None), +// 'label' : ('GetLabel', 'SetLabel'), +// 'name' : ('GetName', 'SetName'), +// 'parent' : ('GetParent', None), +// 'position' : ('GetPosition', 'SetPosition'), +// 'title' : ('GetTitle', 'SetTitle'), +// 'style' : ('GetWindowStyleFlag', 'SetWindowStyleFlag'), +// 'visible' : ('IsShown', 'Show'), +// 'toolTip' : ('GetToolTip', 'SetToolTip'), +// 'sizer' : ('GetSizer', 'SetSizer'), +// 'validator' : ('GetValidator', 'SetValidator'), +// 'dropTarget' : ('GetDropTarget', 'SetDropTarget'), +// 'caret' : ('GetCaret', 'SetCaret'), +// 'autoLayout' : ('GetAutoLayout', 'SetAutoLayout'), +// 'constraints' : ('GetConstraints', 'SetConstraints'), - } - _prop_list_.update(wxEvtHandler._prop_list_) - " +// } +// _prop_list_.update(wxEvtHandler._prop_list_) +// " }; //%clear int* x, int* y;