27 Commits

Author SHA1 Message Date
Nyall Dawson
92af1dacaf Replace default constructors/destructors with = default 2017-10-01 06:52:14 +10:00
Nyall Dawson
a87d352bd7 Run clang-tidy modernize-use-default-member-init to move member
initialization to headers (c++11 style)
2017-09-27 05:02:34 +10:00
Nyall Dawson
4b009f96ec Use std::round instead of qRound
Now that our minimum VS studio version allowed supports std::round,
we should use that in place of Qt's qRound method.

Because:
- it doesn't truncate to int, resulting in unpredictable
behaviour (refs #16925)
- better to stick to standard c++ methods wherever possible,
since they're likely better supported and optimised by the
compilers
- it's a tiny reduction to the barrier for entry to QGIS
development (I'm sick of pointing out the need to use
qRound during PR reviews!)
2017-08-25 02:35:27 +10:00
Juergen E. Fischer
b9162dccdf scripts/astyle-all.sh run 2017-03-03 15:37:12 +01:00
Nyall Dawson
d19e70700f Ensure all pointer variables are initialized to nullptr 2017-02-18 20:23:18 +10:00
Matthias Kuhn
dfd9833467 Let all tests work with a proper QgsApplication instance 2016-12-20 01:20:08 +01:00
Nyall Dawson
4166a3ea62 Fix most clazy qstring-unneeded-heap-allocations warnings
By flipping string literals to QStringLiteral/QLatin1String

see

https://woboq.com/blog/qstringliteral.html
2016-10-24 15:26:24 +10:00
Matthias Kuhn
bb79d13e82 Remove deprecated Qgis::WKBType and API cleanup (#3325)
* Remove deprecated Qgis::WKBType and API cleanup

Renames QgsWKBTypes to QgsWkbTypes

Replaces usage of the enums:

* Qgis::WKBType with QgsWkbTypes::Type
* Qgis::GeometryType with QgsWkbTypes::GeometryType

Their values should be forward compatible (a fact that was already
explited up to now by casting between the types)

Renames some SSLxxx to SslXxx and URIxxx to UriXxx

* Fix build warnings and simplify type handling

* Add a fixer to rewrite imports

* The forgotten rebase conflictThe forgotten rebase conflicts

* QgsDataSourcURI > QgsDataSourceUri

* QgsWKBTypes > QgsWkbTypes

* Qgis.WKBGeom > QgsWkbTypes.Geom

* Further python fixes

* Guess what... Qgis::wkbDimensions != QgsWkbTypes::wkbDimensions

* Fix tests

* Python 3 updates

* [travis] pull request caching cannot be disabled

so at least use it in r/w mode

* Fix python3 print in plugins
2016-08-04 09:10:08 +02:00
Nyall Dawson
bd7d913379 Refine QgsFeature geometry getters/setters
All pointer based methods have been removed.

Now we have only:

  void setGeometry( const QgsGeometry& geom )

and

  QgsGeometry geometry() const

Benefits include avoiding a whole lot of tricky pointer lifetime
issues, potential memory leaks, and finally closing #777, which
has survived for over 9 years!...

Impacts on PyQGIS code:
- no more need for the messy
  g = QgsGeometry( feature.geometry() )
  workaround, just use g = feature.geometry() instead
- IMPORTANT: you can no longer test whether a feature has geometry
 using `if f.geometry():`, since QgsFeature::geometry() will
 *always* return an object. Instead, use
 `if not f.geometry().isEmpty():`, or preferably the new method
 `if not f.hasGeometry():`

Fix #777
2016-08-01 16:25:46 +10:00
Nyall Dawson
1a2231f10c Rename QGis class to Qgis, for capitalisation consistency 2016-07-21 22:01:38 +10:00
Nyall Dawson
c628c0f434 Rework includes to forward declare as much as possible
Should speed up recompilation when headers change
2016-07-18 19:10:19 +10:00
Nyall Dawson
4f7509530a Remove some unnecessary trailing ;
(Gets rid of annoying squiggle warnings from Qt Creator!)
2015-11-02 18:07:04 +11:00
Juergen E. Fischer
9b976cfe26 test cleanups and some fixes 2015-07-02 04:22:52 +02:00
Nyall Dawson
ac8d4df3bb Bump minimum Qt version to 4.8 2015-06-15 00:04:31 +02:00
Juergen E. Fischer
ed581aee78 indentation update II 2015-06-10 15:50:41 +02:00
Denis Rouzaud
9e3183c63f Revert "sort includes"
This reverts commit 2b7d3d3c73b50ba6dc74abec6dd652ff1b87c0ec.
2015-06-10 14:54:47 +02:00
Denis Rouzaud
2b7d3d3c73 sort includes 2015-06-10 13:59:08 +02:00
Nyall Dawson
2863f20d67 Add a const geometry getter to QgsFeature 2015-05-11 19:46:32 +10:00
Juergen E. Fischer
0f9397028e fix more cppcheck issues 2015-02-07 18:40:42 +01:00
Matthias Kuhn
78c519546a Add Qt5 support 2014-11-21 11:45:32 +01:00
Matthias Kuhn
1c2bdf1ea3 Switch tests to automoc
Required for Qt5 compatibility
Raises minimum CMake version to 2.8.6
2014-11-04 09:18:26 +01:00
Juergen E. Fischer
2800b4a04d fix windows build 2013-01-26 23:08:51 +01:00
Juergen E. Fischer
0ccff602e2 port oracle provider to new_vector_api
+ progress dialog in progress dialog
+ fix for feature form from attribute table
2013-01-23 01:11:14 +01:00
Martin Dobias
9317ffd89a Merge remote-tracking branch 'origin/master' into new_vector_api
Also disabled mapserver until compilation is fixed.
Fixed tests.

Conflicts:
	src/app/legend/qgslegendlayer.cpp
	src/app/qgsattributedialog.cpp
	src/app/qgsattributedialog.h
	src/app/qgslabelpropertydialog.cpp
	src/app/qgsmaptoollabel.cpp
	src/app/qgsvectorlayerproperties.cpp
	src/core/CMakeLists.txt
	src/core/composer/qgsatlascomposition.cpp
	src/core/qgsexpression.cpp
	src/core/qgspallabeling.cpp
	src/core/qgsvectorlayer.cpp
	src/core/qgsvectorlayer.h
	src/core/qgsvectorlayerimport.cpp
	src/mapserver/qgsprojectparser.cpp
	src/mapserver/qgswfsserver.cpp
	src/mapserver/qgswfsserver.h
	src/mapserver/qgswmsserver.cpp
	src/providers/postgres/qgspostgresprovider.cpp
	src/providers/spatialite/qgsspatialiteprovider.h
	tests/src/core/testqgsexpression.cpp
	tests/src/python/test_qgsmemoryprovider.py
2012-12-18 01:35:06 +01:00
Martin Dobias
8bf959093f QgsFeature: use a vector of attributes instead of a map (for faster access) 2012-10-19 00:31:03 +02:00
Martin Dobias
e110855e6c [API] added QgsFeatureIterator, changed QgsVectorProvider API
Vector data provider now has getFeatures() method to access features.
select(), nextFeature(), featureAtId(), rewind() were removed resp. moved to provider's feature iterator implementations.

Providers that currently do not implement the new API were disabled.
2012-10-08 17:47:51 +02:00
Martin Dobias
70ff8ef6dd Added select() variant with QgsFeatureRequest for simpler construction of requests 2012-10-08 17:14:45 +02:00