Alessandro Pasotti
680b9f8ea0
[layout] Convert scalebar and legent from 2.x
2018-01-09 08:08:26 +01:00
Alessandro Pasotti
cd6e8204ed
[layout] Import some more items: map, poly* and arrow
2018-01-09 08:08:26 +01:00
Alessandro Pasotti
2ad56efb79
Added test composer templates for import test
2018-01-09 08:08:26 +01:00
Alessandro Pasotti
4302910f94
[layout] Converter: fix frame fill in shapes
2018-01-09 08:08:26 +01:00
Alessandro Pasotti
af8a2296dc
[layout] Converter: shapes
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
2b8143a206
Fix a TODO, restore correct variable handling for layouts
2018-01-08 17:55:37 +10:00
Nyall Dawson
e2ce85f992
Update test masks
2018-01-08 12:09:32 +10:00
Nyall Dawson
b88f9b5b48
Port pal composer test to labels
2018-01-08 12:09:32 +10:00
Nyall Dawson
d372799b87
Remove some more redundant tests, add sip subclassing
2018-01-08 12:09:32 +10:00
Nyall Dawson
aef9df8d5e
Remove a redundant test
2018-01-08 05:51:29 +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
71a33e9956
Remove another redundant composer test
2018-01-07 16:07:05 +10:00
Nyall Dawson
9a13cfd4e5
Remove composer tests relating to template substitution maps
...
This API feature was not used anywhere in master, and is no
longer available in the layouts engine.
Better to use expression variables to meet the same use case.
2018-01-07 16:07:05 +10:00
Etienne Trimaille
3432bf8f3b
load and save metadata to a QMD file
2018-01-07 12:13:41 +10:00
Alessandro Pasotti
a343570eab
Merge pull request #6000 from elpaso/bugfix-17795-ogr-filtered-readonly
...
[bugfix][ogr] Recompute capabilities when subsetfilter is set
2018-01-06 11:56:43 +01:00
Nyall Dawson
7e6d6af15c
Update test masks
2018-01-06 17:05:21 +10:00
Nyall Dawson
852f8249bc
Fix build
2018-01-06 17:05:21 +10:00
Nyall Dawson
2913005418
Drop some python composer tests
2018-01-06 17:05:21 +10:00
Nyall Dawson
b691998c68
Port some more tests to layouts, drop composer tests which
...
have been ported to layouts
2018-01-06 17:05:21 +10:00
Alessandro Pasotti
9c8533455f
[bugfix][ogr] Tests for capabilities update on filter changes
...
Fixes #17795
2018-01-05 15:43:28 +01:00
Denis Rouzaud
d7b4bffdc8
add test for date/time edit
2018-01-05 07:48:59 -04:00
Alessandro Pasotti
dd60fcd4fc
[bugfix] Add failing test for OGR setSubsetString
...
Fails to revert to rw after a subset string is set and cleared
2018-01-05 11:06:40 +01:00
Nyall Dawson
421ef88de0
Merge pull request #5966 from nyalldawson/layout_next
...
[layouts] Atlas and reporting framework
2018-01-05 15:29:28 +10:00
Nyall Dawson
e3daac407b
Rename some test methods
2018-01-05 13:19:26 +10:00
Nyall Dawson
3ac214170f
Auto generated names for reports are 'Report #'
2018-01-05 12:51:52 +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
ce161e0e7d
Fix failing unit test
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
3332118ec7
Add test mask
2018-01-05 11:15:04 +10:00
Nyall Dawson
ea4f61f024
Dox and spelling
2018-01-05 11:15:04 +10:00
Nyall Dawson
6db24327f2
Fix project retrieval for QgsReport
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
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
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
57628faa01
Add a unit test for exporting reports
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
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
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