Nyall Dawson
b992e871ee
[layouts][FEATURE] Don't force the whole layout to be rasterized
...
when exporting to PDF
If an individual layout item needs rasterisation in order to
be exported correctly, it can now be individually rasterised
without forcing every other item to also be rasterised.
This allows exports to PDF keeping as much as possible as vectors,
e.g. a map with layer opacity won't force labels, scalebars, etc
to be rasterised too.
To accompany this, a new "Always export as vectors" checkbox
was added to layout properties. If checked, this will force
the export to keep items as vectors, even when it causes the
output to look different to layouts.
Fixes #7885
2017-12-17 14:14:31 +10:00
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
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
aa7986f8fc
Implement methods for exporting layouts as raster, add tests
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
Denis Rouzaud
c604d2dda6
run sipify
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
f2b3ed0a9b
run sipify
2017-12-15 11:12:19 -04: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
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
f29306d4af
[doxygen] replace @param by \param
2017-12-06 08:31:12 -04:00
Denis Rouzaud
e48cf98edb
run sipify
2017-12-06 07:19:50 -04: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
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
Nyall Dawson
f76ed223eb
Port ui for attribute table
2017-11-24 11:05:56 +10:00
Nyall Dawson
f29eb7b19e
Port and fix unit tests
2017-11-24 10:24:36 +10:00
Nyall Dawson
f90c5003ca
Port table subclasses
2017-11-24 10:24:36 +10:00
Nyall Dawson
3a0f94389c
Port text table
2017-11-24 10:24:36 +10:00
Nyall Dawson
9cf6e0a2a2
Start porting table items
2017-11-24 10:24:36 +10:00
Nyall Dawson
a615a48b40
Make scalebars auto selected between m/km and ft/miles when newly added
...
Based on current linked map scale and linked map CRS
2017-11-24 10:24:36 +10:00
Nyall Dawson
b7ef3d3cb9
Simplify some code, cleanup UI
2017-11-24 10:24:36 +10:00
Nyall Dawson
5b1c6901a5
Port more scalebar functionality
2017-11-24 10:24:36 +10:00
Nyall Dawson
8f5e0cb126
Begin porting scalebar item
2017-11-24 10:24:36 +10:00
Nyall Dawson
604e51d390
Restore some tests
2017-11-24 10:24:36 +10:00
Nyall Dawson
2a75ad8e96
More work on layout multiframe undo/redo
2017-11-24 10:24:36 +10:00
Nyall Dawson
f04d438572
Some undo/redo fixes for multiframe items
2017-11-24 10:24:36 +10:00
Nyall Dawson
93403647c4
Update sip
2017-11-24 10:24:36 +10:00
Nyall Dawson
dddce25e13
More work on porting multiframe items
2017-11-24 10:24:35 +10:00
Nyall Dawson
aec03269b9
Sip is p****** me off, by refusing to build for unrelated reasons
...
Block a bunch of classes from Python bindings for now until sip
gets over itself
2017-11-24 10:24:35 +10:00
Nyall Dawson
f1d1e454d8
Begin port of HTML item
2017-11-24 10:24:35 +10:00