def create_action_for_item(self, item): """ Create a QAction instance for the widget description item. """ name = item.text() tooltip = item.toolTip() whatsThis = item.whatsThis() icon = item.icon() if icon: action = QAction(icon, name, self, toolTip=tooltip, whatsThis=whatsThis, statusTip=name) else: action = QAction(name, self, toolTip=tooltip, whatsThis=whatsThis, statusTip=name) widget_desc = item.data(self.WIDGET_DESC_ROLE) action.setData(widget_desc) action.setProperty("item", item) return action
def loadpages(self, pages): def safe_connect(method, to): try: method.connect(to) except AttributeError: pass for PageClass in pages: action = QAction(self.menutoolbar) text = PageClass.title.ljust(13) action.setIconText(text) action.setIcon(QIcon(PageClass.icon)) action.setCheckable(True) if PageClass.projectpage: action.setVisible(False) self.projectbuttons.append(action) self.menutoolbar.insertAction(self.spaceraction, action) else: self.menutoolbar.insertAction(self.actionProject, action) iface = RoamInterface(RoamEvents, GPS, self) pagewidget = PageClass(iface, self) safe_connect(RoamEvents.selectionchanged, pagewidget.selection_changed) safe_connect(RoamEvents.projectloaded, pagewidget.project_loaded) pageindex = self.stackedWidget.insertWidget(-1, pagewidget) action.setProperty('page', pageindex) self.pluginactions.append(action) self.menuGroup.addAction(action)
def createCaptureButtons(self, form, wasselected): tool = form.getMaptool()(self.canvas) action = QAction(QIcon(":/icons/capture"), "Capture", None) action.setObjectName("capture") action.setCheckable(True) action.toggled.connect(partial(self.setMapTool, tool)) if isinstance(tool, PointTool): add = partial(self.addNewFeature, form) tool.geometryComplete.connect(add) else: tool.finished.connect(self.openForm) tool.error.connect(partial(self.showToolError, form.label)) # Set the action as a data entry button so we can remove it later. action.setProperty("dataentry", True) self.actionGPSFeature.setVisible(not tool.isEditTool()) self.projecttoolbar.insertAction(self.topspaceraction, action) self.projecttoolbar.insertAction(self.topspaceraction, self.actionGPSFeature) self.editgroup.addAction(action) self.layerbuttons.append(action) action.setChecked(wasselected)