4961 Commits

Author SHA1 Message Date
Nyall Dawson
0052eb830e Add unit test for pdf exports 2017-12-18 16:33:26 +10:00
Nyall Dawson
8cb4893817 Fix creation of QgsCoordinateReferenceSystem from "user:xxxx" strings
Fixes #17254
2017-12-18 09:27:00 +10:00
Nyall Dawson
492f9ea18c Update test mask images 2017-12-17 14:18:37 +10:00
Nyall Dawson
831732f3a3 Sipify 2017-12-17 14:18:36 +10:00
Nyall Dawson
662ec7a77c Use unique_ptr over raw array 2017-12-17 14:14:48 +10:00
Nyall Dawson
5d6a509636 Restore data defined page orientation 2017-12-17 14:14:48 +10:00
Nyall Dawson
65f4c4acef Port orientation decoding code from composer 2017-12-17 14:14:48 +10:00
Nyall Dawson
447a94909f Fix items moving after altering page size or inserting/deleting pages 2017-12-17 14:14:48 +10:00
Nyall Dawson
f649f1f8a7 [layouts][needs-docs] Add control for whether pages should be
exported, including data defined setting

This replaces the 2.x data-defined "number of pages" setting.
Instead of requiring users to develop an expression to return
the number of pages, instead we allow individual pages to have
a data defined control of whether that page should be included
in the export.

This is more flexible, and works correctly with the mixed page
size model for layouts.
2017-12-17 14:14:48 +10:00
Nyall Dawson
ca37a1ebd7 Fix drawing of map items (grids, overviews) when rendering map item as a raster item 2017-12-17 14:14:31 +10:00
Nyall Dawson
c7abf46615 Update test masks 2017-12-17 14:14:31 +10:00
Nyall Dawson
2b0ed508bd Tweak logic regarding page item margins following forced re-render
of layout items when exporting (i.e. disabling of cached item render)

The old issue of semi-transparent pixels around the edge of the page
had reared again. This is caused by the antialiasing while rendering
the page symbol. In order to avoid this, we cater to the most common
use case of having pages with a solid, borderless fill and slightly
extend the fill symbol polygon outside the page by 2 pixels
(determined by trial-and-error). The less common use case of having
a page symbol containing a border suffers by this border being
clipped by a couple of pixels, but we must address the much more
common use case over this.
2017-12-17 14:14:31 +10:00
Nyall Dawson
d3aee951ef Tweak logic regarding when a map item forces the whole layout
to be rasterised
2017-12-17 14:14:31 +10:00
Nyall Dawson
a59dce5048 Move containsAdvancedEffects test to QgsLayoutItem
And start a generic test library for all item types to ensure
correct behavior for QgsLayoutItem subclasses

Currently justs tests to ensure that overriden
containsAdvancedEffects methods also call the base class
test
2017-12-17 14:14:31 +10:00
Nyall Dawson
0110b43362 Update tests masks 2017-12-17 14:14:31 +10:00
Nyall Dawson
8b1e057d2c Make QgsLayoutExporter::generateFileName virtual, so exporter
subclasses can be made which customise the generated file names
2017-12-17 14:14:31 +10:00
Nyall Dawson
48b6e02c8f Spelling 2017-12-17 14:14:31 +10:00
Nyall Dawson
5cf36cd819 Add method to detect whether layout has uniform page sizes 2017-12-17 14:14:31 +10:00
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