def testSubsetAttributes(self): req = QgsFeatureRequest() self.assertFalse(req.subsetOfAttributes()) self.assertFalse(req.flags() & QgsFeatureRequest.SubsetOfAttributes) req.setSubsetOfAttributes([1, 4]) self.assertEqual(req.subsetOfAttributes(), [1, 4]) self.assertTrue(req.flags() & QgsFeatureRequest.SubsetOfAttributes) req.setNoAttributes() self.assertEqual(req.subsetOfAttributes(), []) self.assertTrue(req.flags() & QgsFeatureRequest.SubsetOfAttributes) req.setSubsetOfAttributes([]) self.assertFalse(req.subsetOfAttributes()) self.assertTrue(req.flags() & QgsFeatureRequest.SubsetOfAttributes) req.setFlags(QgsFeatureRequest.Flags()) f = QgsFields() f.append(QgsField('a', QVariant.String)) f.append(QgsField('b', QVariant.String)) f.append(QgsField('c', QVariant.String)) req.setSubsetOfAttributes(['a', 'c'], f) self.assertEqual(req.subsetOfAttributes(), [0, 2]) self.assertTrue(req.flags() & QgsFeatureRequest.SubsetOfAttributes)
def __init__(self, plugin): """Tool initialization""" QgsMapTool.__init__(self, plugin.canvas) self.canvas = plugin.canvas self.plugin = plugin self.featuresFound = [] self.ixFeature = 0 self.__pos = None self.chooserDlg = None self.request = QgsFeatureRequest() self.request.setFlags( QgsFeatureRequest.Flags(QgsFeatureRequest.NoGeometry | QgsFeatureRequest.ExactIntersect))