pyutils.py 603 B

12345678910111213141516171819202122232425262728
  1. import sys
  2. from jpype import javax, JObject
  3. __JMenuBar = javax.swing.JMenuBar
  4. __JMenu = javax.swing.JMenu
  5. def buildMenuBar(menuDef):
  6. mb = __JMenuBar()
  7. for i in menuDef:
  8. jm = buildMenu(i[0], i[1])
  9. mb.add(JObject(jm, __JMenu))
  10. return mb
  11. def buildMenu(name, menuDef):
  12. jm = __JMenu(name)
  13. for i in menuDef:
  14. if i is None:
  15. jm.addSeparator()
  16. elif isinstance(i, list) or isinstance(i, tuple):
  17. jm2 = buildMenu(i[0], i[1])
  18. jm.add(jm2)
  19. else:
  20. jm.add(i.proxy)
  21. return jm