toolbars.py 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  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 gui_core.toolbars import BaseToolbar, BaseIcons
  16. from icons.icon import MetaIcon
  17. class ModelerToolbar(BaseToolbar):
  18. """!Graphical modeler toolbaro (see gmodeler.py)
  19. """
  20. def __init__(self, parent):
  21. BaseToolbar.__init__(self, parent)
  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')),
  46. 'run' : MetaIcon(img = 'execute',
  47. label = _('Run model')),
  48. 'validate' : MetaIcon(img = 'check',
  49. label = _('Validate model')),
  50. 'settings' : BaseIcons['settings'].SetLabel(_('Modeler settings')),
  51. 'properties' : MetaIcon(img = 'options',
  52. label = _('Show model properties')),
  53. 'variables' : MetaIcon(img = 'modeler-variables',
  54. label = _('Manage model variables')),
  55. 'redraw' : MetaIcon(img = 'redraw',
  56. label = _('Redraw model canvas')),
  57. 'quit' : BaseIcons['quit'].SetLabel(_('Quit Graphical Modeler')),
  58. }
  59. return self._getToolbarData((('new', icons['new'],
  60. self.parent.OnModelNew),
  61. ('open', icons['open'],
  62. self.parent.OnModelOpen),
  63. ('save', icons['save'],
  64. self.parent.OnModelSave),
  65. ('image', icons['toImage'],
  66. self.parent.OnExportImage),
  67. ('python', icons['toPython'],
  68. self.parent.OnExportPython),
  69. (None, ),
  70. ('action', icons['actionAdd'],
  71. self.parent.OnAddAction),
  72. ('data', icons['dataAdd'],
  73. self.parent.OnAddData),
  74. ('relation', icons['relation'],
  75. self.parent.OnDefineRelation),
  76. ('loop', icons['loop'],
  77. self.parent.OnDefineLoop),
  78. (None, ),
  79. ('redraw', icons['redraw'],
  80. self.parent.OnCanvasRefresh),
  81. ('validate', icons['validate'],
  82. self.parent.OnValidateModel),
  83. ('run', icons['run'],
  84. self.parent.OnRunModel),
  85. (None, ),
  86. ("variables", icons['variables'],
  87. self.parent.OnVariables),
  88. ("settings", icons['settings'],
  89. self.parent.OnPreferences),
  90. ("help", BaseIcons['help'],
  91. self.parent.OnHelp),
  92. (None, ),
  93. ('quit', icons['quit'],
  94. self.parent.OnCloseWindow))
  95. )