mirror of
https://github.com/wxWidgets/Phoenix.git
synced 2026-01-06 20:10:08 +01:00
Finish remaining transfer flags for ribbon client data objects,
and finish basic tests.
This commit is contained in:
@@ -48,6 +48,9 @@ def run():
|
||||
c.find('SetItemClientData').ignore()
|
||||
c.find('GetItemClientData').ignore()
|
||||
|
||||
# Methods assigning wxClientData objects need to transfer ownership
|
||||
c.find('SetItemClientObject.data').transfer = True
|
||||
|
||||
|
||||
c = module.find('wxRibbonButtonBarEvent')
|
||||
tools.fixEventClass(c)
|
||||
|
||||
@@ -49,6 +49,9 @@ def run():
|
||||
c.find('SetItemClientData').ignore()
|
||||
c.find('GetItemClientData').ignore()
|
||||
|
||||
# Methods assigning wxClientData objects need to transfer ownership
|
||||
c.find('SetItemClientObject.data').transfer = True
|
||||
c.find('Append').findOverload('wxClientData').find('clientData').transfer = True
|
||||
|
||||
c = module.find('wxRibbonGalleryEvent')
|
||||
tools.fixEventClass(c)
|
||||
|
||||
@@ -44,6 +44,16 @@ def run():
|
||||
assert isinstance(c, etgtools.ClassDef)
|
||||
tools.fixWindowClass(c)
|
||||
|
||||
# Use wxPyUserData for the clientData values instead of a plain wxObject
|
||||
for item in c.allItems():
|
||||
if isinstance(item, etgtools.ParamDef) and item.name == 'clientData':
|
||||
item.type = 'wxPyUserData*'
|
||||
item.transfer = True
|
||||
meth = c.find('GetToolClientData')
|
||||
meth.type = 'wxPyUserData*'
|
||||
meth.setCppCode('return dynamic_cast<wxPyUserData*>(self->GetToolClientData(tool_id));')
|
||||
|
||||
|
||||
|
||||
c = module.find('wxRibbonToolBarEvent')
|
||||
tools.fixEventClass(c)
|
||||
|
||||
Submodule ext/wxWidgets updated: 6f4dd7ff30...f4f34a7ef1
@@ -36,6 +36,23 @@ class ribbon_buttonbar_Tests(wtc.WidgetTestCase):
|
||||
def test_ribbon_buttonbar4(self):
|
||||
evt = wx.ribbon.RibbonButtonBarEvent()
|
||||
|
||||
|
||||
def test_ribbon_buttonbar5(self):
|
||||
ribbon = wx.ribbon.RibbonBar(self.frame)
|
||||
bb = wx.ribbon.RibbonButtonBar(ribbon)
|
||||
bmp = wx.Bitmap(16,16)
|
||||
btn = bb.AddButton(100, "label", bmp, "help string")
|
||||
|
||||
class _Data(object):
|
||||
def __init__(self, **kw):
|
||||
self.__dict__.update(kw)
|
||||
|
||||
data = _Data(a=1, b=2, c=3)
|
||||
bb.SetItemClientObject(btn, data)
|
||||
data_out = bb.GetItemClientObject(btn)
|
||||
self.assertEqual(data.a, data_out.a)
|
||||
self.assertTrue(data_out is data)
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
||||
@@ -48,7 +48,6 @@ class ribbon_gallery_Tests(wtc.WidgetTestCase):
|
||||
g.GetItemClientData
|
||||
|
||||
|
||||
@unittest.skip('because')
|
||||
def test_ribbon_gallery6(self):
|
||||
ribbon = wx.ribbon.RibbonBar(self.frame)
|
||||
g = wx.ribbon.RibbonGallery(ribbon)
|
||||
@@ -57,12 +56,28 @@ class ribbon_gallery_Tests(wtc.WidgetTestCase):
|
||||
def __init__(self, **kw):
|
||||
self.__dict__.update(kw)
|
||||
|
||||
data_in = _Data(a=1, b=2, c=3)
|
||||
item = g.Append(wx.Bitmap(16,16), 102, data_in)
|
||||
#data_out = g.GetItemClientObject(item)
|
||||
#self.assertTrue(data_out is data_in)
|
||||
data = _Data(a=1, b=2, c=3)
|
||||
item = g.Append(wx.Bitmap(16,16), 102)
|
||||
g.SetItemClientObject(item, data)
|
||||
data_out = g.GetItemClientObject(item)
|
||||
self.assertEqual(data.a, data_out.a)
|
||||
self.assertTrue(data_out is data)
|
||||
|
||||
|
||||
def test_ribbon_gallery7(self):
|
||||
ribbon = wx.ribbon.RibbonBar(self.frame)
|
||||
g = wx.ribbon.RibbonGallery(ribbon)
|
||||
|
||||
class _Data(object):
|
||||
def __init__(self, **kw):
|
||||
self.__dict__.update(kw)
|
||||
|
||||
data = _Data(a=1, b=2, c=3)
|
||||
item = g.Append(wx.Bitmap(16,16), 102, data)
|
||||
data_out = g.GetItemClientObject(item)
|
||||
self.assertEqual(data.a, data_out.a)
|
||||
self.assertTrue(data_out is data)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -6,10 +6,57 @@ import wx.ribbon
|
||||
|
||||
class ribbon_toolbar_Tests(wtc.WidgetTestCase):
|
||||
|
||||
# TODO: Remove this test and add real ones.
|
||||
def test_ribbon_toolbar1(self):
|
||||
self.fail("Unit tests for ribbon_toolbar not implemented yet.")
|
||||
|
||||
wx.ribbon.wxEVT_RIBBONTOOLBAR_CLICKED
|
||||
wx.ribbon.wxEVT_RIBBONTOOLBAR_DROPDOWN_CLICKED
|
||||
wx.ribbon.EVT_RIBBONTOOLBAR_CLICKED
|
||||
wx.ribbon.EVT_RIBBONTOOLBAR_DROPDOWN_CLICKED
|
||||
|
||||
|
||||
def test_ribbon_toolbar2(self):
|
||||
ribbon = wx.ribbon.RibbonBar(self.frame)
|
||||
tbar = wx.ribbon.RibbonToolBar()
|
||||
tbar.Create(ribbon)
|
||||
|
||||
|
||||
def test_ribbon_toolbar3(self):
|
||||
ribbon = wx.ribbon.RibbonBar(self.frame)
|
||||
tbar = wx.ribbon.RibbonToolBar(ribbon)
|
||||
|
||||
|
||||
def test_ribbon_toolbar4(self):
|
||||
evt = wx.ribbon.RibbonToolBarEvent()
|
||||
evt.Bar
|
||||
|
||||
|
||||
def test_ribbon_toolbar5(self):
|
||||
ribbon = wx.ribbon.RibbonBar(self.frame)
|
||||
tbar = wx.ribbon.RibbonToolBar(ribbon)
|
||||
|
||||
|
||||
class _Data(object):
|
||||
def __init__(self, **kw):
|
||||
self.__dict__.update(kw)
|
||||
|
||||
data1 = _Data(a=1, b=2, c=3)
|
||||
data2 = _Data(d=4)
|
||||
|
||||
bmp = wx.Bitmap(16,16)
|
||||
tool1 = tbar.AddTool(101, bmp, "help string")
|
||||
tbar.SetToolClientData(101, data1)
|
||||
|
||||
bmp = wx.Bitmap(16,16)
|
||||
tool2 = tbar.AddTool(102, bmp, help_string="help string", clientData=data2)
|
||||
|
||||
data_out1 = tbar.GetToolClientData(101)
|
||||
self.assertEqual(data1.a, data_out1.a)
|
||||
self.assertTrue(data_out1 is data1)
|
||||
|
||||
data_out2 = tbar.GetToolClientData(102)
|
||||
self.assertEqual(data2.d, data_out2.d)
|
||||
self.assertTrue(data_out2 is data2)
|
||||
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
||||
Reference in New Issue
Block a user