Nyall Dawson
fe48aeca0c
Fix crash with undo/redo and layout multiframes, restore test
2018-01-18 09:21:45 +10:00
Denis Rouzaud
7722010ca8
rename *.sip to *.sip.in for the auto generated sip files
2018-01-17 10:16:37 -04:00
Nyall Dawson
343c070adf
Fix layout designer does not respect layout settings
2018-01-17 04:58:41 +10:00
Denis Rouzaud
6d94ac9c6c
run sipify
2018-01-12 21:10:16 -04:00
Alessandro Pasotti
f868bcc691
[layout] Add printLayouts to return all print layouts contained in the manager
2018-01-10 18:03:08 +01:00
Nyall Dawson
b95363c5b6
Drop composer from app
2018-01-10 14:46:57 +10:00
Denis Rouzaud
d87c60512c
[sipify] fix bad handling of \see within sentences
...
and other docstrings improvements
2018-01-09 21:40:10 -04:00
Alessandro Pasotti
03400ddbe2
Merge pull request #5913 from elpaso/layouts-import-from-2
...
[layouts] import from 2.x
2018-01-09 22:35:26 +01:00
Denis Rouzaud
5babec5e07
run sipify
2018-01-09 11:40:39 -04:00
Alessandro Pasotti
3f081b8588
[layout] Added template method to retrieve QgsLayoutObjects
2018-01-09 13:24:22 +01:00
Alessandro Pasotti
f297e86201
[layout] Import attribute table from composition
2018-01-09 08:08:26 +01:00
Alessandro Pasotti
3bfebe144e
Sipify
2018-01-09 08:08:26 +01:00
Alessandro Pasotti
da3636e566
[layout] Converter: initial implementation
2018-01-09 08:08:26 +01:00
Nyall Dawson
3d36653f55
Code shuffle
2018-01-08 13:35:15 +10:00
Nyall Dawson
db906273b5
Drop all composer classes from Python bindings
2018-01-08 13:35:15 +10:00
Nyall Dawson
d372799b87
Remove some more redundant tests, add sip subclassing
2018-01-08 12:09:32 +10:00
Nyall Dawson
f3124f0d82
Fix storing/reading multiframe items (TODO fix undo/redo support)
2018-01-08 05:51:29 +10:00
Nyall Dawson
1b969267fc
Fix crash when deleting multiframe item child frames
2018-01-08 05:51:29 +10:00
Nyall Dawson
53b67069cc
Standardise some layout api method naming/behavior
2018-01-07 16:07:05 +10:00
Nyall Dawson
bf6c95d575
Add icons for report section types, and show pencil 'editing'
...
icon in report organizer for section currently being edited in
the designer
This should help indicate to users which section is currently being
edited and give more visual hints as to exactly what's happening
in the ui.
2018-01-05 13:52:22 +10:00
Nyall Dawson
eae4eeb8f5
Use correct layout type (report/print layout) in new title dialog
2018-01-05 11:52:57 +10:00
Nyall Dawson
51a7efbe4b
Nicer ui widgets for sections, add missing control for
...
disabling body sections
2018-01-05 11:15:04 +10:00
Nyall Dawson
5d64f3cd22
Fix missing feature contexts for report section header/footers
...
and expand unit tests
2018-01-05 11:15:04 +10:00
Nyall Dawson
4e45639c45
Restore direct print actions
2018-01-05 11:15:04 +10:00
Nyall Dawson
39ae0eef7d
Add method to seek atlas directly to a QgsFeature
2018-01-05 11:15:04 +10:00
Nyall Dawson
ea4f61f024
Dox and spelling
2018-01-05 11:15:04 +10:00
Nyall Dawson
c9ddc9fda0
Start on ui for configuring reports
2018-01-05 11:15:04 +10:00
Nyall Dawson
f4a99b65bb
Add a row method to QgsAbstractReportSection
2018-01-05 11:15:04 +10:00
Nyall Dawson
b862db06f0
Fix clashing inherited methods
2018-01-05 11:15:04 +10:00
Nyall Dawson
19b058103b
Add crappy inappropriate icons for layout types
2018-01-05 11:15:04 +10:00
Nyall Dawson
aef0432fdc
Implement sort order customisation for field groups
2018-01-05 11:15:04 +10:00
Nyall Dawson
2654454c0b
Implement serialization of reports
2018-01-05 11:15:04 +10:00
Nyall Dawson
6f2c63f3e5
Add a common base class for print layouts and reports, and adapt
...
QgsLayoutManager to suit
2018-01-05 11:15:04 +10:00
Nyall Dawson
d8af098d83
Code shuffle and cleanup
2018-01-05 11:15:04 +10:00
Nyall Dawson
159986fdec
Implement QgsReportSectionFieldGroup
2018-01-05 11:15:04 +10:00
Nyall Dawson
6284f5e36f
Correct project and parent handling for report sections
2018-01-05 11:15:04 +10:00
Nyall Dawson
767075a3d4
Hookup filename generation for reports
2018-01-05 11:15:04 +10:00
Nyall Dawson
935dfa32d8
Add reprt iteration test
2018-01-05 11:15:04 +10:00
Nyall Dawson
cdf5cf21e1
Add report section subclass with single layout as body
2018-01-05 11:15:04 +10:00
Nyall Dawson
acb44643e3
Add missing factory annotation
2018-01-05 11:15:04 +10:00
Nyall Dawson
1ea5a5fb98
[FEATURE] Reporting framework
...
Reports are based on the new layouts engine. They consist of multiple
nested sections. Each individual section (and the report itself)
can have an optional header and footer (which are themselves layouts,
and can consist of multiple pages!).
Two different types of sections are implemented so far:
- a standard section, which has a single, static body layout. This
can be used to embed static layouts mid way through a report
- a "field group" section, which repeats its body layout for
every feature in a layer. The features are sorted by the selected
grouping feature (with an option for ascending/descending sort).
If a field group section has child sections (e.g. another field
group section with a different field, then only features
with unique values for the group feature are iterated over.
This allows nested reports, e.g.
Report
- Country: Australia
- State: NSW
- Town: Sydney
- Town: Woolongong
- State: QLD
- Town: Beerburrum
- Town: Brisbane
- Town: Emerald
- Country: NZ
- State: ... etc
In this example country, state or town groups can have their
own headers and footers which will be inserted in the report.
Reports are configured through a new panel in the layout designer
dialog, which is shown when editing a report (created through
the Layout Manager Dialog). The organizer allows for adding
(and removing) sections to the report, and for selecting which
layout (e.g. headers, footers, bodies) to edit within the
layout designer.
2018-01-05 11:15:04 +10:00
Nyall Dawson
811145eb96
Remove const from count method
2018-01-05 11:15:04 +10:00
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
8de8bb387f
Try (and fail) to avoid a qApp->processEvents() call
...
I just can't find any other reliable way to wait until javascript
execution in a web page has completed.
2018-01-05 11:15:03 +10:00
Nyall Dawson
88a839061d
Restore more unit tests
2018-01-05 11:15:03 +10:00
Nyall Dawson
1b932319a2
Fix some layout expression context handling, restore some tests
2018-01-05 11:15:03 +10:00
Nyall Dawson
7d8953f1da
Restore atlas multiple pdf exports
2018-01-05 11:15:03 +10:00
Nyall Dawson
427da5c081
Restore atlas single file pdf export
2018-01-05 11:15:03 +10:00
Nyall Dawson
9751c77063
Restore svg atlas export
2018-01-05 11:15:03 +10:00