4943 Commits

Author SHA1 Message Date
Nyall Dawson
069a0baa40 Expose some more export related settings to GUI 2017-12-17 14:14:31 +10:00
Nyall Dawson
f08ff15feb Port some more world file generation related code 2017-12-17 14:14:31 +10:00
Nyall Dawson
56383e42b0 Port world file generation code to layouts 2017-12-17 14:14:31 +10:00
Nyall Dawson
afbd1400a5 Port georeferencing from compositions 2017-12-17 14:14:31 +10:00
Nyall Dawson
2e68dd7005 Add some masks for scalebar tests 2017-12-17 14:14:31 +10:00
Nyall Dawson
25d16380c0 Port reference map functionality from composer 2017-12-17 14:14:31 +10:00
Nyall Dawson
aa7986f8fc Implement methods for exporting layouts as raster, add tests 2017-12-17 14:14:31 +10:00
Nyall Dawson
e8a42c92b4 Add method to determine largest page size 2017-12-17 14:14:31 +10:00
Nyall Dawson
71dd3b933a Port pageItemBounds method from composer 2017-12-17 14:14:31 +10:00
Nyall Dawson
d7e179cb5a Add unit test for resizing pages 2017-12-17 14:14:31 +10:00
Nyall Dawson
082733abda Fix unit test 2017-12-17 14:14:31 +10:00
Nyall Dawson
fe5bd47eb0 Work on resizing layouts to item bounds 2017-12-17 14:14:31 +10:00
Nyall Dawson
5828f5d343 Port method to determine whether page should be exported 2017-12-17 14:14:31 +10:00
Nyall Dawson
f3fcb68ec4 Port method to retrieve items of a set type on a page 2017-12-17 14:14:31 +10:00
Nyall Dawson
c496b3bcca Forward declare some classes 2017-12-17 14:14:31 +10:00
Nyall Dawson
fb712d7d65 Decouple QgsLayoutExporter from QgsLayout 2017-12-17 14:14:30 +10:00
Denis Rouzaud
e6f657cf81 add a test to check that returns are placed before since and note in Doxygen 2017-12-16 10:45:52 -04:00
Denis Rouzaud
92751d47e2 make sipfiles test macos compatible 2017-12-16 10:45:52 -04:00
Denis Rouzaud
5a34558e3e fix sipify test 2017-12-15 22:13:44 -04:00
Denis Rouzaud
60e9b26d64 fix sipify test 2017-12-15 22:13:44 -04:00
Nyall Dawson
8802482778 Remove redundant overridden default destructor implementations 2017-12-16 08:50:55 +10:00
Nyall Dawson
4da1ce8404 Drop redundant virtual keywords on overrides
Run clang-tidy modernize-use-override to remove all the redundant
virtual keywords from overridden methods, and add some missing
overrides.

Another benefit is that this has also added the overrides
on destructors, which will cause a build failure if a base
class is missing a virtual destructor.
2017-12-16 08:49:36 +10:00
Denis Rouzaud
0618071ed5 fix sipify test 2017-12-15 11:12:19 -04:00
Nyall Dawson
0c7cf21fe2
Merge pull request #5535 from nyalldawson/datum
Datum transform handling rework, pt 1
2017-12-15 22:53:02 +11:00
Nyall Dawson
1217e59563 Add a unit test for missing datum transforms 2017-12-15 19:00:44 +10:00
rldhont
3692fcdb96
Merge pull request #5561 from pvalsecc/wms_ogc_filters
[FEATURE][needs-docs] Add OGC filters to WMS
2017-12-15 09:47:22 +01:00
Nyall Dawson
6ff744a3b3 Use proj strings to serialize datum transforms IDs
Since datum transforms IDs are local only, and can even change
when underlying library versions are updated, we can't use them
to safely store and retrieve datum transforms.

