203 Commits

Author SHA1 Message Date
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
Damiano
3c5f9b1e91 Python implementation for QgsSettingsEntryEnum/Flag and fixed docstrings 2021-04-07 14:02:08 +02:00
Damiano
d16702dfbc no more hand modified sip files 2021-04-01 10:13:08 +02:00
Damiano
cee0e310f8 Sip part running 2021-04-01 09:38:56 +02:00
Damiano
21c19aba9c static inline settings 2021-04-01 09:38:56 +02:00
Nyall Dawson
d3692361ad Avoid use of QStyleOptionGraphicsItem::matrix, which is removed
in Qt 6
2021-03-30 09:19:38 +10:00
Denis Rouzaud
ba8a445850 run sipify 2021-03-22 21:13:52 +01:00
Mathieu Pellerin
22d0826615
[processing] Fix atlas export relying on predefined scale for atlas-controlled map items (#42081)
* [processing] Fix atlas export relying on predefined scale for atlas-controlled map items

* De-duplicate code, add a QgsLayoutUtils::predefinedScale function
2021-03-09 06:49:48 +10:00
Alessandro Pasotti
59202c47a4 spell 2021-02-27 08:48:16 +01:00
Alessandro Pasotti
2318d761b2 QGIS 3 style doxy 2021-02-27 08:48:16 +01:00
Alessandro Pasotti
6d02a2abb0 Fix server getPrint accesscontrol for map items
Fixes #41800
2021-02-27 08:48:16 +01:00
Nyall Dawson
8324317e22 [layouts] Correctly set data defined html url or attribute table
source property on the parent multiframe object, not the child frame

Fixes #41590
Fixes #36647
2021-02-20 06:12:35 +10:00
Nyall Dawson
7dfef3a0b1 Newer doxygen versions don't auto convert the first line in a class'
documentation to a brief note, so we have to do it explicitly...
2021-02-19 08:15:29 +10:00
Nyall Dawson
50b9beaad6 [sipify] Catch more class references and insert :py:class: annotations 2021-01-31 05:41:22 +10:00
Nyall Dawson
a8c3b02cdd Correctly expose QgsLayoutItemAttributeTable::getTableContents to sip,
so that this class can be reused from Python classes

Fixes https://github.com/gltn/stdm/issues/411
2021-01-13 14:56:09 +10:00
Harrissou Sant-anna
a1ee2ffc96 Fix typo 2021-01-02 08:06:13 +10:00
Juernjakob Dugge
c04369ebe9 [FEATURE] Indentation of legend groups and subgroups
Fixes #29606
2020-12-23 20:56:24 +01:00
Nyall Dawson
da59316fb5 Use /TransferBack/ instead of /Factory/ in layout registry factory methods
For same reason as we do in Processing registry:

(from the comments included in this commit)
"
While it seems like /Factory/ would be the correct annotations here, that's not
the case.
As per Phil Thomson's advice on https://www.riverbankcomputing.com/pipermail/pyqt/2017-July/039450.html:

"
/Factory/ is used when the instance returned is guaranteed to be new to Python.
In this case it isn't because it has already been seen when being returned by QgsProcessingAlgorithm::createInstance()
(However for a different sub-class implemented in C++ then it would be the first time it was seen
by Python so the /Factory/ on create() would be correct.)

You might try using /TransferBack/ on create() instead - that might be the best compromise.
"
2020-12-22 06:27:17 +10:00
Nyall Dawson
494bf24bc0 Add signals for when layout item map crs or grid crs are changed 2020-11-23 07:03:37 +10:00
Nyall Dawson
746ee315bd Fix boolean literal presentation in dox/PyQGIS docs 2020-10-16 16:03:26 +10:00
olivierdalang
ce249b5933 rotated ticks folloup : prepare_commit 2020-10-08 09:37:35 +10:00
Nyall Dawson
c44178f517 Fix seealso link 2020-09-17 19:10:52 +10:00
Nyall Dawson
49e9b613b8 [layouts] Keep a separate flag for whether only a subset of layers
are to be clipped from the project, instead of just tracking this
by the presence of any checked layers

Avoids inconsistencies between the layers which are visibly clipped
on the map vs the options which are set in the GUI.
2020-09-17 19:10:52 +10:00
olivierdalang
498e7fc03c [rotated_ticks] add missing since 3.16 doctags 2020-09-01 11:08:17 +02:00
olivierdalang
426c869aef [rotated_ticks] prepare_commit and tests 2020-09-01 10:57:16 +02:00
olivierdalang
90cc33b3a8 [layout] rotated grid ticks/annotations (rebased) 2020-07-31 10:10:44 +02:00
Nyall Dawson
6d647aa678 Add method to filter QgsLayoutItemComboBox by item flags 2020-07-31 03:06:31 +10:00
Nyall Dawson
a533268edf Ensure map frame and background also follow clip path 2020-07-28 15:12:04 +10:00
Nyall Dawson
c5b3443cb3 Don't draw items which are a clip source for a map 2020-07-28 15:12:04 +10:00
Nyall Dawson
264bd51594 [layouts] Add API to set item based clipping region on maps
Allows using shape or polygon layout items to set the overall shape
of a layout map item's contents
2020-07-28 15:12:04 +10:00
Nyall Dawson
915615aec4 [layouts][api] Add API to allow map items to be clipped (take their shape from)
other layout items which provide clipping paths

Opens the door for non-rectangular layout maps
2020-07-28 15:12:04 +10:00
Nyall Dawson
77badc0097 QgsLayoutItemShape can provide clip paths 2020-07-28 15:12:04 +10:00
Nyall Dawson
aa0b36b27d QgsLayoutItemPolygon can provide a clip path 2020-07-28 15:12:04 +10:00
Nyall Dawson
2b283951be Add api for layout items to create a clipping path 2020-07-28 15:12:04 +10:00
Nyall Dawson
1878f2eb3b [layouts] Add API to retrieve an expression context scope for a particular
table cell, add backend support for QgsProperty based values in a manual
text table
2020-07-14 11:28:23 +10:00
Nyall Dawson
ff8d070fea [feature][layouts] Expose control over cell text alignment for
individual table cells in manual text tables

Allows users to set the text horizontal and vertical alignments
on a cell by cell/column/row basis

Sponsored by City of Canning
2020-07-13 06:00:05 +10:00