58 Commits

Author SHA1 Message Date
Nyall Dawson
4d2f0deb1a Add a clone method to QgsLayout 2018-01-05 11:15:04 +10:00
Nyall Dawson
5bc543af6a Refactor layout context
Split render context from reporting context
2018-01-05 11:15:04 +10:00
Nyall Dawson
88a839061d Restore more unit tests 2018-01-05 11:15:03 +10:00
Nyall Dawson
f86c2988bb Serialize atlas settings 2018-01-05 11:15:03 +10: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
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
069a0baa40 Expose some more export related settings to GUI 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
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
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
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
e48cf98edb run sipify 2017-12-06 07:19:50 -04:00
Nyall Dawson
604e51d390 Restore some tests 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
714920ff25 Start of multiframe porting 2017-11-24 10:24:35 +10:00
Nyall Dawson
44fe2a8d08 Add tools to create node based items 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
ce79ff30c8 Add refresh action for layouts 2017-11-07 11:32:38 +10:00
Nyall Dawson
5aa9a1556f Start porting group handling from composer 2017-10-09 19:23:46 +10:00
Nyall Dawson
a66f2cb684 Nicer API for adding/removing items
Automatically create the corresponding undo commands, so that
plugins and scripts which add/delete items will be added to
the undo stack without any work required.
2017-10-06 17:48:25 +10:00
Nyall Dawson
822d6f76a3 Move actions which apply to selected items only to QgsLayoutView
Selections are a gui concept, so these actions belong to the
gui class instead of cluterring QgsLayout
2017-10-06 17:48:25 +10:00
Nyall Dawson
fdba8f199a Add tests for changing item z order 2017-10-06 17:48:25 +10:00
Nyall Dawson
e74a632002 Unfinished restore of stacking actions 2017-10-06 17:48:25 +10:00
Nyall Dawson
dbb31253e9 Resurrect locking/unlocking item actions 2017-10-06 17:48:25 +10:00
Nyall Dawson
62a5679230 Port item model from composer to layouts 2017-10-06 17:48:25 +10:00
Nyall Dawson
d950f17e75 Add item bounds based snapping to QgsLayoutSnapper 2017-10-06 17:48:24 +10:00
Nyall Dawson
bfa9c1d661 Port methods for retrieving item at a point to layouts 2017-10-06 17:48:24 +10:00
Nyall Dawson
207bcad626 Start porting mouse handles to layout 2017-10-06 17:48:24 +10:00
Nyall Dawson
bb129516f8 Port selection handling code from composer 2017-10-06 17:48:24 +10:00
Nyall Dawson
0b188295bc Port item selection and lock related code from composer 2017-10-06 17:48:24 +10:00
Nyall Dawson
a77950cbf6 SIP, indentation and documentation updates 2017-09-05 09:53:48 +10:00
Nyall Dawson
62dcd0dad5 Start work on undo/redo support for layouts 2017-09-05 09:39:22 +10:00
Nyall Dawson
1589b4e648 Implement some saving/restoring layout items to XML 2017-09-05 09:39:22 +10:00
Nyall Dawson
66e1cf04e6 Port methods to retrieve layout items 2017-09-05 09:39:22 +10:00
Nyall Dawson
3fd2e0921d Fix ownership issue with layout guides 2017-08-07 22:31:44 +10:00
Nyall Dawson
ab726c4777 Add methods to determine visible pages in a view 2017-08-07 19:34:28 +10:00
Nyall Dawson
f5126b0abd New class QgsLayoutGuideCollection for storing sets of layout snap guides
The class is a QAbstractListModel subclass, making it easy
for creation of different views showing the guides in a layout.

Additionally, a QSortFilterProxyModel (QgsLayoutGuideProxyModel)
has been created to filter QgsLayoutGuideCollection to guides
with matching page numbers and orientations.
2017-08-07 19:34:28 +10:00
Nyall Dawson
db36440cfc Start on classes for snapping guide items 2017-08-07 19:34:28 +10:00
Nyall Dawson
3dbc1a0c2a Refine z order for some new items 2017-08-07 19:34:28 +10:00
Nyall Dawson
0d0a3c2cdc Code refactor - split grid appearance settings into their own class 2017-08-07 19:34:28 +10:00
Nyall Dawson
361dd312bc Start on layout snapper 2017-08-07 19:34:28 +10:00
Nyall Dawson
b42c055e97 Restore drawing of page grids 2017-08-07 19:34:28 +10:00
Nyall Dawson
39bf23a5d5 Start on reflow support for page collections (needs tests) 2017-07-25 12:54:57 +10:00