228 Commits

Author SHA1 Message Date
Nyall Dawson
8629225a41 Work on functional rotation for items 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
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
0143d0be68 Add a signal to QgsLayoutContext when flags change 2017-11-07 11:32:38 +10:00
Nyall Dawson
91c3b5d255 Add a shortcut menu to items panel, with option to show
item properties

Refs #11581
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
d3836e502a Move population of layout gui registry from GUI->app
Since we don't want all the item type subclass config widgets
to have to reside in gui, we need to populate the registry
from app instead.
2017-11-07 11:32:37 +10:00
Nyall Dawson
8fb2c3cf6e Fix doxygen test 2017-10-10 06:33:32 +10:00
Nyall Dawson
02acbb4184 Fix undo/redo for groups 2017-10-09 19:23:46 +10:00
Nyall Dawson
e17b32c6e2 Fix moving/resizing grouped items 2017-10-09 19:23:46 +10:00
Nyall Dawson
606ad21a51 Port group actions from composer 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
Denis Rouzaud
6e14854f90 [sipify] remove redundant private sections 2017-10-09 09:51:40 +02:00
Nyall Dawson
0c858d27d6 Port display name handling from composer 2017-10-06 18:43:10 +10:00
Nyall Dawson
c8eaeb8f93 Port hide pages action from composer 2017-10-06 17:48:25 +10:00
Nyall Dawson
aa7beaad6a Port keyboard nudge of items from composer 2017-10-06 17:48:25 +10:00
Nyall Dawson
bb2e1efdb8 Create undo/redo commands when changing item visibility 2017-10-06 17:48:25 +10:00
Nyall Dawson
fd0cba3914 Hide most of QgsLayoutModel from stable API and remove from bindings
We only expose the QAbstractItemModel interface as stable API - the
rest is non-stable and subject to change.
2017-10-06 17:48:25 +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
c022bc825e [FEATURE][layouts] Add 'resize to square' action
Resizes all selected items so that they are square
2017-10-06 17:48:25 +10:00
Nyall Dawson
e686e2e565 Fix doxygen warning 2017-10-06 17:48:25 +10:00
Nyall Dawson
e3616f08c4 [FEATURE][layout] Add actions to auto resize items in a selection
Options are resize to narrowest, widest, shortest and tallest.
2017-10-06 17:48:25 +10:00
Nyall Dawson
5141c05ba7 [FEATURE][layout] Add item distribution actions
Adds actions for distributing selections of items by their
left/center/right/top/bottom edges.

Useful for quickly evenly distributing items in the layout

Needs new icons
2017-10-06 17:48:25 +10:00
Nyall Dawson
0939333273 Port item alignment to layouts 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
683a8694e4 Correctly report selected status to items model 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
de9653044a Remove redundant custom enum (use Qt version instead) 2017-10-06 17:48:25 +10:00
Nyall Dawson
d65a18c5c0 Fix item snapping while resizing 2017-10-06 17:48:24 +10:00
Nyall Dawson
051ed1e156 Prevent snapping to selected items when resizing 2017-10-06 17:48:24 +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
2d6cbd6bba Restore ability to show/hide selection bounds 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
7d072beee7 Add signals for size and rotation changes 2017-10-06 17:48:24 +10:00
Nyall Dawson
b5777adbdd Port some composer utils 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
51efa19f75 Port item frame related 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
4e61ea892a Port frame and background handling to layout items
And add support for frame widths with units
2017-10-06 17:48:24 +10:00
Nyall Dawson
a71f2ad5dc Fix non-virtual destructor 2017-09-25 12:46:49 +10:00
Nyall Dawson
b44cf5d10f Fix memory leak 2017-09-18 12:10:46 +10:00
Nyall Dawson
a77950cbf6 SIP, indentation and documentation updates 2017-09-05 09:53:48 +10:00