from qgis.utils import iface from PyQt4 import QtGui from processing.core.Processing import Processing from processing.gui.MessageDialog import MessageDialog from processing.gui.AlgorithmDialog import AlgorithmDialog algorithmsToolbar = None def addAlgorithmEntry(algname, menuName, submenuName, actionText=None, icon=None, addButton=False): alg = Processing.getAlgorithm(algname) if alg is None: return if menuName: menu = getMenu(menuName, iface.mainWindow().menuBar()) submenu = getMenu(submenuName, menu) action = QtGui.QAction(icon or alg.getIcon(), actionText or alg.name, iface.mainWindow()) action.triggered.connect(lambda: _executeAlgorithm(alg)) submenu.addAction(action) if addButton: global algorithmsToolbar if algorithmsToolbar is None: algorithmsToolbar = iface.addToolBar("ProcessingAlgorithms") algorithmsToolbar.addAction(action) def _executeAlgorithm(alg): message = alg.checkBeforeOpeningParametersDialog() if message: dlg = MessageDialog() dlg.setTitle(tr('Missing dependency')) dlg.setMessage( tr('