mirror of
https://github.com/wxWidgets/Phoenix.git
synced 2026-01-05 11:30:06 +01:00
Add iterability to sizer classes and corresponding unittest
This commit is contained in:
@@ -151,8 +151,12 @@ def run():
|
||||
import wx.siplib
|
||||
return not wx.siplib.isdeleted(self)
|
||||
""")
|
||||
c.addPyCode('Sizer.__bool__ = Sizer.__nonzero__') # For Python 3
|
||||
|
||||
c.addPyMethod('__iter__', '(self)',
|
||||
doc = "A Py convenience method that allows Sizers to act as iterables that will yield their wx.SizerItems."
|
||||
body = "for item in self.GetChildren(): yield item")
|
||||
|
||||
c.addPyCode('Sizer.__bool__ = Sizer.__nonzero__') # For Python 3
|
||||
|
||||
|
||||
#---------------------------------------------
|
||||
|
||||
@@ -71,6 +71,15 @@ class sizer_Tests(wtc.WidgetTestCase):
|
||||
self.assertTrue(items[1].IsSpacer())
|
||||
self.assertTrue(items[2].Border == 5)
|
||||
|
||||
def test_iter(self):
|
||||
bs = wx.BoxSizer()
|
||||
widgetlist = [wx.Panel(self.frame) for _ in range(5)]
|
||||
|
||||
sizeritems = [x for x in bs]
|
||||
for item in sizeritems:
|
||||
self.assertTrue(isinstance(item, wx.SizerItem))
|
||||
|
||||
self.assertTrue([x.GetWidget() for x in bs] == widgetlist)
|
||||
|
||||
def test_sizerSpacers1(self):
|
||||
bs = wx.BoxSizer()
|
||||
|
||||
Reference in New Issue
Block a user