56 Commits

Author SHA1 Message Date
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
Damiano Lombardi
0874a6a4e3 QgsMapToolRotateLabel respect rotation unit 2021-09-01 07:54:10 +02:00
Damiano Lombardi
b19b39637e [labeling] test for rotation unit 2021-09-01 07:54:09 +02:00
Damiano Lombardi
44fb7d6714 [labeling] specify unit for data defined label rotation 2021-09-01 07:54:09 +02:00
Nyall Dawson
cf8b96ad44 Nicer memory handling when registering label features 2021-06-21 14:28:27 +10:00
Nyall Dawson
c95fed55f1 [api] Add labeling flag to collect unplaced labels without rendering them 2021-06-09 20:45:20 +10:00
Nyall Dawson
8e2fb49718 Add method to retrieve all labels from QgsLabelingResults, instead of just labels within a rect 2021-06-09 20:45:20 +10:00
Nyall Dawson
8bfb959e29 Add a __repr__ for QgsLabelPosition 2021-06-09 20:45:20 +10:00
Nyall Dawson
b190c8f06b [labeling] Default to cartographic placement mode for point layers
Results in much nicer label placement, so should be the default mode
2021-05-25 16:39:15 +10:00
Nyall Dawson
e7c4c84ae3 [labeling][api] Add api to supress unplaced label visibility for
a single layer

Not exposed anywhere, for PyQGIS use only
2021-05-25 16:11:53 +10:00
Marco Hugentobler
dce94dc656 mLegend string member with getter and setter 2021-05-13 22:40:13 +02:00
Marco Hugentobler
62d73373c1 Make legend/preview text configurable 2021-05-11 18:32:46 +02:00
nirvn
9989cffb3c [feature][callouts] Add blending mode settings 2021-04-26 19:34:16 +10:00
Nyall Dawson
7126faf27c [feature][labelling] Add an option to control how line features are
clipped before their anchor points are calculated

The previous behavior was to always use only the visible part
of the line when calculating the anchor point for labels. Now,
users have the option to choose "Use Entire Line" when setting
the label anchor point for lines, so that the entire line
feature is considered when calculating the point to place
the label instead of just the visible part of the line.

Sponsored by Stadt Zürich
2021-04-09 13:29:08 +10:00
Denis Rouzaud
ba8a445850 run sipify 2021-03-22 21:13:52 +01:00
Nyall Dawson
5d06c1d48d [FEATURE] When the "show pinned labels" option is enabled, also
highlight any pinned callout start or end points

This allows users to immediately see which callouts points have
been manually placed vs are automatically placed.
2021-03-18 12:15:40 +10:00
Nyall Dawson
b15be66472 Spelling 2021-02-23 15:49:23 +10:00
Nyall Dawson
d84da56dca Add rendered callout details to QgsLabelingResults for retrieval after a map render completes 2021-02-23 15:49:23 +10:00
Nyall Dawson
4f39cf6d6c Move QgsLabelingResults out to its own file 2021-02-23 15:49:23 +10:00
Nyall Dawson
a513f5a1e6 Move QgsLabelPosition out to own file 2021-02-23 15:49:23 +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
Denis Rouzaud
2cc632ee5d follow up QVariant 2021-01-03 20:16:56 +01:00
Nyall Dawson
4ee9feb56b Sipify 2020-10-09 11:20:09 +10:00
Nyall Dawson
9f83b413a7 [vectortiles] Fix labels disappear randomly between map redraws
Fixes #37450
2020-09-01 14:23:31 +10:00
Nyall Dawson
f62c6d5d56 [feature][labeling] Expose option to allow users to control whether
anchor point for line labels is a hint or a strict requirement

Strict: Labels are placed exactly on the label anchor only, and no
other fallback placements are permitted.

