75 Commits

Author SHA1 Message Date
Nyall Dawson
db906273b5 Drop all composer classes from Python bindings 2018-01-08 13:35:15 +10:00
Nyall Dawson
53b67069cc Standardise some layout api method naming/behavior 2018-01-07 16:07:05 +10:00
Nyall Dawson
1b932319a2 Fix some layout expression context handling, restore some tests 2018-01-05 11:15:03 +10:00
nirvn
0a40a81151 [layouts] add icons for items and use those in the items panel 2017-12-21 10:33:24 +07:00
Denis Rouzaud
90e5196996 run sipify 2017-12-19 14:55:46 -04:00
Nyall Dawson
831732f3a3 Sipify 2017-12-17 14:18:36 +10:00
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
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
Denis Rouzaud
c604d2dda6 run sipify 2017-12-15 22:13:44 -04: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
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
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
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
f29eb7b19e Port and fix unit tests 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
2a75ad8e96 More work on layout multiframe undo/redo 2017-11-24 10:24:36 +10:00
Nyall Dawson
c4c0c83ca5 Restore api for handling layout item page numbers 2017-11-24 10:24:35 +10:00
Nyall Dawson
27c3eb92c2 More command compression for legend items 2017-11-07 11:32:39 +10:00
Nyall Dawson
d3430e4d42 Port legend item 2017-11-07 11:32:39 +10:00
Nyall Dawson
585a8b70ba Restore ui for configuring labels 2017-11-07 11:32:39 +10:00
Nyall Dawson
e539022358 Restore serialization of picture items 2017-11-07 11:32:39 +10:00
Nyall Dawson
1bfed13484 Port picture item 2017-11-07 11:32:39 +10:00
Nyall Dawson
b7e352613e Use symbol buttons for grid symbols 2017-11-07 11:32:39 +10:00
Nyall Dawson
ab4606db25 Start work on porting grid ui 2017-11-07 11:32:38 +10:00
Nyall Dawson
aa2b73d425 Use symbol button for overview frame symbol 2017-11-07 11:32:38 +10:00
Nyall Dawson
5d5c858dc8 Start restoring grids/overviews 2017-11-07 11:32:38 +10:00
Nyall Dawson
7f0142c86a Working move item content tool 2017-11-07 11:32:38 +10:00
Nyall Dawson
7924aa1990 Fix regeneration of cached maps when zoom level changes 2017-11-07 11:32:38 +10:00
Nyall Dawson
753f6f5050 Start hooking up map widget gui 2017-11-07 11:32:38 +10:00
Nyall Dawson
23d0617bac Start porting map item 2017-11-07 11:32:38 +10:00
Nyall Dawson
938b239277 Port more node tool actions 2017-11-07 11:32:38 +10:00
Nyall Dawson
783636dfa7 Port polygon and polyline items to layouts 2017-11-07 11:32:38 +10:00
Nyall Dawson
2ec31d84d3 Add configuration widget for shapes 2017-11-07 11:32:38 +10:00
Nyall Dawson
7674bd746b Cleanup item xml read/write, save shape properties 2017-11-07 11:32:38 +10:00
Nyall Dawson
edecc37c9f Start work on exporter for layouts 2017-11-07 11:32:38 +10:00
Nyall Dawson
9630a39190 [layouts] Nicer detection of rendering in a view
In compositions, a flag must be explicitly set to indicate
whether the render occuring is for "previews" (i.e.
rendering in a graphics view) or outputs (i.e. rendering
to a image/pdf/other destination device)

This isn't nice api.

So we avoid this by checking the paint device type when
an item is being rendered.
2017-11-07 11:32:38 +10:00
Nyall Dawson
625eef80eb Fix resizing with mouse handles acts strangely when items have frames 2017-11-07 11:32:38 +10:00
Nyall Dawson
8629225a41 Work on functional rotation for items 2017-11-07 11:32:38 +10:00
Nyall Dawson
3678f01e54 Port item opacity handling from composer 2017-11-07 11:32:38 +10:00
Nyall Dawson
75898d8e09 Port 'exclude from exports' functionality from composer 2017-11-07 11:32:38 +10:00
Nyall Dawson
4e8878dcb3 Port item blend mode support to layouts 2017-11-07 11:32:38 +10:00
Nyall Dawson
ab4e6c11ed Fix resizing items with non-top-left reference point using mouse handles 2017-11-07 11:32:37 +10:00
Nyall Dawson
1c735d59ee Handle position and size with units and ratio lock in item properties 2017-11-07 11:32:37 +10:00
Nyall Dawson
b2414d8d8d Start porting item properties widget 2017-11-07 11:32:37 +10:00
Nyall Dawson
e17b32c6e2 Fix moving/resizing grouped items 2017-10-09 19:23:46 +10:00
Nyall Dawson
5aa9a1556f Start porting group handling from composer 2017-10-09 19:23:46 +10:00