def canvasReleaseEvent(self, mouseEvent): """ Identify the AIMS Feature(s) the user clicked @param mouseEvent: QtGui.QMouseEvent @type mouseEvent: QtGui.QMouseEvent """ self._feature = None self._iface.setActiveLayer(self._layers.addressLayer()) results = self.identify(mouseEvent.x(), mouseEvent.y(), self.ActiveLayer, self.VectorLayer) if len(results) == 0: return elif len(results) == 1: # initialise an address object and populate from selected feature self._feature = self._controller.uidm.singleFeatureObj( results[0].mFeature.attribute('addressId')) else: # Stacked points identifiedFeatures = [] for i in range(0, len(results)): identifiedFeatures.append( dict(fullAddress=results[i].mFeature.attribute( 'fullAddress'), addressId=results[i].mFeature.attribute('addressId'))) dlg = updateAddressDialog(self._iface.mainWindow()) updFeatures = dlg.selectFeatures(identifiedFeatures) if updFeatures: updFeatureIds = [d['addressId'] for d in updFeatures] for result in results: if result.mFeature.attribute('addressId') in updFeatureIds: self._feature = self._controller.uidm.singleFeatureObj( result.mFeature.attribute('addressId')) break # Open form if self._feature: # Hack to retrieve the properties missing on the # feature feed from the resolution feed respId = int(time.time()) self._controller.uidm.supplementAddress(self._feature, respId) self.feature = self._controller.RespHandler.handleResp( respId, FEEDS['AR'], 'supplement') # highlight feature self.setMarker(results[0].mFeature.geometry().asPoint()) self._controller._queues.uEditFeatureTab.setFeature( 'update', self._feature) self._controller._queues.tabWidget.setCurrentIndex(0) UiUtility.setEditability(self._controller._queues.uEditFeatureTab, 'update')
def NewAimsFeature( self, coords ): """ Get New Address Instance. Make Address Editing Form visible to user @param coords: QgsPoint @type coords: QgsPoint """ # init new address object and open form UiUtility.clearForm(self._controller._queues.tabWidget) coords = UiUtility.transform(self._iface, coords) self.setMarker(coords) addInstance = self.af.get() self._controller._queues.uEditFeatureTab.setFeature('add', addInstance, coords) self._controller._queues.tabWidget.setCurrentIndex(0) UiUtility.setEditability(self._controller._queues.uEditFeatureTab)
def canvasReleaseEvent(self, mouseEvent): """ Identify the AIMS Feature(s) the user clicked @param mouseEvent: QtGui.QMouseEvent @type mouseEvent: QtGui.QMouseEvent """ self._feature = None self._iface.setActiveLayer(self._layers.addressLayer()) results = self.identify(mouseEvent.x(), mouseEvent.y(), self.ActiveLayer, self.VectorLayer) if len(results) == 0: return elif len(results) == 1: # initialise an address object and populate from selected feature self._feature = self._controller.uidm.singleFeatureObj(results[0].mFeature.attribute('addressId')) else: # Stacked points identifiedFeatures=[] for i in range (0,len(results)): identifiedFeatures.append(dict( fullAddress=results[i].mFeature.attribute('fullAddress'), addressId= results[i].mFeature.attribute('addressId'))) dlg = updateAddressDialog(self._iface.mainWindow()) updFeatures = dlg.selectFeatures(identifiedFeatures) if updFeatures: updFeatureIds = [d['addressId'] for d in updFeatures] for result in results: if result.mFeature.attribute('addressId') in updFeatureIds: self._feature = self._controller.uidm.singleFeatureObj(result.mFeature.attribute('addressId')) break # Open form if self._feature: # Hack to retrieve the properties missing on the # feature feed from the resolution feed respId = int(time.time()) self._controller.uidm.supplementAddress(self._feature, respId) self.feature = self._controller.RespHandler.handleResp(respId, FEEDS['AR'], 'supplement') # highlight feature self.setMarker(results[0].mFeature.geometry().asPoint()) self._controller._queues.uEditFeatureTab.setFeature('update', self._feature ) self._controller._queues.tabWidget.setCurrentIndex(0) UiUtility.setEditability(self._controller._queues.uEditFeatureTab, 'update')
def NewAimsFeature(self, coords): """ Get New Address Instance. Make Address Editing Form visible to user @param coords: QgsPoint @type coords: QgsPoint """ # init new address object and open form UiUtility.clearForm(self._controller._queues.tabWidget) coords = UiUtility.transform(self._iface, coords) self.setMarker(coords) addInstance = self.af.get() self._controller._queues.uEditFeatureTab.setFeature( 'add', addInstance, coords) self._controller._queues.tabWidget.setCurrentIndex(0) UiUtility.setEditability(self._controller._queues.uEditFeatureTab)