diff --git a/doc/api_break.dox b/doc/api_break.dox index 5c1f44ba2db..5a2389f34d1 100644 --- a/doc/api_break.dox +++ b/doc/api_break.dox @@ -2431,6 +2431,7 @@ displayExpression instead. For the map tip use mapTipTemplate() instead. - addPart() now returns QgsGeometry::OperationResult enum, integer representation of returned values may have changed - splitParts() now returns QgsGeometry::OperationResult enum, integer representation of returned values may have changed - splitFeatured() now returns QgsGeometry::OperationResult enum, integer representation of returned values may have changed +- pendingFields() was dropped. Use fields() instead. QgsVectorLayerEditBuffer {#qgis_api_break_3_0_QgsVectorLayerEditBuffer} diff --git a/python/core/qgsvectorlayer.sip b/python/core/qgsvectorlayer.sip index 476ddb7e60c..a595992b01e 100644 --- a/python/core/qgsvectorlayer.sip +++ b/python/core/qgsvectorlayer.sip @@ -1391,15 +1391,6 @@ Return new instance of QgsMapLayerRenderer that will be used for rendering of gi Returns the list of fields of this layer. This also includes fields which have not yet been saved to the provider. -:return: A list of fields -%End - - QgsFields pendingFields() const; -%Docstring -Returns the list of fields of this layer. -This also includes fields which have not yet been saved to the provider. -Alias for fields() - :return: A list of fields %End diff --git a/src/core/qgspallabeling.cpp b/src/core/qgspallabeling.cpp index 68d8aad63a1..74ea88c9623 100644 --- a/src/core/qgspallabeling.cpp +++ b/src/core/qgspallabeling.cpp @@ -1186,7 +1186,7 @@ void QgsPalLayerSettings::registerFeature( QgsFeature &f, QgsRenderContext &cont return; } -// mCurFields = &layer->pendingFields(); +// mCurFields = &layer->fields(); // store data defined-derived values for later adding to label feature for use during rendering dataDefinedValues.clear(); diff --git a/src/core/qgsvectorlayer.cpp b/src/core/qgsvectorlayer.cpp old mode 100755 new mode 100644 index 34db27ec086..f6e8afcfc72 --- a/src/core/qgsvectorlayer.cpp +++ b/src/core/qgsvectorlayer.cpp @@ -4093,7 +4093,7 @@ QString QgsVectorLayer::htmlMetadata() const myMetadata += QLatin1String( "\n" ); } - const QgsFields &myFields = pendingFields(); + const QgsFields myFields = fields(); // count fields myMetadata += QStringLiteral( "" ) + tr( "Count" ) + QStringLiteral( "" ) + QString::number( myFields.size() ) + QStringLiteral( "\n" ); diff --git a/src/core/qgsvectorlayer.h b/src/core/qgsvectorlayer.h index 8a2d8f0cc46..48c56edb4f8 100644 --- a/src/core/qgsvectorlayer.h +++ b/src/core/qgsvectorlayer.h @@ -1302,15 +1302,6 @@ class CORE_EXPORT QgsVectorLayer : public QgsMapLayer, public QgsExpressionConte */ inline QgsFields fields() const override { return mFields; } - /** - * Returns the list of fields of this layer. - * This also includes fields which have not yet been saved to the provider. - * Alias for fields() - * - * \returns A list of fields - */ - inline QgsFields pendingFields() const { return mFields; } - /** * Returns list of attribute indexes. i.e. a list from 0 ... fieldCount() * Alias for attributeList() diff --git a/src/core/qgsvectorlayereditbuffer.cpp b/src/core/qgsvectorlayereditbuffer.cpp index 604a4757ea9..800ade2ad75 100644 --- a/src/core/qgsvectorlayereditbuffer.cpp +++ b/src/core/qgsvectorlayereditbuffer.cpp @@ -385,7 +385,7 @@ bool QgsVectorLayerEditBuffer::commitChanges( QStringList &commitErrors ) QString list = "ERROR: Pending attribute deletes:"; Q_FOREACH ( int idx, mDeletedAttributeIds ) { - list.append( ' ' + L->pendingFields().at( idx ).name() ); + list.append( ' ' + L->fields().at( idx ).name() ); } commitErrors << list; #endif @@ -529,7 +529,7 @@ bool QgsVectorLayerEditBuffer::commitChanges( QStringList &commitErrors ) list.append( "\n " + FID_TO_STRING( id ) + '[' ); Q_FOREACH ( int idx, mChangedAttributeValues[ id ].keys() ) { - list.append( QString( " %1:%2" ).arg( L->pendingFields().at( idx ).name() ).arg( mChangedAttributeValues[id][idx].toString() ) ); + list.append( QString( " %1:%2" ).arg( L->fields().at( idx ).name() ).arg( mChangedAttributeValues[id][idx].toString() ) ); } list.append( " ]" ); } @@ -619,9 +619,9 @@ bool QgsVectorLayerEditBuffer::commitChanges( QStringList &commitErrors ) Q_FOREACH ( QgsFeature f, mAddedFeatures ) { list.append( ' ' + FID_TO_STRING( f.id() ) + '[' ); - for ( int i = 0; i < L->pendingFields().size(); i++ ) + for ( int i = 0; i < L->fields().size(); i++ ) { - list.append( QString( " %1:%2" ).arg( L->pendingFields().at( i ).name() ).arg( f.attributes()[i].toString() ) ); + list.append( QString( " %1:%2" ).arg( L->fields().at( i ).name() ).arg( f.attributes()[i].toString() ) ); } list.append( " ]" ); } diff --git a/src/plugins/globe/featuresource/qgsglobefeaturesource.cpp b/src/plugins/globe/featuresource/qgsglobefeaturesource.cpp index f8f1a154925..254d2f8815f 100644 --- a/src/plugins/globe/featuresource/qgsglobefeaturesource.cpp +++ b/src/plugins/globe/featuresource/qgsglobefeaturesource.cpp @@ -63,7 +63,7 @@ void QgsGlobeFeatureSource::initialize( const osgDB::Options *dbOptions ) } QgsRectangle ext = mLayer->extent(); osgEarth::GeoExtent geoext( ref, ext.xMinimum(), ext.yMinimum(), ext.xMaximum(), ext.yMaximum() ); - mSchema = QgsGlobeFeatureUtils::schemaForFields( mLayer->pendingFields() ); + mSchema = QgsGlobeFeatureUtils::schemaForFields( mLayer->fields() ); #if OSGEARTH_VERSION_GREATER_OR_EQUAL(2, 8, 0) setFeatureProfile( new osgEarth::Features::FeatureProfile( geoext ) ); return osgEarth::Status( osgEarth::Status::NoError ); @@ -139,7 +139,7 @@ void QgsGlobeFeatureSource::attributeValueChanged( const QgsFeatureId &featureId if ( it != mFeatures.end() ) { osgEarth::Features::Feature *feature = it->second.get(); - QgsGlobeFeatureUtils::setFeatureField( feature, mLayer->pendingFields().at( idx ), value ); + QgsGlobeFeatureUtils::setFeatureField( feature, mLayer->fields().at( idx ), value ); } } diff --git a/src/plugins/globe/featuresource/qgsglobefeatureutils.h b/src/plugins/globe/featuresource/qgsglobefeatureutils.h index 7125c19af10..14dfbd0eb82 100644 --- a/src/plugins/globe/featuresource/qgsglobefeatureutils.h +++ b/src/plugins/globe/featuresource/qgsglobefeatureutils.h @@ -159,7 +159,7 @@ class QgsGlobeFeatureUtils osgEarth::SpatialReference *ref = osgEarth::SpatialReference::create( layer->crs().toWkt().toStdString() ); osgEarth::Features::Feature *retFeat = new osgEarth::Features::Feature( nGeom, ref, osgEarth::Style(), feat.id() ); - const QgsFields &fields = layer->pendingFields(); + const QgsFields fields = layer->fields(); const QgsAttributes &attrs = feat.attributes(); for ( int idx = 0, numFlds = fields.size(); idx < numFlds; ++idx ) diff --git a/src/server/services/wfs/qgswfsdescribefeaturetype.cpp b/src/server/services/wfs/qgswfsdescribefeaturetype.cpp index 7dcd4511d24..f12a59b1175 100644 --- a/src/server/services/wfs/qgswfsdescribefeaturetype.cpp +++ b/src/server/services/wfs/qgswfsdescribefeaturetype.cpp @@ -248,7 +248,7 @@ namespace QgsWfs sequenceElem.appendChild( geomElem ); //Attributes - const QgsFields &fields = layer->pendingFields(); + QgsFields fields = layer->fields(); //hidden attributes for this layer const QSet &layerExcludedAttributes = layer->excludeAttributesWfs(); for ( int idx = 0; idx < fields.count(); ++idx ) diff --git a/src/server/services/wfs/qgswfsgetfeature.cpp b/src/server/services/wfs/qgswfsgetfeature.cpp index e641864acd0..7baf6f9ca9e 100644 --- a/src/server/services/wfs/qgswfsgetfeature.cpp +++ b/src/server/services/wfs/qgswfsgetfeature.cpp @@ -247,7 +247,7 @@ namespace QgsWfs withGeom = false; QStringList::const_iterator plstIt; QList idxList; - QgsFields fields = vlayer->pendingFields(); + QgsFields fields = vlayer->fields(); QString fieldName; for ( plstIt = propertyList.begin(); plstIt != propertyList.end(); ++plstIt ) { @@ -294,11 +294,11 @@ namespace QgsWfs QStringList attributes = QStringList(); Q_FOREACH ( int idx, attrIndexes ) { - attributes.append( vlayer->pendingFields().field( idx ).name() ); + attributes.append( vlayer->fields().field( idx ).name() ); } featureRequest.setSubsetOfAttributes( accessControl->layerAttributes( vlayer, attributes ), - vlayer->pendingFields() ); + vlayer->fields() ); } if ( onlyOneLayer ) diff --git a/src/server/services/wms/qgswmsgetcapabilities.cpp b/src/server/services/wms/qgswmsgetcapabilities.cpp index a684ead37fd..f999e56325f 100644 --- a/src/server/services/wms/qgswmsgetcapabilities.cpp +++ b/src/server/services/wms/qgswmsgetcapabilities.cpp @@ -1663,7 +1663,7 @@ namespace QgsWms //attributes QDomElement attributesElem = doc.createElement( QStringLiteral( "Attributes" ) ); - const QgsFields &layerFields = vLayer->pendingFields(); + const QgsFields layerFields = vLayer->fields(); for ( int idx = 0; idx < layerFields.count(); ++idx ) { QgsField field = layerFields.at( idx ); diff --git a/src/server/services/wms/qgswmsrenderer.cpp b/src/server/services/wms/qgswmsrenderer.cpp index a59c60251a3..de576badfa4 100644 --- a/src/server/services/wms/qgswmsrenderer.cpp +++ b/src/server/services/wms/qgswmsrenderer.cpp @@ -266,7 +266,7 @@ namespace QgsWms { std::unique_ptr< QgsFeatureRenderer > r( vl->renderer()->clone() ); bool moreSymbolsPerFeature = r->capabilities() & QgsFeatureRenderer::MoreSymbolsPerFeature; - r->startRender( context, vl->pendingFields() ); + r->startRender( context, vl->fields() ); QgsFeature f; QgsFeatureRequest request( context.extent() ); request.setFlags( QgsFeatureRequest::ExactIntersect ); @@ -821,7 +821,7 @@ namespace QgsWms int layerAttribute = -1; if ( layerAttributes.size() > layerIdx ) { - layerAttribute = vlayer->pendingFields().indexFromName( layerAttributes.at( layerIdx ) ); + layerAttribute = vlayer->fields().indexFromName( layerAttributes.at( layerIdx ) ); } dxfLayers.append( qMakePair( vlayer, layerAttribute ) ); @@ -1401,7 +1401,7 @@ namespace QgsWms QgsAttributes featureAttributes; int featureCounter = 0; layer->updateFields(); - const QgsFields &fields = layer->pendingFields(); + const QgsFields fields = layer->fields(); bool addWktGeometry = ( QgsServerProjectUtils::wmsFeatureInfoAddWktGeometry( *mProject ) && mWmsParameters.withGeometry() ); bool segmentizeWktGeometry = QgsServerProjectUtils::wmsFeatureInfoSegmentizeWktGeometry( *mProject ); const QSet &excludedAttributes = layer->excludeAttributesWms(); @@ -1429,19 +1429,19 @@ namespace QgsWms QStringList attributes; QgsField field; - Q_FOREACH ( field, layer->pendingFields().toList() ) + Q_FOREACH ( field, layer->fields().toList() ) { attributes.append( field.name() ); } attributes = mAccessControl->layerAttributes( layer, attributes ); - fReq.setSubsetOfAttributes( attributes, layer->pendingFields() ); + fReq.setSubsetOfAttributes( attributes, layer->fields() ); #endif QgsFeatureIterator fit = layer->getFeatures( fReq ); std::unique_ptr< QgsFeatureRenderer > r2( layer->renderer() ? layer->renderer()->clone() : nullptr ); if ( r2 ) { - r2->startRender( renderContext, layer->pendingFields() ); + r2->startRender( renderContext, layer->fields() ); } bool featureBBoxInitialized = false; @@ -2432,7 +2432,7 @@ namespace QgsWms } // create feature with label if necessary - QgsFeature fet( layer->pendingFields() ); + QgsFeature fet( layer->fields() ); if ( ! param.mLabel.isEmpty() ) { fet.setAttribute( 0, param.mLabel ); diff --git a/tests/src/python/offlineditingtestbase.py b/tests/src/python/offlineditingtestbase.py index 0cd514a0755..7ad247909e9 100644 --- a/tests/src/python/offlineditingtestbase.py +++ b/tests/src/python/offlineditingtestbase.py @@ -67,7 +67,7 @@ class OfflineTestBase(object): layer = self._getLayer('test_point') assert layer.startEditing() for id, name, geom in TEST_FEATURES: - f = QgsFeature(layer.pendingFields()) + f = QgsFeature(layer.fields()) f['id'] = id f['name'] = name f.setGeometry(QgsGeometry.fromPointXY(geom)) @@ -271,7 +271,7 @@ class OfflineTestBase(object): self.assertTrue(offline_layer.startEditing()) features = [] for id, name, geom in TEST_FEATURES_INSERT: - f = QgsFeature(offline_layer.pendingFields()) + f = QgsFeature(offline_layer.fields()) f['id'] = id f['name'] = name f.setGeometry(QgsGeometry.fromPointXY(geom)) diff --git a/tests/src/python/test_qgsexpressionbuilderwidget.py b/tests/src/python/test_qgsexpressionbuilderwidget.py index 090102e20dc..b5e2771f1b2 100644 --- a/tests/src/python/test_qgsexpressionbuilderwidget.py +++ b/tests/src/python/test_qgsexpressionbuilderwidget.py @@ -32,13 +32,13 @@ def createReferencingLayer(): "referencinglayer", "memory") pr = layer.dataProvider() f1 = QgsFeature() - f1.setFields(layer.pendingFields()) + f1.setFields(layer.fields()) f1.setAttributes(["test1", 123]) f2 = QgsFeature() - f2.setFields(layer.pendingFields()) + f2.setFields(layer.fields()) f2.setAttributes(["test2", 123]) f3 = QgsFeature() - f3.setFields(layer.pendingFields()) + f3.setFields(layer.fields()) f3.setAttributes(["foobar'bar", 124]) assert pr.addFeatures([f1, f2, f3]) return layer @@ -50,13 +50,13 @@ def createReferencedLayer(): "referencedlayer", "memory") pr = layer.dataProvider() f1 = QgsFeature() - f1.setFields(layer.pendingFields()) + f1.setFields(layer.fields()) f1.setAttributes(["foo", 123, 321]) f2 = QgsFeature() - f2.setFields(layer.pendingFields()) + f2.setFields(layer.fields()) f2.setAttributes(["bar", 456, 654]) f3 = QgsFeature() - f3.setFields(layer.pendingFields()) + f3.setFields(layer.fields()) f3.setAttributes(["foobar'bar", 789, 554]) assert pr.addFeatures([f1, f2, f3]) return layer diff --git a/tests/src/python/test_qgsfeatureiterator.py b/tests/src/python/test_qgsfeatureiterator.py index 3a32cf4510c..0f048213718 100644 --- a/tests/src/python/test_qgsfeatureiterator.py +++ b/tests/src/python/test_qgsfeatureiterator.py @@ -103,13 +103,13 @@ class TestQgsFeatureIterator(unittest.TestCase): def addFeatures(self, vl): feat = QgsFeature() - fields = vl.pendingFields() + fields = vl.fields() feat.setFields(fields) feat['Staff'] = 4 vl.addFeature(feat) feat = QgsFeature() - fields = vl.pendingFields() + fields = vl.fields() feat.setFields(fields) feat['Staff'] = 2 vl.addFeature(feat) @@ -149,7 +149,7 @@ class TestQgsFeatureIterator(unittest.TestCase): layer = QgsVectorLayer(myShpFile, 'Points', 'ogr') self.assertTrue(layer.isValid()) - cnt = layer.pendingFields().count() # NOQA + cnt = layer.fields().count() # NOQA idx = layer.addExpressionField('"exp3"*2', QgsField('exp1', QVariant.LongLong)) # NOQA idx = layer.addExpressionField('"exp1"-1', QgsField('exp2', QVariant.LongLong)) # NOQA idx = layer.addExpressionField('"exp2"*3', QgsField('exp3', QVariant.LongLong)) # NOQA diff --git a/tests/src/python/test_qgslayoutatlas.py b/tests/src/python/test_qgslayoutatlas.py index d27db6f5234..6154bc8a8a1 100644 --- a/tests/src/python/test_qgslayoutatlas.py +++ b/tests/src/python/test_qgslayoutatlas.py @@ -570,7 +570,7 @@ class TestQgsLayoutAtlas(unittest.TestCase): # rotate the map and test that the bounding rectangle # is smaller than the bounds without rotation. polygonLayer = QgsVectorLayer('Polygon', 'test_polygon', 'memory') - poly = QgsFeature(polygonLayer.pendingFields()) + poly = QgsFeature(polygonLayer.fields()) points = [(10, 15), (15, 10), (45, 40), (40, 45)] poly.setGeometry(QgsGeometry.fromPolygonXY([[QgsPointXY(x[0], x[1]) for x in points]])) polygonLayer.dataProvider().addFeatures([poly]) diff --git a/tests/src/python/test_qgsrelation.py b/tests/src/python/test_qgsrelation.py index 892eb4f9e11..7945ce0ca6d 100644 --- a/tests/src/python/test_qgsrelation.py +++ b/tests/src/python/test_qgsrelation.py @@ -34,15 +34,15 @@ def createReferencingLayer(): "referencinglayer", "memory") pr = layer.dataProvider() f1 = QgsFeature() - f1.setFields(layer.pendingFields()) + f1.setFields(layer.fields()) f1.setAttributes(["test1", 123]) f1.setGeometry(QgsGeometry.fromPointXY(QgsPointXY(100, 200))) f2 = QgsFeature() - f2.setFields(layer.pendingFields()) + f2.setFields(layer.fields()) f2.setAttributes(["test2", 123]) f2.setGeometry(QgsGeometry.fromPointXY(QgsPointXY(101, 201))) f3 = QgsFeature() - f3.setFields(layer.pendingFields()) + f3.setFields(layer.fields()) f3.setAttributes(["foobar'bar", 124]) f3.setGeometry(QgsGeometry.fromPointXY(QgsPointXY(101, 201))) assert pr.addFeatures([f1, f2, f3]) @@ -55,15 +55,15 @@ def createReferencedLayer(): "referencedlayer", "memory") pr = layer.dataProvider() f1 = QgsFeature() - f1.setFields(layer.pendingFields()) + f1.setFields(layer.fields()) f1.setAttributes(["foo", 123, 321]) f1.setGeometry(QgsGeometry.fromPointXY(QgsPointXY(1, 1))) f2 = QgsFeature() - f2.setFields(layer.pendingFields()) + f2.setFields(layer.fields()) f2.setAttributes(["bar", 456, 654]) f2.setGeometry(QgsGeometry.fromPointXY(QgsPointXY(2, 2))) f3 = QgsFeature() - f3.setFields(layer.pendingFields()) + f3.setFields(layer.fields()) f3.setAttributes(["foobar'bar", 789, 554]) f3.setGeometry(QgsGeometry.fromPointXY(QgsPointXY(2, 3))) assert pr.addFeatures([f1, f2, f3]) diff --git a/tests/src/python/test_qgsrenderer.py b/tests/src/python/test_qgsrenderer.py index e105defc977..ce1d9bae1ff 100644 --- a/tests/src/python/test_qgsrenderer.py +++ b/tests/src/python/test_qgsrenderer.py @@ -31,11 +31,11 @@ def createReferencingLayer(): "referencinglayer", "memory") pr = layer.dataProvider() f1 = QgsFeature() - f1.setFields(layer.pendingFields()) + f1.setFields(layer.fields()) f1.setAttributes(["test1", 123]) f1.setGeometry(QgsGeometry.fromPointXY(QgsPointXY(100, 200))) f2 = QgsFeature() - f2.setFields(layer.pendingFields()) + f2.setFields(layer.fields()) f2.setAttributes(["test2", 123]) f2.setGeometry(QgsGeometry.fromPointXY(QgsPointXY(101, 201))) assert pr.addFeatures([f1, f2]) diff --git a/tests/src/python/test_qgsserver_wfst.py b/tests/src/python/test_qgsserver_wfst.py index 839c89de269..f23f08b1d94 100644 --- a/tests/src/python/test_qgsserver_wfst.py +++ b/tests/src/python/test_qgsserver_wfst.py @@ -236,15 +236,15 @@ class TestWFST(unittest.TestCase): layer_name = 'test_point' layer = self._getLayer(layer_name) wfs_layer = self._getWFSLayer(layer_name) - feat1 = QgsFeature(wfs_layer.pendingFields()) + feat1 = QgsFeature(wfs_layer.fields()) feat1['id'] = 11 feat1.setGeometry(QgsGeometry.fromPointXY(QgsPointXY(9, 45))) - feat2 = QgsFeature(wfs_layer.pendingFields()) + feat2 = QgsFeature(wfs_layer.fields()) feat2.setGeometry(QgsGeometry.fromPointXY(QgsPointXY(9.5, 45.5))) feat2['id'] = 12 old_features = [feat1, feat2] # Change feat1 - new_feat1 = QgsFeature(wfs_layer.pendingFields()) + new_feat1 = QgsFeature(wfs_layer.fields()) new_feat1['id'] = 121 new_feat1.setGeometry(QgsGeometry.fromPointXY(QgsPointXY(10, 46))) new_features = [new_feat1, feat2] @@ -258,21 +258,21 @@ class TestWFST(unittest.TestCase): layer_name = 'test_point' layer = self._getLayer(layer_name) wfs_layer = self._getWFSLayer(layer_name) - feat1 = QgsFeature(wfs_layer.pendingFields()) + feat1 = QgsFeature(wfs_layer.fields()) feat1['id'] = 11 feat1['name'] = 'name 11' feat1.setGeometry(QgsGeometry.fromPointXY(QgsPointXY(9, 45))) - feat2 = QgsFeature(wfs_layer.pendingFields()) + feat2 = QgsFeature(wfs_layer.fields()) feat2.setGeometry(QgsGeometry.fromPointXY(QgsPointXY(9.5, 45.5))) feat2['id'] = 12 feat2['name'] = 'name 12' old_features = [feat1, feat2] # Change feat1 and feat2 - new_feat1 = QgsFeature(wfs_layer.pendingFields()) + new_feat1 = QgsFeature(wfs_layer.fields()) new_feat1['id'] = 121 new_feat1['name'] = 'name 121' new_feat1.setGeometry(QgsGeometry.fromPointXY(QgsPointXY(10, 46))) - new_feat2 = QgsFeature(wfs_layer.pendingFields()) + new_feat2 = QgsFeature(wfs_layer.fields()) new_feat2['id'] = 122 new_feat2['name'] = 'name 122' new_feat2.setGeometry(QgsGeometry.fromPointXY(QgsPointXY(10.5, 47))) @@ -286,17 +286,17 @@ class TestWFST(unittest.TestCase): layer_name = 'test_polygon' layer = self._getLayer(layer_name) wfs_layer = self._getWFSLayer(layer_name) - feat1 = QgsFeature(wfs_layer.pendingFields()) + feat1 = QgsFeature(wfs_layer.fields()) feat1['id'] = 11 feat1['name'] = 'name 11' feat1.setGeometry(QgsGeometry.fromRect(QgsRectangle(QgsPointXY(9, 45), QgsPointXY(10, 46)))) - feat2 = QgsFeature(wfs_layer.pendingFields()) + feat2 = QgsFeature(wfs_layer.fields()) feat2.setGeometry(QgsGeometry.fromRect(QgsRectangle(QgsPointXY(9.5, 45.5), QgsPointXY(10.5, 46.5)))) feat2['id'] = 12 feat2['name'] = 'name 12' old_features = [feat1, feat2] # Change feat1 - new_feat1 = QgsFeature(wfs_layer.pendingFields()) + new_feat1 = QgsFeature(wfs_layer.fields()) new_feat1['id'] = 121 new_feat1['name'] = 'name 121' new_feat1.setGeometry(QgsGeometry.fromRect(QgsRectangle(QgsPointXY(10, 46), QgsPointXY(11.5, 47.5)))) @@ -310,17 +310,17 @@ class TestWFST(unittest.TestCase): layer_name = 'test_linestring' layer = self._getLayer(layer_name) wfs_layer = self._getWFSLayer(layer_name) - feat1 = QgsFeature(wfs_layer.pendingFields()) + feat1 = QgsFeature(wfs_layer.fields()) feat1['id'] = 11 feat1['name'] = 'name 11' feat1.setGeometry(QgsGeometry.fromPolylineXY([QgsPointXY(9, 45), QgsPointXY(10, 46)])) - feat2 = QgsFeature(wfs_layer.pendingFields()) + feat2 = QgsFeature(wfs_layer.fields()) feat2.setGeometry(QgsGeometry.fromPolylineXY([QgsPointXY(9.5, 45.5), QgsPointXY(10.5, 46.5)])) feat2['id'] = 12 feat2['name'] = 'name 12' old_features = [feat1, feat2] # Change feat1 - new_feat1 = QgsFeature(wfs_layer.pendingFields()) + new_feat1 = QgsFeature(wfs_layer.fields()) new_feat1['id'] = 121 new_feat1['name'] = 'name 121' new_feat1.setGeometry(QgsGeometry.fromPolylineXY([QgsPointXY(9.8, 45.8), QgsPointXY(10.8, 46.8)])) diff --git a/tests/src/python/test_qgsvectorlayer.py b/tests/src/python/test_qgsvectorlayer.py index 95381b6b8c9..4d412272aa1 100755 --- a/tests/src/python/test_qgsvectorlayer.py +++ b/tests/src/python/test_qgsvectorlayer.py @@ -554,7 +554,7 @@ class TestQgsVectorLayer(unittest.TestCase, FeatureSourceTestCase): newF.setAttributes(["hello", 42]) def checkAfter(): - self.assertEqual(len(layer.pendingFields()), 2) + self.assertEqual(len(layer.fields()), 2) # check feature fi = layer.getFeatures() f = next(fi) @@ -688,7 +688,7 @@ class TestQgsVectorLayer(unittest.TestCase, FeatureSourceTestCase): newF.setAttributes(["hello", 42]) def checkAfter(): - self.assertEqual(len(layer.pendingFields()), 2) + self.assertEqual(len(layer.fields()), 2) # check feature f = next(layer.getFeatures()) self.assertEqual(f.geometry().asPoint(), QgsPointXY(2, 2)) @@ -781,7 +781,7 @@ class TestQgsVectorLayer(unittest.TestCase, FeatureSourceTestCase): def checkBefore(): # check fields - flds = layer.pendingFields() + flds = layer.fields() self.assertEqual(len(flds), 2) self.assertEqual(flds[0].name(), "fldtxt") self.assertEqual(flds[1].name(), "fldint") @@ -795,7 +795,7 @@ class TestQgsVectorLayer(unittest.TestCase, FeatureSourceTestCase): def checkAfter(): # check fields - flds = layer.pendingFields() + flds = layer.fields() self.assertEqual(len(flds), 3) self.assertEqual(flds[0].name(), "fldtxt") self.assertEqual(flds[1].name(), "fldint") @@ -850,13 +850,13 @@ class TestQgsVectorLayer(unittest.TestCase, FeatureSourceTestCase): fld1 = QgsField("fld1", QVariant.Int, "integer") def checkBefore(): - self.assertEqual(len(layer.pendingFields()), 2) + self.assertEqual(len(layer.fields()), 2) # check feature with self.assertRaises(StopIteration): next(layer.getFeatures()) def checkAfter(): - self.assertEqual(len(layer.pendingFields()), 3) + self.assertEqual(len(layer.fields()), 3) # check feature f = next(layer.getFeatures()) attrs = f.attributes() @@ -912,7 +912,7 @@ class TestQgsVectorLayer(unittest.TestCase, FeatureSourceTestCase): self.assertFalse(layer.deleteAttribute(0)) def checkBefore(): - flds = layer.pendingFields() + flds = layer.fields() self.assertEqual(len(flds), 3) self.assertEqual(flds[0].name(), "fldtxt") self.assertEqual(flds[1].name(), "fldint") @@ -932,7 +932,7 @@ class TestQgsVectorLayer(unittest.TestCase, FeatureSourceTestCase): self.assertTrue(layer.deleteAttribute(0)) def checkAfterOneDelete(): - flds = layer.pendingFields() + flds = layer.fields() # for fld in flds: print "FLD", fld.name() self.assertEqual(len(flds), 2) self.assertEqual(flds[0].name(), "fldint") @@ -952,7 +952,7 @@ class TestQgsVectorLayer(unittest.TestCase, FeatureSourceTestCase): def checkAfterTwoDeletes(): self.assertEqual(layer.pendingAllAttributesList(), [0]) - flds = layer.pendingFields() + flds = layer.fields() # for fld in flds: print "FLD", fld.name() self.assertEqual(len(flds), 1) self.assertEqual(flds[0].name(), "flddouble") @@ -984,7 +984,7 @@ class TestQgsVectorLayer(unittest.TestCase, FeatureSourceTestCase): fld1 = QgsField("fld1", QVariant.Int, "integer") def checkAfter(): # layer should be unchanged - flds = layer.pendingFields() + flds = layer.fields() self.assertEqual(len(flds), 2) self.assertEqual(flds[0].name(), "fldtxt") self.assertEqual(flds[1].name(), "fldint") @@ -1030,13 +1030,13 @@ class TestQgsVectorLayer(unittest.TestCase, FeatureSourceTestCase): newF.setAttributes(["hello", 42]) def checkBefore(): - self.assertEqual(len(layer.pendingFields()), 2) + self.assertEqual(len(layer.fields()), 2) # check feature with self.assertRaises(StopIteration): next(layer.getFeatures()) def checkAfter1(): - self.assertEqual(len(layer.pendingFields()), 2) + self.assertEqual(len(layer.fields()), 2) # check feature f = next(layer.getFeatures()) attrs = f.attributes() @@ -1045,7 +1045,7 @@ class TestQgsVectorLayer(unittest.TestCase, FeatureSourceTestCase): self.assertEqual(attrs[1], 42) def checkAfter2(): - self.assertEqual(len(layer.pendingFields()), 1) + self.assertEqual(len(layer.fields()), 1) # check feature f = next(layer.getFeatures()) attrs = f.attributes() @@ -1310,7 +1310,7 @@ class TestQgsVectorLayer(unittest.TestCase, FeatureSourceTestCase): def test_fields(self): layer = createLayerWithOnePoint() - flds = layer.pendingFields() + flds = layer.fields() self.assertEqual(flds.indexFromName("fldint"), 1) self.assertEqual(flds.indexFromName("fldXXX"), -1) @@ -1379,7 +1379,7 @@ class TestQgsVectorLayer(unittest.TestCase, FeatureSourceTestCase): layer.addJoin(join2) - flds = layer.pendingFields() + flds = layer.fields() self.assertEqual(len(flds), 6) self.assertEqual(flds[2].name(), "joinlayer_x") self.assertEqual(flds[3].name(), "joinlayer_z") @@ -1688,7 +1688,7 @@ class TestQgsVectorLayer(unittest.TestCase, FeatureSourceTestCase): def test_ExpressionField(self): layer = createLayerWithOnePoint() - cnt = layer.pendingFields().count() + cnt = layer.fields().count() idx = layer.addExpressionField('5', QgsField('test', QVariant.LongLong)) @@ -1708,7 +1708,7 @@ class TestQgsVectorLayer(unittest.TestCase, FeatureSourceTestCase): layer.removeExpressionField(idx) - self.assertEqual(layer.pendingFields().count(), cnt) + self.assertEqual(layer.fields().count(), cnt) # expression field which references itself idx = layer.addExpressionField('sum(test2)', QgsField('test2', QVariant.LongLong))