Merge pull request #2425 from konstantinbo/fix-dataviewcheckicontextrenderer

Fix dataviewcheckicontextrenderer
This commit is contained in:
Scott Talbert
2023-07-14 17:09:41 -04:00
committed by GitHub
5 changed files with 52 additions and 3 deletions

View File

@@ -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)

View File

@@ -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',

View File

@@ -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;

View File

@@ -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):