87 Commits

Author SHA1 Message Date
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
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
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
5bc543af6a Refactor layout context
Split render context from reporting context
2018-01-05 11:15:04 +10:00
Nyall Dawson
e169c219b3 Work on modernizing atlas 2018-01-05 11:15:03 +10:00
Nyall Dawson
e6a6db89a1 Add QgsLayout subclass, QgsPrintLayout
A print layout is a layout with an atlas
2018-01-05 11:15:03 +10:00
Nyall Dawson
bd7784cd00 Start working on restoring atlas 2018-01-05 11:15:03 +10:00
Nyall Dawson
25c3e135b0 Move datum transform structs out to their own header, to avoid
need to include private header file
2017-12-18 21:19:02 +10:00
Matthias Kuhn
7735019921 Revert "Add missing sip file"
This reverts commit c487ee6be0992931031ae930f698c19344f06061.
2017-12-18 09:30:41 +01:00
Matthias Kuhn
c487ee6be0 Add missing sip file 2017-12-18 09:29:16 +01:00
Nyall Dawson
cb693a72f9 Move caching to QgsCoordinateTransform
and remove no longer required QgsCoordinateTransformCache singleton
2017-12-15 14:14:08 +10:00
Nyall Dawson
018bfb49f9 Remove QgsDatumTransformStore
and port usage over to QgsCoordinateTransformContext instead
2017-12-15 14:13:52 +10:00
Nyall Dawson
8a0bd08e07 Start on QgsCoordinateTransformContext
Stores settings related to the correct datum transforms to use
when performing a coordinate transform.
2017-12-15 14:11:38 +10:00
Nyall Dawson
d0475cb042 Travis doesn't like me fixing him 2017-12-15 10:58:47 +10:00
Etienne Trimaille
5c28ecab8f update HTML data provider metadata (#5700)
* update HTML data provider metadata for grass, gdal and ams

* update HTML data provider metadata for WMS and WCS

* move HTML bullet list to QgsHtmlUtils
2017-12-13 13:29:41 +02:00
Nyall Dawson
21fe98d5f0 Sipify 2017-12-04 13:10:28 +10:00
Alessandro Pasotti
19b062c304
Merge pull request #5766 from Gustry/file_downloader
Display the downloaded size in QgsFileDownloaderDialog
2017-12-01 14:30:34 +01:00
Nyall Dawson
bcc1b91b74
Merge pull request #5717 from nyalldawson/layout_next4
[layouts] Port/adapt all remaining item types
2017-12-01 13:43:58 +11:00
Etienne Trimaille
88054a3744 display the downloaded size in QgsFileDownloaderDialog 2017-11-30 14:29:24 +01:00
Matthias Kuhn
916c9c4cdb Open heart surgery on expression context for processing sources 2017-11-24 16:09:05 +01:00
Nyall Dawson
3268b778ed Sipify 2017-11-24 16:16:40 +10:00
Nyall Dawson
f90c5003ca Port table subclasses 2017-11-24 10:24:36 +10:00
Nyall Dawson
3a0f94389c Port text table 2017-11-24 10:24:36 +10:00
Nyall Dawson
9cf6e0a2a2 Start porting table items 2017-11-24 10:24:36 +10:00
Nyall Dawson
8f5e0cb126 Begin porting scalebar item 2017-11-24 10:24:36 +10:00
Nyall Dawson
f1d1e454d8 Begin port of HTML item 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
0a18b1fdd0 Update sip 2017-11-23 11:46:52 +10:00
Nyall Dawson
8fd8b6ebf1 Update sip bindings 2017-11-15 20:49:45 +10:00
Nyall Dawson
d3430e4d42 Port legend item 2017-11-07 11:32:39 +10:00
Nyall Dawson
83f177c1d2 Start porting label item 2017-11-07 11:32:39 +10:00
Nyall Dawson
1bfed13484 Port picture item 2017-11-07 11:32:39 +10:00
Nyall Dawson
5d5c858dc8 Start restoring grids/overviews 2017-11-07 11:32:38 +10:00
Nyall Dawson
783636dfa7 Port polygon and polyline items to layouts 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
4e8878dcb3 Port item blend mode support to layouts 2017-11-07 11:32:38 +10:00
Matthias Kuhn
7811f38e48
[FEATURE] Add QgsFeatureListComboBox with live-filter-capabilities 2017-10-26 15:30:38 +02:00
Nyall Dawson
587072cae9 Split QgsFileDownloader into separate core/gui classes
So that the guts of this class can be used from non-gui code
2017-10-19 06:32:50 +10:00
Nyall Dawson
5aa9a1556f Start porting group handling from composer 2017-10-09 19:23:46 +10:00
Blottiere Paul
6b81286a8f Implement action create auxiliary field 2017-10-09 05:01:34 +01:00
Blottiere Paul
de498314d2 Add auxiliary storage mechanism in project 2017-10-09 04:44:39 +01:00
Nyall Dawson
0939333273 Port item alignment to layouts 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
Martin Dobias
5172a339ca Finished unit tests 2017-10-03 17:01:54 +02:00
Martin Dobias
68bb68d176 [FEATURE] QGIS 3D (pull request #5203) 2017-10-02 23:02:37 +02:00
Matthias Kuhn
5fba1e85aa
Add sip bindings 2017-09-29 17:52:29 +02:00
Martin Dobias
d91ebe273b Trying to work around SIP file parsing error (dir starting with number) 2017-09-24 11:57:43 +02:00
Nyall Dawson
33d2d1119c Update sip 2017-09-22 12:50:47 +10:00