toolbars.py 5.4 KB

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