1
0
mirror of https://github.com/qgis/QGIS.git synced 2025-04-01 00:05:25 -04:00

5215 Commits

Author SHA1 Message Date
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 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 
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 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
Nyall Dawson
be7dae7d52 Expand exporter tests 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
ec67ddfc0e Restore more atlas tests 2018-01-05 11:15:03 +10:00
Nyall Dawson
3d03128e4a Restore some more atlas related 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
b6f1425828 Flesh out QgsAbstractLayoutIterator interface 2018-01-05 11:15:03 +10:00
Nyall Dawson
69ddc32d0f Restore atlas map handling 2018-01-05 11:15:03 +10:00
Nyall Dawson
3ffdda3e30 Port predefined scale handling to layouts 2018-01-05 11:15:03 +10:00
Nyall Dawson
7c086beb92 Fix some map item todos 2018-01-05 11:15:03 +10:00
Nyall Dawson
49eaebbf40 Remove outdated icon support for item metadata
Now handled in QgsLayoutItem directly
2018-01-05 11:15:03 +10:00
Nyall Dawson
2ef3a5f199 Port current geometry from atlas to layouts 2018-01-05 11:15:03 +10:00
Nyall Dawson
92003c8797 Code shuffle, to make QgsLayoutContext aware of parent QgsLayout 2018-01-05 11:15:03 +10:00