diff --git a/etg/_glcanvas.py b/etg/_glcanvas.py index 52992ed8..2e578645 100644 --- a/etg/_glcanvas.py +++ b/etg/_glcanvas.py @@ -125,6 +125,15 @@ def run(): sipRes = wxGLCanvas::IsDisplaySupported(attribPtr); """) + c.find('CreateSurface').setCppCode("""\ + #if wxUSE_GLCANVAS_EGL + return self->CreateSurface(); + #else + wxPyRaiseNotImplemented(); + return false; + #endif + """) + #----------------------------------------------------------------- tools.doCommonTweaks(module) tools.runGenerators(module) diff --git a/etg/dataview.py b/etg/dataview.py index fdfb4e1a..f817eba1 100644 --- a/etg/dataview.py +++ b/etg/dataview.py @@ -24,6 +24,7 @@ ITEMS = [ 'wxDataViewItem', 'wxDataViewItemAttr', 'wxDataViewIconText', + 'wxDataViewCheckIconText', 'wxDataViewModelNotifier', 'wxDataViewModel', @@ -308,6 +309,7 @@ def run(): # them in all these classes for name in [ 'wxDataViewTextRenderer', 'wxDataViewIconTextRenderer', + 'wxDataViewCheckIconTextRenderer', 'wxDataViewProgressRenderer', 'wxDataViewSpinRenderer', 'wxDataViewToggleRenderer', diff --git a/ext/wxWidgets b/ext/wxWidgets index a812fffd..be772c28 160000 --- a/ext/wxWidgets +++ b/ext/wxWidgets @@ -1 +1 @@ -Subproject commit a812fffda3fe686c94e24bff27e8effd96e4de64 +Subproject commit be772c284f20969e7c2a5b62d3d43db56cdc5a6b diff --git a/src/dvcvariant.sip b/src/dvcvariant.sip index 3df51b16..767c09c1 100644 --- a/src/dvcvariant.sip +++ b/src/dvcvariant.sip @@ -31,6 +31,11 @@ wxVariant wxDVCVariant_in_helper(PyObject* source) if (source == Py_None) { ret.MakeNull(); } + else if (wxPyWrappedPtr_TypeCheck(source, wxT("wxDataViewCheckIconText"))) { + wxDataViewCheckIconText* ptr; + wxPyConvertWrappedPtr(source, (void**)&ptr, wxT("wxDataViewCheckIconText")); + ret << *ptr; + } else if (wxPyWrappedPtr_TypeCheck(source, wxT("wxDataViewIconText"))) { wxDataViewIconText* ptr; wxPyConvertWrappedPtr(source, (void**)&ptr, wxT("wxDataViewIconText")); @@ -45,8 +50,13 @@ wxVariant wxDVCVariant_in_helper(PyObject* source) PyObject* wxDVCVariant_out_helper(const wxVariant& value) { PyObject* ret; - - if ( value.IsType("wxDataViewIconText") ) + if (value.IsType("wxDataViewCheckIconText") ) + { + wxDataViewCheckIconText val; + val << value; + ret = wxPyConstructObject(new wxDataViewCheckIconText(val), wxT("wxDataViewCheckIconText"), 0); + } + else if ( value.IsType("wxDataViewIconText") ) { wxDataViewIconText val; val << value; diff --git a/unittests/test_dataview.py b/unittests/test_dataview.py index 2f7c07e3..a1c35726 100644 --- a/unittests/test_dataview.py +++ b/unittests/test_dataview.py @@ -91,6 +91,31 @@ class dataview_Tests(wtc.WidgetTestCase): dit.Icon dit.Text + #------------------------------------------------------- + def test_dataviewCheckIconText1(self): + dcit = dv.DataViewCheckIconText() + icon = wx.Icon(pngFile) + dcit.SetIcon(icon) + dcit.SetText('Smile!') + + def test_dataviewCheckIconText2(self): + icon = wx.Icon(pngFile) + dcit = dv.DataViewCheckIconText('Smile!', wx.BitmapBundle(icon), wx.CHK_CHECKED) + dcit.Icon + dcit.Text + dcit.CheckedState + + def test_dataviewCheckIconText3(self): + icon = wx.Icon(pngFile) + dcit = dv.DataViewCheckIconText('Smile!', wx.BitmapBundle(icon)) + state = dcit.GetCheckedState() + assert state == wx.CHK_UNDETERMINED + + dcit.SetCheckedState(wx.CHK_CHECKED) + state = dcit.GetCheckedState() + assert state == wx.CHK_CHECKED + + #------------------------------------------------------- def test_dataviewModelNotifier1(self): @@ -170,6 +195,9 @@ class dataview_Tests(wtc.WidgetTestCase): def test_dataviewRenderer12(self): r = dv.DataViewChoiceRenderer("one two three".split()) + def test_dataviewRenderer13(self): + r = dv.DataViewCheckIconTextRenderer() + #------------------------------------------------------- def test_dataviewColumn(self):