410 Commits

Author SHA1 Message Date
Nyall Dawson
91179f1396 Work on PDF export 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
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
2f0969e2bd Expose antialiasing option in image export dialog
Allows for creating non-antialiased images from layouts. Note that
some layout item types do not correctly respect this setting, but
at least map items do and the API is in place for them to be
fixed later.

Fixes #9281
2017-12-17 14:14:31 +10:00
Nyall Dawson
1b8f4a09ba Add method to determine file path for exports which encountered errors 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
94b63d17b7 Fix updating gui after undoing layout settings change 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
a56c937012 Expand docs 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
fe5bd47eb0 Work on resizing layouts to item bounds 2017-12-17 14:14:31 +10:00
Nyall Dawson
f4f5f75b80 Remove incorrect TransferThis annotation 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
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
Nyall Dawson
b2872194df Fix warning 2017-12-15 14:16:59 +10:00
Nyall Dawson
95a2ac083c Update layout map to use transform context 2017-12-15 14:14:47 +10:00
Denis Rouzaud
86964f6546 todos for layout after rebase (some more) 2017-12-15 14:14:47 +10:00
Nyall Dawson
a15b54d997 Swap missing 0->nullptr and add missing overrides 2017-12-12 21:14:58 +11: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
dbd5215e62 #ifdef out dummy test item 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
b0dea08bbe Fix pages are incorrectly loaded from templates when adding items 2017-12-07 08:49:53 +10:00
Nyall Dawson
885f0a5602 Handle linking items when adding from templates 2017-12-07 08:49:53 +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
6a78d489c0 Restore paste in place functionality 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
acb956a5e7 Deduplicate code relating to shifting item positions in layout units 2017-12-07 08:49:41 +10:00
Nyall Dawson
b03ce047db Start restoring copy/paste functionality 2017-12-07 08:49:33 +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
f29306d4af [doxygen] replace @param by \param 2017-12-06 08:31:12 -04:00
Nyall Dawson
fa5a8311d1 Fix coverity null pointer dereference warnings 2017-12-05 10:56:07 +10:00
Nyall Dawson
4689537842 Fix build warning 2017-12-05 08:30:52 +11:00
Nyall Dawson
3c238a2ba4 Add missing overrides 2017-12-01 15:47:53 +10:00
Nyall Dawson
cc29f0ee36 Fix some doxygen warnings 2017-11-24 16:25:49 +10:00
Nyall Dawson
86669b932e Fix z order stacking of guides 2017-11-24 16:11:02 +10:00
Nyall Dawson
32834e9bf1 Update indentation 2017-11-24 14:57:39 +10:00
Nyall Dawson
6ec96d6d8e [layouts][FEATURE] Port arrow functionality to polyline item
Instead of a separate (badly behaved) item type for arrows, instead
add the arrowhead options to the much nicer polyline item.

There's still a dedicated toolbar action for creating arrows, but
all this does is create a polyline with the arrowhead enabled
by default.
2017-11-24 14:36:02 +10:00