Changeset 70461
- Timestamp:
- Jan 30, 2017, 3:46:38 PM (8 years ago)
- Location:
- grass/trunk/gui/wxpython
- Files:
-
- 4 edited
-
core/menutree.py (modified) (3 diffs)
-
core/toolboxes.py (modified) (2 diffs)
-
lmgr/frame.py (modified) (2 diffs)
-
lmgr/menudata.py (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
grass/trunk/gui/wxpython/core/menutree.py
r68374 r70461 47 47 from core.settings import UserSettings 48 48 from core.toolboxes import expandAddons as expAddons 49 from core.toolboxes import getMessages as getToolboxMessages 50 from core.toolboxes import clearMessages as clearToolboxMessages 51 from core.gcmd import GError 49 52 from core.utils import _ 50 53 … … 57 60 """Abstract menu data class""" 58 61 59 def __init__(self, filename, expandAddons=True): 62 # TODO: message_handler=GError is just for backwards compatibility 63 # message_handler=GError should be replaced by None 64 def __init__(self, filename, expandAddons=True, message_handler=GError): 60 65 61 66 self.menustyle = UserSettings.Get(group='appearance', … … 66 71 if expandAddons: 67 72 expAddons(xmlTree) 73 for message in getToolboxMessages(): 74 message_handler(message) 75 clearToolboxMessages() 68 76 69 77 self.model = TreeModel(ModuleNode) -
grass/trunk/gui/wxpython/core/toolboxes.py
r68374 r70461 101 101 _.translate = None 102 102 103 # TODO: this should be part of some reader object 104 _MESSAGES = [] 105 103 106 104 107 def _warning(message): 105 108 """Show warning""" 106 # TODO: enable choice between GUI and script behavior 107 # import only when really needed 108 from core.gcmd import GError 109 GError(message) 109 _MESSAGES.append("WARNING: %s" % message) 110 111 112 def getMessages(): 113 return _MESSAGES 114 115 116 def clearMessages(): 117 del _MESSAGES[:] 110 118 111 119 … … 506 514 try: 507 515 output = gcore.read_command('g.extension', quiet=True, flags='ag') 508 except CalledModuleError :516 except CalledModuleError as error: 509 517 _warning(_("List of addons cannot be obtained" 510 " because g.extension failed.")) 518 " because g.extension failed." 519 " Details: %s") % error) 511 520 return [] 512 521 -
grass/trunk/gui/wxpython/lmgr/frame.py
r70450 r70461 114 114 self._giface = LayerManagerGrassInterface(self) 115 115 116 menu_errors = [] 117 def add_menu_error(message): 118 menu_errors.append(message) 119 def show_menu_errors(messages): 120 if messages: 121 self._gconsole.WriteError( 122 _("There were some issues when loading menu" 123 " or Modules tab:")) 124 for message in messages: 125 self._gconsole.WriteError(message) 126 116 127 # the main menu bar 117 self._menuTreeBuilder = LayerManagerMenuData( )128 self._menuTreeBuilder = LayerManagerMenuData(message_handler=add_menu_error) 118 129 # the search tree and command console 119 self._moduleTreeBuilder = LayerManagerModuleTree( )130 self._moduleTreeBuilder = LayerManagerModuleTree(message_handler=add_menu_error) 120 131 self._auimgr = wx.aui.AuiManager(self) 121 132 … … 236 247 237 248 self.workspaceChanged = False 249 250 show_menu_errors(menu_errors) 238 251 239 252 # start with layer manager on top -
grass/trunk/gui/wxpython/lmgr/menudata.py
r68374 r70461 19 19 20 20 from core.menutree import MenuTreeModelBuilder 21 from core.toolboxes import getMenudataFile 21 from core.toolboxes import getMenudataFile, getMessages, clearMessages 22 22 from core.globalvar import WXGUIDIR 23 23 from core.gcmd import GError … … 27 27 class LayerManagerMenuData(MenuTreeModelBuilder): 28 28 29 def __init__(self, filename=None ):29 def __init__(self, filename=None, message_handler=GError): 30 30 if filename: 31 31 expandAddons = False … … 40 40 try: 41 41 MenuTreeModelBuilder.__init__( 42 self, filename, expandAddons=expandAddons) 42 self, filename, expandAddons=expandAddons, 43 message_handler=message_handler) 43 44 except (ValueError, AttributeError, TypeError): 44 GError(_("Unable to parse user toolboxes XML files. "45 "Default main menu will be loaded."))45 message_handler(_("Unable to parse user toolboxes XML files. " 46 "Default main menu will be loaded.")) 46 47 fallback = os.path.join(WXGUIDIR, 'xml', 'menudata.xml') 47 MenuTreeModelBuilder.__init__(self, fallback) 48 MenuTreeModelBuilder.__init__( 49 self, fallback, message_handler=message_handler) 48 50 49 51 50 52 class LayerManagerModuleTree(MenuTreeModelBuilder): 51 53 52 def __init__(self, filename=None ):54 def __init__(self, filename=None, message_handler=GError): 53 55 if filename: 54 56 expandAddons = False … … 64 66 try: 65 67 MenuTreeModelBuilder.__init__( 66 self, filename, expandAddons=expandAddons) 68 self, filename, expandAddons=expandAddons, 69 message_handler=message_handler) 67 70 except (ValueError, AttributeError, TypeError): 68 GError(_("Unable to parse user toolboxes XML files. " 69 "Default module tree will be loaded.")) 70 MenuTreeModelBuilder.__init__(self, fallback) 71 error_handler(_("Unable to parse user toolboxes XML files. " 72 "Default module tree will be loaded.")) 73 MenuTreeModelBuilder.__init__( 74 self, fallback, message_handler=message_handler)
Note:
See TracChangeset
for help on using the changeset viewer.
