Add FindItem and FindItemById

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxPython/Phoenix/trunk@73306 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robin Dunn
2012-12-29 02:33:37 +00:00
parent 24307717fc
commit c17bb549fe
3 changed files with 53 additions and 2 deletions

View File

@@ -120,8 +120,8 @@ INCLUDES = [ # base and core stuff
'window',
'validate',
'panel',
'menu',
'menuitem',
'menu',
'scrolwin',
'vscroll',

View File

@@ -69,13 +69,34 @@ def run():
c.find('Destroy').findOverload('int').pyName = 'DestroyItem'
c.find('Destroy').findOverload('wxMenuItem').pyName = 'DestroyItem'
c.find('FindChildItem.pos').out = True
c.find('FindItem.menu').out = True
c.addCppMethod('wxMenuItem*', 'FindItembyId', '(int id)', isConst=True,
doc="""\
FindItemById(id) -> MenuItem
Finds the menu item object associated with the given menu item identifier.""",
body="""\
return self->FindItem(id);""")
#-----------------------------------------------------------------
c = module.find('wxMenuBar')
assert isinstance(c, etgtools.ClassDef)
tools.removeVirtuals(c)
addTransferAnnotations(c, 'menu')
c.find('wxMenuBar').findOverload('wxMenu *menus[], const wxString titles[], long style=0)').ignore()
c.find('FindItem').ignore()
c.find('FindItem.menu').out = True
c.addCppMethod('wxMenuItem*', 'FindItembyId', '(int id)', isConst=True,
doc="""\
FindItemById(id) -> MenuItem
Finds the menu item object associated with the given menu item identifier.""",
body="""\
return self->FindItem(id);""")
mac_scmb = c.find('MacSetCommonMenuBar')
mac_scmb.setCppCode("""\
#ifdef __WXMAC__

View File

@@ -34,6 +34,15 @@ class menu_Tests(wtc.WidgetTestCase):
items = m.GetMenuItems()
self.assertTrue(len(items) == 6)
def test_menu3(self):
m = self.makeMenuWithSubmenu()
items = []
for i in m.GetMenuItems():
self.assertTrue(isinstance(i, wx.MenuItem))
items.append(i)
self.assertTrue(len(items) == 6)
def test_menuBar1(self):
mb = wx.MenuBar()
for label in "one two three four".split():
@@ -51,6 +60,27 @@ class menu_Tests(wtc.WidgetTestCase):
menu, label = menus[0]
self.assertTrue(isinstance(menu, wx.Menu))
self.assertTrue(label == 'one')
def test_menuBar3(self):
mb = wx.MenuBar()
for label in "one two three four".split():
m = self.makeMenu()
mb.Append(m, label)
menu = m
item = menu.FindItemByPosition(0)
i, m = mb.FindItem(item.GetId())
self.assertTrue(i is item)
self.assertTrue(m is menu)
i = mb.FindItembyId(item.GetId())
self.assertTrue(i is item)
i, m = menu.FindItem(item.GetId())
self.assertTrue(i is item)
self.assertTrue(m is menu)
i = menu.FindItembyId(item.GetId())
self.assertTrue(i is item)
#---------------------------------------------------------------------------