2 Demonstrates the menu manager API.
6 def outputMenuItem(item, recurse = True, indent = ''):
8 print indent, text
if text
else "----"
9 if item.HasSubMenu
and recurse:
10 outputMenu(item.SubMenu, recurse, indent +
' ')
12 def outputMenu(menu, recurse = True, indent = ''):
14 outputMenuItem(i, recurse, indent)
16 somethingHappened =
False
18 global somethingHappened
19 somethingHappened =
True
20 print 'Something happened'
24 def createTestMenu(name):
27 if action._IsValidWrapper():
28 print "Created action"
30 print "Failed to create action"
34 print 'menu created', menu.Title
36 print 'The menu ', name,
' already exists'
38 def getLastMenuItem(menu = MaxPlus.MenuManager.GetMainMenu()):
39 return list(menu.Items)[-1]
41 def testLastItem(text):
42 assert(getLastMenuItem().Title == text)
45 print "Removing any previously left 'menu items'"
48 print "Creating a new menu"
49 testLastItem(
u"&Help")
52 print "Creating a new menu"
53 createTestMenu(
u"Test")
57 assert(
not somethingHappened)
58 mi = getLastMenuItem()
59 mi = list(mi.SubMenu.Items)[0]
62 assert(somethingHappened)
64 print "Unregistering the 'test' menu"
67 testLastItem(
u"&Help")
69 if __name__ ==
'__main__':