Instead we use the proj strings and recover the local session
transform ID from that.
2017-12-15 17:07:20 +10:00
Nyall Dawson
318735271e Add method to retrieve datum transform ID from a proj string 2017-12-15 16:42:40 +10:00
Nyall Dawson
43d8a6b5be Update unit test 2017-12-15 15:48:12 +10:00
Denis Rouzaud
2fb3c57600 fix transform context test 2017-12-15 14:16:59 +10:00
Nyall Dawson
ab5d895840 Add some more datum related unit tests 2017-12-15 14:16:59 +10:00
Nyall Dawson
69c3debfc0 Nicer API for datum transforms
Instead of using QPairs of ints, use more descriptive structs, also
rename a lot of datum related methods for clarity and add docs
2017-12-15 14:16:59 +10:00
Nyall Dawson
d2353e7c01 Add method to determine whether transform context has a valid transform
for a specific src/dest CRS pair
2017-12-15 14:14:47 +10:00
Nyall Dawson
f55da4affb Update unit tests 2017-12-15 14:14:47 +10:00
Nyall Dawson
670858d81c Fix some transforms missing transform context 2017-12-15 14:14:47 +10:00
Denis Rouzaud
e303f746e1 ifdef 0 single source/destination transforms 2017-12-15 14:14:47 +10:00
Nyall Dawson
3916628212 Fix handling of transform-not-required in QgsCoordinateTransformContext 2017-12-15 14:14:26 +10:00
Nyall Dawson
0a9c107fcc Fix build 2017-12-15 14:14:08 +10:00
Nyall Dawson
439ef20088 Prepare for removal of QgsCoordinateTransformCache 2017-12-15 14:13:59 +10:00
Nyall Dawson
754a6e06bb Tweak transform logic (only remove src/dest transforms when both transforms are -1) 2017-12-15 14:13:22 +10:00
Nyall Dawson
620139054d Add explicit setter for project's transform context
And add transformContextChanged signal, so that we can detect
when the context is changed.
2017-12-15 14:13:22 +10:00
Nyall Dawson
86d9492372 Remove context-unaware QgsCoordinateTransform constructors from Python bindings
This forces Python code and plugins to become datum transform
aware, and given that upgrading python code is easy (just
add QgsProject.instance() as a new argument to the constructor)
it's relatively painless to force this on PyQGIS users.

Also fix upgrade the easy QgsCoordinateTransform c++ constructors
where the project is available, or where using QgsProject::instance()
is safe to do.

For others, just avoid the deprecated warnings until we can
get access to the correct project instance where the transform
is being constructed.
2017-12-15 14:13:22 +10:00
Nyall Dawson
91e0afb613 Add QgsCoordinateTransformContext arguments to QgsCoordinateTransform constructor
And automatically retrieve correct datum transforms for the
transform, based on the information in the context.

Also add a convenience constructor which takes a QgsProject
instance instead of a QgsCoordinateTransformContext and which
automatically retrieves the project's transform context and uses
that. This is designed to make it easy to upgrade existing
Python code (by adding just QgsProject.instance() to the transform
constructors).
2017-12-15 14:12:16 +10:00
Nyall Dawson
76ebfdf2f6 Add a QgsCoordinateTransformContext member to QgsProject 2017-12-15 14:11:38 +10:00
Nyall Dawson
1013c0bdd9 Add support for serializing transform contexts 2017-12-15 14:11:38 +10:00
Nyall Dawson
3d1b8aeeb3 Implement logic for calculating datum transforms to use 2017-12-15 14:11:38 +10:00
Nyall Dawson
5131258b08 QgsCoordinateTransformContext is implicitly shared 2017-12-15 14:11:38 +10:00
Nyall Dawson
2e2e1248a5 Allow removing existing transforms from context 2017-12-15 14:11:38 +10:00
Nyall Dawson
8a0bd08e07 Start on QgsCoordinateTransformContext
Stores settings related to the correct datum transforms to use
when performing a coordinate transform.
2017-12-15 14:11:38 +10:00
Nyall Dawson
db07bc6c07
Merge pull request #5867 from alexbruy/processing-group
[processing] add groupId() method to get untranslated algorithm group
2017-12-15 12:25:45 +11:00