4339 Commits

Author SHA1 Message Date
Denis Rouzaud
4568bcdf1f [sipify] prevent creation of param list when not necessary 2018-01-12 21:10:16 -04:00
Denis Rouzaud
6d94ac9c6c run sipify 2018-01-12 21:10:16 -04:00
Matthias Kuhn
f76421db4e
Merge pull request #5900 from m-kuhn/layerPropsStyleInTitle
Show style name in layer properties dialog title
2018-01-11 09:03:47 +01:00
Alessandro Pasotti
f868bcc691 [layout] Add printLayouts to return all print layouts contained in the manager 2018-01-10 18:03:08 +01:00
Denis Rouzaud
880d853e9f
detect SIP version to add DefaultDocstringSignature directive (#6030)
* detect SIP version to add DefaultDocstringSignature directive

SIP doesn't handle any kind of preprocessing, so there's no better solution than configuring the SIP files from CMake.
SIP 4.19.7+ supports %DefaultDocstringSignature to prepend auto-generated Python signature to existing Docstrings
2018-01-10 10:32:21 -04: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
Nyall Dawson
0a3f9f60ff
Merge pull request #5807 from nyalldawson/alg_background
[processing] Add flag to indicate whether an algorithm is safe
2018-01-10 11:37:35 +10: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
Nyall Dawson
40e47e0fe7 [processing] Add flag to indicate whether an algorithm is safe
to run in a background thread
2018-01-10 05:33:02 +10: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
943025c204 Typos 2018-01-09 08:08:26 +01:00
Alessandro Pasotti
3bfebe144e Sipify 2018-01-09 08:08:26 +01:00
Alessandro Pasotti
a6199bec03 Added optional argument to create reference layout images 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
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
Etienne Trimaille
3432bf8f3b load and save metadata to a QMD file 2018-01-07 12:13:41 +10: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
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
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
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