menudata.py 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. """!
  2. @package lmgr.menudata
  3. @brief wxGUI Layer Manager - menu data
  4. Classes:
  5. - menudata::LayerManagerMenuData
  6. (C) 2007-2012 by the GRASS Development Team
  7. This program is free software under the GNU General Public License
  8. (>=v2). Read the file COPYING that comes with GRASS for details.
  9. @author Martin Landa <landa.martin gmail.com>
  10. """
  11. import os
  12. from core.menutree import MenuTreeModelBuilder
  13. from core.toolboxes import getMenuFile, getMenudataFile
  14. from core.globalvar import ETCWXDIR
  15. from core.gcmd import GError
  16. class LayerManagerMenuData(MenuTreeModelBuilder):
  17. def __init__(self, filename=None):
  18. if not filename:
  19. filename = getMenuFile()
  20. try:
  21. MenuTreeModelBuilder.__init__(self, filename)
  22. except (ValueError, AttributeError, TypeError):
  23. GError(_("Unable to parse user toolboxes XML files. "
  24. "Default toolboxes will be loaded."))
  25. fallback = os.path.join(ETCWXDIR, 'xml', 'menudata.xml')
  26. MenuTreeModelBuilder.__init__(self, fallback)
  27. class LayerManagerModuleTree(MenuTreeModelBuilder):
  28. def __init__(self, filename=None):
  29. fallback = os.path.join(ETCWXDIR, 'xml', 'module_tree_menudata.xml')
  30. if not filename:
  31. filename = getMenudataFile(userRootFile='module_tree.xml',
  32. newFile='module_tree_menudata.xml',
  33. fallback=fallback)
  34. # TODO: try-except useless?
  35. try:
  36. MenuTreeModelBuilder.__init__(self, filename)
  37. except (ValueError, AttributeError, TypeError):
  38. GError(_("Unable to parse user toolboxes XML files. "
  39. "Default toolboxes will be loaded."))
  40. MenuTreeModelBuilder.__init__(self, fallback)