def make_toolbar(self): result = GlueToolbar(self.ui.mplWidget.canvas, self, name='Image') for mode in self._mouse_modes(): result.add_mode(mode) tb = QToolButton() tb.setWhatsThis("Set color scale") icon = QIcon(":icons/glue_rainbow.png") tb.setIcon(icon) tb.setPopupMode(QToolButton.InstantPopup) tb.addActions(self._cmaps) result.addWidget(tb) #connect viewport update buttons to client commands to #allow resampling cl = self.client result.buttons['HOME'].triggered.connect(cl.check_update) result.buttons['FORWARD'].triggered.connect(cl.check_update) result.buttons['BACK'].triggered.connect(cl.check_update) self.addToolBar(result) return result
class ToolBar(QToolBar): """A tool bar.""" def __init__(self, parentWidget, dockWidgetName, iface, pluginDir): """Constructor. Args: parentWidget (QToolBar): A reference to the parent widget. dockWidgetName (str): A name of the dock widget. iface (QgisInterface): A reference to the QgisInterface. pluginDir (QDir): A plugin directory. """ self.dW = parentWidget self.dWName = dockWidgetName self.iface = iface self.pluginDir = pluginDir super(ToolBar, self).__init__(self.dW) self._setup_self() def _setup_self(self): """Sets up self.""" self.setObjectName(u'toolbar') self._build_widgets() def _build_widgets(self): """Builds own widgets.""" self.iface.initializationCompleted.connect(self._set_icon_size) iconsDir = QDir(self.pluginDir.path() + u'/data/icons') self.openTabActionGroup = QActionGroup(self) self.loadVfkAction = QAction(self) self.loadVfkAction.setObjectName(u'loadVfkAction') self.loadVfkAction.setToolTip(u'Načtení VFK souboru') self.loadVfkAction.setCheckable(True) loadVfkIcon = QIcon() loadVfkIcon.addPixmap(QPixmap(iconsDir.filePath(u'loadvfk.png'))) self.loadVfkAction.setIcon(loadVfkIcon) self.openTabActionGroup.addAction(self.loadVfkAction) self.addAction(self.loadVfkAction) self.loadVfkAction.trigger() self.editAction = QAction(self) self.editAction.setObjectName(u'editAction') self.editAction.setToolTip(u'Editace') self.editAction.setCheckable(True) editIcon = QIcon() editIcon.addPixmap(QPixmap(iconsDir.filePath(u'edit.png'))) self.editAction.setIcon(editIcon) self.openTabActionGroup.addAction(self.editAction) self.addAction(self.editAction) self.checkAnalysisAction = QAction(self) self.checkAnalysisAction.setObjectName(u'checkAnalysisAction') self.checkAnalysisAction.setToolTip(u'Kontroly a analýzy') self.checkAnalysisAction.setCheckable(True) checkIcon = QIcon() checkIcon.addPixmap(QPixmap(iconsDir.filePath(u'checkanalysis.png'))) self.checkAnalysisAction.setIcon(checkIcon) self.openTabActionGroup.addAction(self.checkAnalysisAction) self.addAction(self.checkAnalysisAction) self.addSeparator() self.zoomFullExtentAction = self.iface.actionZoomFullExtent() self.addAction(self.zoomFullExtentAction) self.zoomToSelectedAction = self.iface.actionZoomToSelected() self.addAction(self.zoomToSelectedAction) self.selectToolButton = QToolButton(self) self.selectToolButton.setObjectName(u'selectToolButton') self.selectToolButton.setPopupMode(1) self.selectRectangleAction = self.iface.actionSelectRectangle() self.selectToolButton.addAction(self.selectRectangleAction) self.selectPolygonAction = self.iface.actionSelectPolygon() self.selectToolButton.addAction(self.selectPolygonAction) self.selectFreehandAction = self.iface.actionSelectFreehand() self.selectToolButton.addAction(self.selectFreehandAction) self.selectRadiusAction = self.iface.actionSelectRadius() self.selectToolButton.addAction(self.selectRadiusAction) for action in self.iface.attributesToolBar().actions(): if action.objectName() == 'ActionSelect': self.qgisSelectToolButton = action.defaultWidget() break self.qgisSelectToolButton.toggled.connect( self._set_default_action_selectToolButton) self._set_default_action_selectToolButton() self.addWidget(self.selectToolButton) self.selectionToolButton = QToolButton(self) self.selectionToolButton.setObjectName(u'selectionToolButton') self.selectionToolButton.setPopupMode(1) for action in self.iface.attributesToolBar().actions(): if action.objectName() == 'ActionSelection': self.qgisSelectionToolButton = action.defaultWidget() break self.selectionToolButton.addActions( self.qgisSelectionToolButton.actions()) self.selectionToolButton.setDefaultAction( self.qgisSelectionToolButton.defaultAction()) self.addWidget(self.selectionToolButton) for action in self.iface.attributesToolBar().actions(): if action.objectName() == 'mActionDeselectAll': self.deselectAllAction = action break self.addAction(self.deselectAllAction) self.openTableAction = self.iface.actionOpenTable() self.addAction(self.openTableAction) def _set_icon_size(self): """Sets icon size according to the current QGIS settings.""" self.setIconSize(self.iface.mainWindow().iconSize()) def _set_default_action_selectToolButton(self): """Sets selectToolButton's default action.""" self.selectToolButton.setDefaultAction( self.qgisSelectToolButton.defaultAction())