Hint: The label anchor is treated as a hint for the preferred label
placement, but other placements close to the anchor point are permitted.
2020-08-21 09:48:47 +10:00
Nyall Dawson
b14bb32104 [labeling] Add api to set line anchor point for labels, which represents
the percentage along line features at which labels for that feature
should gravitate toward
2020-08-18 11:09:18 +10:00
Nyall Dawson
ff9f525893 Fix see also links 2020-08-17 11:12:33 +10:00
Nyall Dawson
844e9a3aac Move label overrun settings to QgsLabelLineSettings 2020-08-17 11:12:33 +10:00
Nyall Dawson
b31d315a52 Move another line label related setting and enum to QgsLabelLineSettings 2020-08-17 11:12:33 +10:00
Nyall Dawson
5dfbfaa89e Move some more line label related settings to QgsLabelLineSettings 2020-08-17 11:12:33 +10:00
Nyall Dawson
d93d881192 Move merge line settings to QgsLabelLineSettings 2020-08-17 11:12:33 +10:00
Nyall Dawson
23848e0e89 Start cleaning up label line settings, by moving them from the
QgsPalLayerSettings mega class to a dedicated QgsLabelLineSettings
class
2020-08-17 11:12:33 +10:00
Nyall Dawson
cfd9afed71 [feature][labeling] Expose Justify text alignment option for use
in multiline point/polygon labels

Allows multiline labels to be "justify" aligned
2020-07-09 13:23:20 +10:00
Nyall Dawson
8d4f00b0af Remove TODO comments included in public API documentation
This is just "airing our dirty laundry". We don't want/need end users
to see this.
2020-06-15 13:43:58 +10:00
Nyall Dawson
81a9db9f57 [sipify] Fix creation of cross references 2020-06-15 13:43:58 +10:00
Nyall Dawson
0e139992e3 Split massive qgstextrenderer.cpp/.h files into separate files per
contained class

and tighten includes to speed up recompilation
2020-05-12 10:33:30 +10:00
Nyall Dawson
7fc9c555de More cleanups, avoid multiple parsing of the same HTML content for a label 2020-05-12 10:33:30 +10:00
Nyall Dawson
f5d68ff423 Adapt QgsPalLabeling.splitToLines to account for HTML formatting 2020-05-12 10:33:29 +10:00
Nyall Dawson
66a3b090da Maybe even LESS enum classes will help? 2020-05-04 05:38:48 +10:00
Nyall Dawson
6ec369e6b7 Travis says no to enum class 2020-05-04 05:38:48 +10:00
Nyall Dawson
d0ca4f31f8 Since 2020-05-04 05:38:48 +10:00
Nyall Dawson
e10c9f3b19 [labeling][FEATURE] Add a dedicated polygon placement mode for "outside"
When selected, labels will always be placed outside of polygons for the
layer

Sponsored by QGIS Swiss user group
2020-05-04 05:38:48 +10:00
Nyall Dawson
9fb85d3bc8 [FEATURE][labeling] Permit data defined control over placing labels outside
polygons

Options are:
- 'yes': allow placing outside the polygon if needed
- 'no': don't allow outside placements
- 'force': only ever put this label outside the polygon
2020-05-04 05:38:48 +10:00
Nyall Dawson
51820badc1 [FEATURE][labeling] Add option to allow polygon labels to be placed
outside of polygon features when required

When a label can't be placed inside the polygon and this option is checked,
then it will be automatically placed at a nicely selected location
just outside of the polygon

Sponsored by QGIS Swiss user group!
2020-05-04 05:38:48 +10:00
Martin Dobias
8c488b4ef0 Added QgsRenderContext arg to referencedFields() + unit tests 2020-04-15 08:33:29 +10:00
Martin Dobias
f8a6b9fa3a Add support for labeling of vector tile layers 2020-04-15 08:33:29 +10:00
Nyall Dawson
0cd955743c Create QgsLabeling class for labeling related enums and constants,
and avoid inclusion of pal header in a public QGIS header

pal is an internal implementation detail -- it should not be exposed
publicly
2020-01-15 17:10:37 +13:00