4178 Commits

Author SHA1 Message Date
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
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
cb693a72f9 Move caching to QgsCoordinateTransform
and remove no longer required QgsCoordinateTransformCache singleton
2017-12-15 14:14:08 +10:00
Nyall Dawson
018bfb49f9 Remove QgsDatumTransformStore
and port usage over to QgsCoordinateTransformContext instead
2017-12-15 14:13:52 +10:00
Nyall Dawson
fed8a6786e Add transform context to QgsMapSettings and QgsRenderContext
And also throw warnings when the context isn't set for these objects
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
7af5545fdc QgsCoordinateTransformContext must be thread safe 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
f7b315f594 Doxygen 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
Etienne Trimaille
abdd8759a0 add constructor to QgsBox3d with a QgsRectangle 2017-12-15 12:14:05 +11:00
Nyall Dawson
d0475cb042 Travis doesn't like me fixing him 2017-12-15 10:58:47 +10:00
Alexander Bruy
1d482cf953 [processing] add groupId() method to algorithms to get unique ID of the
algorithm group.

Adapt native algorithms
2017-12-14 14:12:00 +02:00
Nyall Dawson
12e44b2016 Notify model of changes when renaming data items 2017-12-14 15:44:51 +10:00
Nyall Dawson
8df67111cd [needs-docs][browser] Allow renaming favorite items
Otherwise favorites can be useless if you're trying to favorite
a long path

Fixes #6780
2017-12-14 15:44:39 +10:00
Nyall Dawson
457abe7bbf
Merge pull request #5859 from nyalldawson/project_icon
Use qgs project icon derivative for project home in browser
2017-12-14 10:02:58 +11:00
Nyall Dawson
79c180a77e Fix doxygen warning 2017-12-14 08:04:55 +10:00
Nyall Dawson
30fb6de17c Use qgs project icon derivative for project home in browser 2017-12-14 07:46:39 +10:00
Etienne Trimaille
5c28ecab8f update HTML data provider metadata (#5700)
* update HTML data provider metadata for grass, gdal and ams

* update HTML data provider metadata for WMS and WCS

* move HTML bullet list to QgsHtmlUtils
2017-12-13 13:29:41 +02:00
Nyall Dawson
fec31f8da2 Sort browser items
Implements a sort key for browser items, allowing them to be
correctly sorted.

Fixes #17591
2017-12-13 15:06:12 +10:00
Juergen E. Fischer
7a1a4ed1df spelling fixes 2017-12-12 23:31:48 +01:00
Nyall Dawson
a15b54d997 Swap missing 0->nullptr and add missing overrides 2017-12-12 21:14:58 +11:00
Alexander Bruy
6b73f78198
Merge pull request #5839 from alexbruy/raster-extensions
Add methods to get supported raster formats and extensions to QgsRasterFileWriter
2017-12-11 19:54:28 +02:00
Alessandro Pasotti
bfa857bb97 [bugfix] Restore binding for QgsCoordinateTransform
Fixes #17600

Binding was lost in commit 10d34ece02bb765f5d9d88bb0524c909235fb0d7
2017-12-11 12:32:46 +01:00
Nyall Dawson
83cdd8468b Use GDAL metadata to determine feature styles support
GDAL >= 2.3 only
2017-12-11 19:24:31 +11:00
Alexander Bruy
48661addc6 add supportedFormatExtensions() method to QgsRasterFileWriter 2017-12-11 09:38:14 +02:00
Alexander Bruy
52b5864335 add supportedFiltersAndFormats() method to QgsRasterFileWriter 2017-12-11 09:38:14 +02:00
Nyall Dawson
53ebe050bd
Merge pull request #5825 from nyalldawson/gdal
[processing] Some GDAL algorithm fixes
2017-12-09 17:26:41 +11:00
Nyall Dawson
3a5caaf94c Add missing proxy calls for QgsProcessingFeatureSource, causing
inefficient base class methods to be used instead.
2017-12-08 15:05:56 +10:00
Nyall Dawson
89420fccd6 Sipify 2017-12-07 08:51:52 +10:00
Nyall Dawson
66b4b45177 Try to fix issues with sip casting collisions between layout and
compositions
2017-12-07 08:50:01 +10:00
Nyall Dawson
a9896eac05 Port a bunch of QgsLayoutManager methods to use QgsLayouts 2017-12-07 08:50:01 +10:00
Nyall Dawson
3a0b751698 Port duplicate layout functionality 2017-12-07 08:49:54 +10:00
Nyall Dawson
a64a675830 [FEATURE][layouts] Support drag and drop of QPT templates onto layout windows
To add contents of template onto layout
2017-12-07 08:49:54 +10:00
Nyall Dawson
a4dea9935f Restore ability to save layouts to templates and add items from template 2017-12-07 08:49:41 +10:00
Nyall Dawson
59b6bf62ab Add a method to clear an existing layout 2017-12-07 08:49:41 +10:00
Nyall Dawson
8feac30f07 Add method to clear page collections for layouts 2017-12-07 08:49:41 +10:00
Nyall Dawson
ef9e013a5a Fix crashes when rapidly deleting/undeleting objects
Also fix some leaks
2017-12-07 08:49:41 +10:00
Nyall Dawson
f60da58256 Add some unit tests 2017-12-07 08:49:33 +10:00
Nyall Dawson
b74a0efa34 Work on layout and layout item serialization and restoration 2017-12-07 08:49:33 +10:00
Denis Rouzaud
906259b2f7 [doxygen] remove useless @brief 2017-12-06 08:31:12 -04:00
Denis Rouzaud
f29306d4af [doxygen] replace @param by \param 2017-12-06 08:31:12 -04:00
Denis Rouzaud
b72c569cf3 [doxygen] replace @see by \see 2017-12-06 08:31:12 -04:00