def refreshIndentifyParcelleTool(self): self.identyParcelleTool = IdentifyParcelle(self.mapCanvas) layer = self.qc.getLayerFromLegendByTableProps('geo_parcelle') if not layer: QMessageBox.critical( self.cadastre_search_dialog, "Cadastre", u"La couche des parcelles n'a pas été trouvée !") return self.iface.setActiveLayer(layer)
def setIndentifyParcelleTool(self): ''' Activite the identify tool for the layer geo_parcelle ''' # Find parcelle layer parcelleLayer = cadastre_common.getLayerFromLegendByTableProps('parcelle_info') if not parcelleLayer: QMessageBox.warning( self.cadastre_search_dialog, u"Cadastre", u"La couche de parcelles n'a pas été trouvée dans le projet" ) self.identifyParcelleAction.setChecked(False) self.iface.actionPan().trigger() return self.identyParcelleTool = IdentifyParcelle( self.mapCanvas, parcelleLayer ) self.identyParcelleTool.cadastreGeomIdentified.connect(self.getParcelleInfo) # The activate identify tool self.mapCanvas.setMapTool(self.identyParcelleTool)
def initGui(self): # Add Cadastre to QGIS menu self.cadastre_menu = QMenu( QCoreApplication.translate("cadastre", "Cadastre")) self.iface.mainWindow().menuBar().insertMenu( self.iface.firstRightStandardMenu().menuAction(), self.cadastre_menu) # Import Submenu icon = QIcon(os.path.dirname(__file__) + "/icons/database.png") self.import_action = QAction(icon, u"Importer des données", self.iface.mainWindow()) QObject.connect(self.import_action, SIGNAL("triggered()"), self.open_import_dialog) # Search Submenu icon = QIcon(os.path.dirname(__file__) + "/icons/search.png") self.search_action = QAction(icon, u"Outils de recherche", self.iface.mainWindow()) QObject.connect(self.search_action, SIGNAL("triggered()"), self.toggle_search_dialog) if not self.cadastre_search_dialog: dialog = cadastre_search_dialog(self.iface) self.cadastre_search_dialog = dialog self.qc = cadastre_common(dialog) # Load Submenu icon = QIcon(os.path.dirname(__file__) + "/icons/output.png") self.load_action = QAction(icon, u"Charger des données", self.iface.mainWindow()) QObject.connect(self.load_action, SIGNAL("triggered()"), self.open_load_dialog) # Options Submenu icon = QIcon(os.path.dirname(__file__) + "/icons/config.png") self.option_action = QAction(icon, u"Configurer le plugin", self.iface.mainWindow()) QObject.connect(self.option_action, SIGNAL("triggered()"), self.open_option_dialog) # About Submenu icon = QIcon(os.path.dirname(__file__) + "/icons/about.png") self.about_action = QAction(icon, u"À propos", self.iface.mainWindow()) QObject.connect(self.about_action, SIGNAL("triggered()"), self.open_about_dialog) # Help Submenu icon = QIcon(os.path.dirname(__file__) + "/icons/about.png") self.help_action = QAction(icon, u"Aide", self.iface.mainWindow()) QObject.connect(self.help_action, SIGNAL("triggered()"), self.open_help) # Add actions to Cadastre menu self.cadastre_menu.addAction(self.import_action) self.cadastre_menu.addAction(self.load_action) self.cadastre_menu.addAction(self.search_action) self.cadastre_menu.addAction(self.option_action) self.cadastre_menu.addAction(self.about_action) self.cadastre_menu.addAction(self.help_action) # Add cadastre toolbar self.toolbar = self.iface.addToolBar(u'Cadastre') # open import dialog self.openImportAction = QAction( QIcon(os.path.dirname(__file__) + "/icons/database.png"), u"Importer des données", self.iface.mainWindow()) self.openImportAction.triggered.connect(self.open_import_dialog) self.toolbar.addAction(self.openImportAction) # open load dialog self.openLoadAction = QAction( QIcon(os.path.dirname(__file__) + "/icons/output.png"), u"Charger des données", self.iface.mainWindow()) self.openLoadAction.triggered.connect(self.open_load_dialog) self.toolbar.addAction(self.openLoadAction) # open search dialog self.openSearchAction = QAction( QIcon(os.path.dirname(__file__) + "/icons/search.png"), u"Outils de recherche", self.iface.mainWindow()) self.openSearchAction.triggered.connect(self.toggle_search_dialog) #~ self.openSearchAction.setCheckable(True) self.toolbar.addAction(self.openSearchAction) # open Option dialog self.openOptionAction = QAction( QIcon(os.path.dirname(__file__) + "/icons/config.png"), u"Configurer le plugin", self.iface.mainWindow()) self.openOptionAction.triggered.connect(self.open_option_dialog) self.toolbar.addAction(self.openOptionAction) # open About dialog self.openAboutAction = QAction( QIcon(os.path.dirname(__file__) + "/icons/about.png"), u"À propos", self.iface.mainWindow()) self.openAboutAction.triggered.connect(self.open_about_dialog) self.toolbar.addAction(self.openAboutAction) # Create action for "Parcelle information" self.identifyParcelleAction = QAction( QIcon( os.path.dirname(__file__) + "/icons/toolbar/get-parcelle-info.png"), "Infos parcelle", self.iface.mainWindow()) self.identifyParcelleAction.setCheckable(True) self.identyParcelleTool = IdentifyParcelle(self.mapCanvas) self.identyParcelleTool.geomIdentified.connect(self.getParcelleInfo) self.identyParcelleTool.setAction(self.identifyParcelleAction) self.identifyParcelleAction.triggered.connect( self.setIndentifyParcelleTool) self.toolbar.addAction(self.identifyParcelleAction) # Display About window on first use s = QSettings() firstUse = s.value("cadastre/isFirstUse", 1, type=int) if firstUse == 1: s.setValue("cadastre/isFirstUse", 0) self.open_about_dialog() # refresh identify tool when new data loaded from cadastre_loading import cadastreLoading self.ql = cadastreLoading(self) self.ql.cadastreLoadingFinished.connect( self.refreshIndentifyParcelleTool)