9531 Commits

Author SHA1 Message Date
Nyall Dawson
08a9bcba0a Unify scale widgets API
Flip all scale based widgets to use scale denominators instead
of actual scales (ie 100.0 instead of 0.01 for 1:100).

This is done for consistency with the rest of the API, which
predominantly uses scale denominators. It also helps
precision loss as a result of multiple 1.0 / scale conversions
throughout the code.

Refs #15337
2017-06-09 09:11:10 +10:00
Nyall Dawson
482ed3f25a Explicitly mention in docs that presence of destination CRS does
not affect filter expressions or virtual field values
2017-06-09 09:00:04 +10:00
Nyall Dawson
e437812a68 Return an invalid iterator if a transform exception occurs
when projecting filter rects from destination crs
2017-06-09 08:57:00 +10:00
Nyall Dawson
7d847bf34a Rename transform methods for clarity 2017-06-09 08:41:46 +10:00
Nyall Dawson
9f71156a13 Merge pull request #4678 from nyalldawson/layer_scale
Swap QgsMapLayer min/max scale API definitions (unify scale api, pt 2)
2017-06-09 07:44:01 +10:00
Martin Dobias
2964c33d63 Reshape tool: use default Z value for 3D geometries 2017-06-08 21:56:21 +02:00
Denis Rouzaud
866bfc3db6 sipify core symbology part 2 2017-06-08 15:16:55 +02:00
Nyall Dawson
b6e1eea4c7 Handle request destinationCrs in QgsVectorLayerFeatureIterator 2017-06-08 19:20:07 +10:00
Nyall Dawson
a98923507e Allow specifying a destination CRS in QgsFeatureRequest
If set, all geometries will be reprojected from their original
coordinate reference system to the destination CRS while
iterating over features.

If a CRS has been set as the destination CRS, then the filterRect
parameter should be specified in the same CRS as this destination
CRS.

Additionally, a callback function can be specified on the request
to be called if a transform exception is encountered while
iterating over features.

This is designed to make it easier for scripts and plugins to
correctly reproject layers in an efficient and robust way, instead
of having to implement lots of repeated code themselves and
potentially missing some of the important considerations which
come with reprojecting geometries & bounding boxes.

