toolbars.py 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. """
  2. @package gmodeler.toolbars
  3. @brief wxGUI Graphical Modeler toolbars classes
  4. Classes:
  5. - toolbars::ModelerToolbar
  6. (C) 2010-2011 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 sys
  12. from gui_core.toolbars import BaseToolbar, BaseIcons
  13. from icons.icon import MetaIcon
  14. class ModelerToolbar(BaseToolbar):
  15. """Graphical modeler toolbaro (see gmodeler.py)
  16. """
  17. def __init__(self, parent):
  18. BaseToolbar.__init__(self, parent)
  19. # workaround for http://trac.wxwidgets.org/ticket/13888
  20. if sys.platform == 'darwin':
  21. parent.SetToolBar(self)
  22. self.InitToolbar(self._toolbarData())
  23. # realize the toolbar
  24. self.Realize()
  25. def _toolbarData(self):
  26. """Toolbar data"""
  27. icons = {
  28. 'new': MetaIcon(img='create',
  29. label=_('Create new model (Ctrl+N)')),
  30. 'open': MetaIcon(img='open',
  31. label=_('Load model from file (Ctrl+O)')),
  32. 'save': MetaIcon(img='save',
  33. label=_('Save current model to file (Ctrl+S)')),
  34. 'toImage': MetaIcon(img='image-export',
  35. label=_('Export model to image')),
  36. 'toPython': MetaIcon(img='python-export',
  37. label=_('Export model to Python script')),
  38. 'actionAdd': MetaIcon(img='module-add',
  39. label=_('Add command (GRASS module) to model')),
  40. 'dataAdd': MetaIcon(img='data-add',
  41. label=_('Add data to model')),
  42. 'relation': MetaIcon(img='relation-create',
  43. label=_('Manually define relation between data and commands')),
  44. 'loop': MetaIcon(img='loop-add',
  45. label=_('Add loop/series to model')),
  46. 'comment': MetaIcon(img='label-add',
  47. label=_('Add comment to model')),
  48. 'run': MetaIcon(img='execute',
  49. label=_('Run model')),
  50. 'validate': MetaIcon(img='check',
  51. label=_('Validate model')),
  52. 'settings': BaseIcons['settings'].SetLabel(_('Modeler settings')),
  53. 'properties': MetaIcon(img='options',
  54. label=_('Show model properties')),
  55. 'variables': MetaIcon(img='modeler-variables',
  56. label=_('Manage model variables')),
  57. 'redraw': MetaIcon(img='redraw',
  58. label=_('Redraw model canvas')),
  59. 'quit': BaseIcons['quit'].SetLabel(_('Quit Graphical Modeler')),
  60. }
  61. return self._getToolbarData((('new', icons['new'],
  62. self.parent.OnModelNew),
  63. ('open', icons['open'],
  64. self.parent.OnModelOpen),
  65. ('save', icons['save'],
  66. self.parent.OnModelSave),
  67. ('image', icons['toImage'],
  68. self.parent.OnExportImage),
  69. ('python', icons['toPython'],
  70. self.parent.OnExportPython),
  71. (None, ),
  72. ('action', icons['actionAdd'],
  73. self.parent.OnAddAction),
  74. ('data', icons['dataAdd'],
  75. self.parent.OnAddData),
  76. ('relation', icons['relation'],
  77. self.parent.OnDefineRelation),
  78. ('loop', icons['loop'],
  79. self.parent.OnDefineLoop),
  80. ('comment', icons['comment'],
  81. self.parent.OnAddComment),
  82. (None, ),
  83. ('redraw', icons['redraw'],
  84. self.parent.OnCanvasRefresh),
  85. ('validate', icons['validate'],
  86. self.parent.OnValidateModel),
  87. ('run', icons['run'],
  88. self.parent.OnRunModel),
  89. (None, ),
  90. ("variables", icons['variables'],
  91. self.parent.OnVariables),
  92. ("settings", icons['settings'],
  93. self.parent.OnPreferences),
  94. ("help", BaseIcons['help'],
  95. self.parent.OnHelp),
  96. (None, ),
  97. ('quit', icons['quit'],
  98. self.parent.OnCloseWindow))
  99. )