From aceddae65a8066c0c50d30c3356884594e663ba4 Mon Sep 17 00:00:00 2001 From: Nyall Dawson Date: Sun, 31 Jul 2016 21:23:07 +1000 Subject: [PATCH] QgsFeature cleanup, part 1 Deprecate some QgsFeature methods which take or return pointers, update other classes as required --- doc/api_break.dox | 31 ++++ python/core/qgsfeature.sip | 45 ------ python/core/qgsvectorlayer.sip | 4 +- python/core/qgsvectorlayereditbuffer.sip | 4 +- python/core/qgsvectorlayereditpassthrough.sip | 2 +- python/core/qgsvectorlayerundocommand.sip | 2 +- python/gui/qgsrubberband.sip | 4 +- .../interpolation/DualEdgeTriangulation.cc | 3 +- src/analysis/vector/qgsgeometryanalyzer.cpp | 44 +++--- src/analysis/vector/qgsgeometryanalyzer.h | 6 +- src/analysis/vector/qgsoverlayanalyzer.cpp | 3 +- src/analysis/vector/qgspointsample.cpp | 3 +- src/analysis/vector/qgstransectsample.cpp | 48 +++---- src/analysis/vector/qgstransectsample.h | 7 +- src/app/gps/qgsgpsinformationwidget.cpp | 16 ++- src/app/nodetool/qgsmaptoolnodetool.cpp | 6 +- src/app/nodetool/qgsmaptoolnodetool.h | 4 +- src/app/nodetool/qgsselectedfeature.cpp | 16 +-- src/app/nodetool/qgsselectedfeature.h | 4 +- src/app/qgisapp.cpp | 61 ++++---- src/app/qgisapp.h | 4 +- src/app/qgsattributetabledialog.cpp | 2 +- src/app/qgsclipboard.cpp | 7 +- src/app/qgsfieldcalculator.cpp | 2 +- src/app/qgsmaptooladdfeature.cpp | 15 +- src/app/qgsmaptooldeletepart.cpp | 6 +- src/app/qgsmaptooldeletering.cpp | 11 +- src/app/qgsmaptoolfillring.cpp | 4 +- src/app/qgsmaptoollabel.cpp | 4 +- src/app/qgsmaptoolmovefeature.cpp | 4 +- src/app/qgsmaptooloffsetcurve.cpp | 77 +++++----- src/app/qgsmaptooloffsetcurve.h | 8 +- src/app/qgsmaptoolreshape.cpp | 10 +- src/app/qgsmaptoolrotatefeature.cpp | 4 +- src/app/qgsmaptoolsimplify.cpp | 4 +- src/app/qgsmergeattributesdialog.cpp | 2 +- src/core/qgsfeature.cpp | 66 +++------ src/core/qgsfeature.h | 42 +----- src/core/qgsfeature_p.h | 12 +- src/core/qgsgml.cpp | 16 ++- src/core/qgsofflineediting.cpp | 4 +- src/core/qgsogrutils.cpp | 10 +- src/core/qgsogrutils.h | 5 +- src/core/qgspointlocator.cpp | 12 +- src/core/qgspointlocator.h | 2 +- src/core/qgstracer.cpp | 10 +- src/core/qgstracer.h | 2 +- src/core/qgsvectorfilewriter.cpp | 34 +++-- src/core/qgsvectorfilewriter.h | 2 +- src/core/qgsvectorlayer.cpp | 6 +- src/core/qgsvectorlayer.h | 4 +- src/core/qgsvectorlayercache.cpp | 6 +- src/core/qgsvectorlayercache.h | 2 +- src/core/qgsvectorlayereditbuffer.cpp | 2 +- src/core/qgsvectorlayereditbuffer.h | 4 +- src/core/qgsvectorlayereditpassthrough.cpp | 6 +- src/core/qgsvectorlayereditpassthrough.h | 2 +- src/core/qgsvectorlayereditutils.cpp | 40 +++--- src/core/qgsvectorlayerfeatureiterator.cpp | 2 +- src/core/qgsvectorlayerimport.cpp | 4 +- src/core/qgsvectorlayerundocommand.cpp | 38 +++-- src/core/qgsvectorlayerundocommand.h | 6 +- .../qgsinvertedpolygonrenderer.cpp | 11 +- src/gui/qgshighlight.cpp | 4 +- src/gui/qgsmaptoolcapture.cpp | 4 +- src/gui/qgsrubberband.cpp | 26 ++-- src/gui/qgsrubberband.h | 4 +- .../checks/qgsgeometryanglecheck.cpp | 7 +- .../checks/qgsgeometryareacheck.cpp | 17 ++- .../checks/qgsgeometrycheck.cpp | 19 ++- .../checks/qgsgeometrycontainedcheck.cpp | 14 +- .../qgsgeometrydegeneratepolygoncheck.cpp | 6 +- .../checks/qgsgeometryduplicatecheck.cpp | 14 +- .../checks/qgsgeometryduplicatenodescheck.cpp | 7 +- .../checks/qgsgeometrygapcheck.cpp | 11 +- .../checks/qgsgeometryholecheck.cpp | 6 +- .../checks/qgsgeometrymultipartcheck.cpp | 8 +- .../checks/qgsgeometryoverlapcheck.cpp | 23 +-- .../checks/qgsgeometrysegmentlengthcheck.cpp | 7 +- .../qgsgeometryselfintersectioncheck.cpp | 19 ++- .../checks/qgsgeometrytypecheck.cpp | 12 +- .../geometry_checker/qgsgeometrychecker.cpp | 2 +- .../ui/qgsgeometrycheckerresulttab.cpp | 4 +- .../geometry_checker/utils/qgsfeaturepool.cpp | 2 +- .../geometry_snapper/qgsgeometrysnapper.cpp | 15 +- .../featuresource/qgsglobefeaturesource.cpp | 4 +- .../featuresource/qgsglobefeaturesource.h | 2 +- src/plugins/roadgraph/shortestpathwidget.cpp | 4 +- .../spatialquery/qgsrubberselectid.cpp | 2 +- src/plugins/spatialquery/qgsspatialquery.cpp | 19 ++- src/plugins/spatialquery/qgsspatialquery.h | 7 +- src/plugins/topology/checkDock.cpp | 8 +- src/plugins/topology/topolError.cpp | 11 +- src/plugins/topology/topolTest.cpp | 132 +++++++++--------- src/providers/arcgisrest/qgsafsprovider.cpp | 6 +- src/providers/arcgisrest/qgsamsprovider.cpp | 2 +- src/providers/db2/qgsdb2featureiterator.cpp | 8 +- .../qgsdelimitedtextfeatureiterator.cpp | 3 +- .../qgsdelimitedtextprovider.cpp | 9 +- src/providers/gpx/qgsgpxfeatureiterator.cpp | 10 +- src/providers/grass/qgis.v.in.cpp | 4 +- .../grass/qgsgrassfeatureiterator.cpp | 4 +- src/providers/grass/qgsgrassimport.cpp | 6 +- src/providers/grass/qgsgrassprovider.cpp | 8 +- src/providers/grass/qgsgrassprovider.h | 2 +- .../mssql/qgsmssqlfeatureiterator.cpp | 8 +- src/providers/ogr/qgsogrfeatureiterator.cpp | 4 +- .../oracle/qgsoraclefeatureiterator.cpp | 14 +- src/providers/oracle/qgsoracleprovider.cpp | 2 +- .../postgres/qgspostgresfeatureiterator.cpp | 6 +- .../qgsspatialitefeatureiterator.cpp | 10 +- .../qgsvirtuallayerfeatureiterator.cpp | 2 +- .../virtual/qgsvirtuallayerprovider.cpp | 2 +- src/providers/wfs/qgswfsfeatureiterator.cpp | 22 +-- src/providers/wfs/qgswfsshareddata.cpp | 11 +- src/providers/wms/qgswmsprovider.cpp | 12 +- src/server/qgswfsserver.cpp | 17 ++- src/server/qgswmsconfigparser.cpp | 3 +- src/server/qgswmsserver.cpp | 20 +-- tests/src/app/testqgisappclipboard.cpp | 6 +- tests/src/app/testqgsattributetable.cpp | 8 +- tests/src/app/testqgsfieldcalculator.cpp | 8 +- .../src/app/testqgsmaptoolidentifyaction.cpp | 18 ++- tests/src/core/testqgsconnectionpool.cpp | 4 +- tests/src/core/testqgsexpression.cpp | 46 ++++-- tests/src/core/testqgsfeature.cpp | 68 ++------- tests/src/core/testqgslegendrenderer.cpp | 24 +++- tests/src/core/testqgsmaprendererjob.cpp | 3 +- tests/src/core/testqgsogrutils.cpp | 10 +- tests/src/core/testqgspointlocator.cpp | 10 +- tests/src/core/testqgssnappingutils.cpp | 12 +- tests/src/core/testqgsspatialindex.cpp | 12 +- tests/src/core/testqgstracer.cpp | 6 +- tests/src/core/testqgsvectorfilewriter.cpp | 18 ++- tests/src/gui/testqgsrubberband.cpp | 12 +- .../providers/grass/testqgsgrassprovider.cpp | 10 +- 136 files changed, 873 insertions(+), 844 deletions(-) diff --git a/doc/api_break.dox b/doc/api_break.dox index 1c3d6f159f4..22191d2fd13 100644 --- a/doc/api_break.dox +++ b/doc/api_break.dox @@ -212,6 +212,15 @@ attributeIndexes(), pkAttributeIndexes(), isSaveAndLoadStyleToDBSupported() +\subsection qgis_api_break_3_0_QgsFeature QgsFeature + + + \subsection qgis_api_break_3_0_QgsGroupWMSDataDialog QgsGroupWMSDataDialog +\subsection qgis_api_break_3_0_QgsRubberBand QgsRubberBand + + + \subsection qgis_api_break_3_0_QgsPalLayerSettings QgsPalLayerSettings + +\subsection qgis_api_break_3_0_QgsVectorLayerEditBuffer QgsVectorLayerEditBuffer + + \subsection qgis_api_break_3_0_QgsVectorLayerImport QgsVectorLayerImport @@ -429,6 +453,13 @@ pointers makes for more robust, safer code. Use an invalid (default constructed) in code which previously passed a null pointer to QgsVectorLayerImport. +\subsection qgis_api_break_3_0_QgsVectorLayerUndoCommand QgsVectorLayerUndoCommand + + + + \subsection qgis_api_break_3_0_QgsPointLocator QgsPointLocator