Now, if a script wants the features from a layer in a specific
CRS, they can call:

    crs = QgsCoordinateReferenceSystem('epsg:4326')
    request = QgsFeatureRequest().setDestinationCrs(crs)
    for f in layer.getFeatures(reqeuest):
        print('geometry in 4326 is {}.format(f.geometry().exportToWkt()))
2017-06-08 19:20:07 +10:00
Harrissou Sant-anna
fcc06ce380 More typo fixes 2017-06-08 09:55:25 +02:00
Harrissou Sant-anna
a148a7890d Typo fix and list ordering 2017-06-08 09:55:25 +02:00
Nyall Dawson
7651f9fb71 Merge pull request #4698 from nyalldawson/cache_test
Add feature source test for QgsVectorLayerCache
2017-06-08 17:39:14 +10:00
Denis Rouzaud
9e176feeac gps fixes 2017-06-08 09:38:34 +02:00
Denis Rouzaud
e545d44c4f sipify core gps 2017-06-08 09:38:34 +02:00
Nyall Dawson
fbad91165c Add feature source test for QgsVectorLayerCache
While it's not a QgsFeatureSource subclass (yet), it behaves
just like one so when can run the feature source conformance
test suite over it.

Fix a few minor issues identified by the test suite, and one
potential crash (requesting an invalid id from a cache iterator
crashes qgis)
2017-06-08 16:59:21 +10:00
Denis Rouzaud
ed915e75a2 sipify gui part 1 2017-06-08 08:52:02 +02:00
Denis Rouzaud
a7c9cc8133 fix merge 2017-06-08 07:31:47 +02:00
Denis Rouzaud
41ceed3d77 [sipify] fix false virtual methods 2017-06-08 07:28:36 +02:00
Nyall Dawson
7d9cc131e8 Merge pull request #4657 from DelazJ/patch-1
Typo fix: Add missing spacing
2017-06-08 10:17:10 +10:00
Denis Rouzaud
6606d463d3 fix enum 2017-06-07 19:43:45 +02:00
Denis Rouzaud
542dc85433 sipify core symbology classes 2017-06-07 16:04:30 +02:00
Denis Rouzaud
9a40754fb8 sipify Qgis, QgsDxfExport 2017-06-07 12:03:22 +02:00
Nyall Dawson
64a86e3d6c Add an explicit argument to set QgsGeometryValidator method
Previously this was always read from settings when using
QgsGeometryValidator. It's now an explicit argument
when constructing QgsGeometryValidator or calling the
static validation methods, allowing choice of internal/GEOS
validation methods.

Helps remove more QgsSettings use from core.
2017-06-07 11:36:14 +10:00
Sandro Santilli
362d4f0697 Add DBManager test for service-only URI
Ref #16626

Also fixes runs with non-standard QGIS_PGTEST_DB env variable set
2017-06-06 14:56:40 +02:00
Nyall Dawson
de9e70e6ba Merge pull request #4684 from nyalldawson/processing_pt3
Add sourceExtent method to QgsFeatureSource
2017-06-06 21:50:45 +10:00
Alexander Bruy
80911c6e74 Merge pull request #4675 from alexbruy/processing-help
[processing] improve help system
2017-06-06 13:08:22 +03:00
Martin Dobias
51e7efe218 Replace QString::null by QString() in core (deprecated since Qt 5.9) 2017-06-06 11:36:41 +02:00
Alexander Bruy
e89502f43d fix help opening 2017-06-06 11:50:28 +03:00
Nyall Dawson
448f019e1f Port polygon from layer extent alg to new API 2017-06-06 18:29:09 +10:00
Sandro Santilli
7af47c2afa Add a raster table to the test postgis setup, use it from dbmanager test 2017-06-06 09:51:30 +02:00
Sandro Santilli
3738798991 Add test for DBManager's PostGIS connector and plugin
Only enabled when ENABLE_PGTEST is set
Includes test for dbname-less URI (#10600 and #16625 and #16626)

The test relies on default libpq accessed database containing
one raster table, but makes no effort to create such database yet.
2017-06-06 09:51:30 +02:00
Alexander Bruy
d859399ce5 [processing] use QGIS user manual as help source for all algorithms by
default.

NOTE: URL scheme should be adopted when documentation team decided how
manual will be scructured.
2017-06-06 10:51:22 +03:00
Alexander Bruy
0773e549f2 [processing] move collapse button to the top 2017-06-06 10:51:22 +03:00
Alexander Bruy
8af3707b18 [processing] use arrow cursor for collapse button 2017-06-06 10:51:22 +03:00
Alexander Bruy
f4853a2173 [processing] add button to collapse/expand short help 2017-06-06 10:51:22 +03:00
Alexander Bruy
ffac4f9648 [processing] simplify modeler algorithm dialog and use new help in it
too
2017-06-06 10:51:22 +03:00
Alexander Bruy
a137a7c0f3 [processing] open help in the default webbrowser to be consistent with
the rest of QGIS dialogs
2017-06-06 10:51:22 +03:00
Alexander Bruy
77fa17781e [processing] save and restore geometry of the algorithm dialog 2017-06-06 10:51:22 +03:00
Alexander Bruy
dec9ecf41e [processing] make short help panel resizable and replace Help tab with corresponding button 2017-06-06 10:51:22 +03:00
Nyall Dawson
c6c20c6114 Add sourceExtent method to QgsFeatureSource 2017-06-06 17:26:07 +10:00
Nyall Dawson
1d2e54d1ba Port delete columns alg to new API 2017-06-06 16:06:27 +10:00
Nyall Dawson
f1511a290c Port clip algorithm to new API 2017-06-06 15:54:10 +10:00
Nyall Dawson
9038872200 Fix warning 2017-06-06 15:43:19 +10:00
Nyall Dawson
47a40edb7f Port BarPlot alg to new API 2017-06-06 15:39:55 +10:00
Nyall Dawson
c1d35a043b Port getHTMLOutputsCount to c++ API 2017-06-06 15:39:54 +10:00
Nyall Dawson
1f0a3d9719 Add file based and HTML outputs to c++ API 2017-06-06 15:36:39 +10:00
Nyall Dawson
74ffdb1187 Fix field widget wrapper 2017-06-06 15:21:09 +10:00
Nyall Dawson
f0f0411e7b Port addautoincrementalfield to new API 2017-06-06 14:46:55 +10:00
Nyall Dawson
dfb687bf64 Port aspect algorithm to new API 2017-06-06 14:39:07 +10:00
Nyall Dawson
2f28736e8e Remove some unused code 2017-06-06 14:38:52 +10:00