238 Commits

Author SHA1 Message Date
Nyall Dawson
781b869a7e [feature][layouts] Support filtering layout legends by multiple linked map items
Instead of limiting layout legend filtering to a single linked map,
this change permits legends to be filtered instead by multiple
linked maps. It is designed to accomodate the use case where
a layout has multiple maps, potentially at different scales
and showing different extents, and a single legend is required
which includes all symbols visible across all the maps.

Sponsored by City of Canning
2023-03-08 14:53:12 +10:00
Nyall Dawson
f9c3da1e06 Move unit enums to Qgis, promote to enum class 2023-02-19 13:29:06 +10:00
Nyall Dawson
d517b9e28a Dox++ 2023-01-30 13:35:42 +10:00
Nyall Dawson
ff447f0ce4 Allow layout elevation profile items to use the atlas feature as
the source of the profile curve

(Requires a line geometry type for the atlas layer)
2023-01-30 13:35:42 +10:00
Nyall Dawson
4cf399f7c9 Implement layout elevation profile plot rendering 2023-01-27 17:38:59 +10:00
Nyall Dawson
f22cd8379a Add widget for setting profile tolerance 2023-01-27 14:43:26 +10:00
Nyall Dawson
e42c3ba1c1 Add method to create profile request for a layout profile item 2023-01-24 11:43:09 +10:00
Nyall Dawson
f3af0dfe65 Add some more settings to layout profile item 2023-01-24 11:43:09 +10:00
Nyall Dawson
f58e870563 [api]Allow layers to be set for layout elevation profile item 2023-01-18 14:56:03 +10:00
Nyall Dawson
c126930db4 Dox 2023-01-17 15:36:03 +10:00
Nyall Dawson
d0f64814ad Expose margin control 2023-01-17 15:36:03 +10:00
Nyall Dawson
054c4598b7 Expose chart ranges options 2023-01-17 15:36:03 +10:00
Nyall Dawson
60baa03ae7 Expose widgets for chart appearance 2023-01-17 15:36:03 +10:00
Nyall Dawson
58e52ed9de More framework 2023-01-17 15:36:03 +10:00
Nyall Dawson
7fdc80496c Framework 2023-01-17 15:36:03 +10:00
Nyall Dawson
3527257bd1 Deprecate legend line spacing setting, this is now handled in the text
formats
2022-11-29 14:31:36 +10:00
Nyall Dawson
34df6d129a [feature] Use text renderer in layout legends
This change allows use of the full text renderer capabilities
for legend titles, subtitles, and item text. It allows buffers,
shadows, font spacing control, and all over options (including
mixed HTML formatting!) which is permitted for use in text
formats.
2022-11-29 14:31:36 +10:00
Mathieu Pellerin
ed3483edb1 [layouts] Support non-printer layout exports when QPrinter not available 2022-11-23 21:24:15 +07:00
Julien Cabieces
5a2a89bb99 Fixes #37804 : save original layout item picture mode 2022-09-26 09:38:57 +10:00
Nyall Dawson
ff145d38ff Add __repr__ for QgsLayoutTableColumn 2022-06-13 17:33:52 +10:00
Nyall Dawson
48071fa228 Alternative fix for #43744
Fixes #48965
2022-06-13 17:33:52 +10:00
Nyall Dawson
0e28ab5148 Also expose data defined control over scalebar height and subdivision
height, right number of subdivisions
2022-06-09 19:04:45 +10:00
Nyall Dawson
1df43e05bd Use "minimum"/"maximum" to meet API conventions 2022-06-09 19:04:45 +10:00
Ethan Snyder
c14f9144f2 Made changes per review comments from Nyall. 2022-06-09 19:04:45 +10:00
Ethan Snyder
abcb631b3e Updated sip files for the layout scalebar and the layout object. 2022-06-09 19:04:45 +10:00
Julien Cabieces
012b6a46db constify methods 2022-04-29 08:21:47 +10:00
Nyall Dawson
180ae3bc16 Also apply font settings from layer conditional styling to layout attribute tables 2022-03-17 18:12:46 +10:00
Andrea Giudiceandrea
ed9bb49ff1 Add 'Stepped Line' and 'Hollow' styles to QgsLayoutItemScaleBar::setStyle() docs 2022-02-03 20:51:53 +10:00
Marco Hugentobler
7fbabb6744 Re-add accidentally removed white-space 2021-12-23 13:25:57 +10:00
Marco Hugentobler
be6d9b5f61 Add bracket (in case %2 is an arithmetic expression) and add unit test 2021-12-23 13:25:57 +10:00
Nyall Dawson
edab6ff4fd [feature] Allow full text rendering capabilities in layout text labels
Allows for shadows, text buffers, etc in these labels
2021-12-02 07:17:13 +10:00
Juergen E. Fischer
c6008b7ee1 fix MSVC build: reverts fee62e4, dff05dd and e3a77b9484c effectivly
reverting 3fb0f66 (followup #45348)

Using --no-public-is-protected (default on Windows) also works on Linux
and fixes #45331 too
2021-10-21 23:03:48 +02:00
nirvn
ef84e48a09 Run sipify_all.sh 2021-10-12 16:34:05 +10:00
Denis Rouzaud
ec16736306 run sipify 2021-10-12 16:34:05 +10:00
Nyall Dawson
0ab6113e88 Promote QgsMapSettings and QgsRenderContext enums to enum class, move to Qgis 2021-09-26 11:24:51 +10:00
Matthias Kuhn
4d27183715
Merge pull request #39211 from jdugge/indent_legend_groups
[FEATURE] Indentation of legend groups and subgroups
2021-06-25 09:14:32 +02:00
Sandro Mani
64a7234e33 Add QgsLayoutItemPage::pageLayout 2021-06-14 04:57:54 +10:00
Nyall Dawson
ccb4146206 [api] Add signal to QgsLayoutDesignerInterface which is emitted
whenever a map item's preview image has been refreshed inside
the designer
2021-06-09 20:45:20 +10:00
Nyall Dawson
309a2a6bad Add a signal when an item is added to a layout 2021-06-09 20:45:20 +10:00
Nyall Dawson
2a5728720f [api] Add method for retrieving label results from QgsLayoutExporter
Allows plugins and scripts to collect statistics about the labeling
results from all map items included in a layout export
2021-06-09 20:45:20 +10:00
Nyall Dawson
643e4689a1 [api] Add method to retrieve labeling results for layout maps 2021-06-09 20:45:20 +10:00
Alessandro Pasotti
5c597641ef Better wording for setLayers documentation 2021-06-08 09:27:07 +02:00
Alessandro Pasotti
cf45b6b23f Integrate the setLayers docs 2021-05-26 10:49:49 +02:00
Nyall Dawson
b5dfe8f155 Refactor enum handling
- Add enums to qgis.h instead of qgscoreenums, so that they belong to
a Qgis namespace
- Split up the various symbol headers into multiple files so that we
can fine-tune their inclusion and forward declare more readily, speeding
up recompilation
- Move QgsSymbol enums to qgis
2021-05-18 16:59:22 +10:00
Nyall Dawson
5e98648913 [feature][layout] Add ""Convert to Static Text" option to dropdown
menu next to "Insert/Edit Expression…" in layout label properties
widget

When selected any dynamic parts of the label's contents will be
evaluated and replaced with their current values.

Provides an easy way to convert a dynamic label to a static one,
so that the user can then manually tweak the resulting tweak
when needed.
2021-05-13 17:11:13 +10:00
Denis Rouzaud
6817d9416a [FEATURE] supports dynamic SVGs in layouts
also fix a UX bug where you couldn't switch between raster and SVG radios if the data defined property was active (unreported in tracker)
2021-05-11 11:15:55 +02:00
Nyall Dawson
dce9c15f57 [layouts] Move methods for determining if a layout requires
rasterization or contains advanced effects to QgsLayoutExporter
instead of QgsLayoutDesignerDialog

This places them in a re-usable, testable location instead of
in private code
2021-05-06 18:23:36 +10:00
Matthias Kuhn
9cc407053b
Merge branch 'master' into indent_legend_groups 2021-05-05 09:30:33 +01:00
Damiano
810af987d3 Removed setting entries from the python api 2021-04-29 11:18:55 +02:00
Damiano
9762206731 Removed Settings struct / unified Enum/Flag logic in one base class 2021-04-14 15:41:49 +02:00