that these are automatically respected whenever the format is
rendered using QgsTextRenderer
This is done transparently to the caller - so by porting away
from the raw QPainter text apis to use QgsTextRenderer instead,
then they immediately gain the ability to use data defined
properties in their text formats.
display of unplaced labels
This is independant from the main canvas setting, and can be used
to determine whether labels are missing from a particular layout map
This setting (accessed through the project label settings dialog)
allows unplaced labels to be shown on the map. These are rendered
using a red color by default (but the color can be changed from
the label settings dialog too), allowing users to determine whether
any important labels are missing from their maps (e.g. due to
overlaps or other constraints).
methods
While unused for now, this gives us flexibility in future to specify
additional useful contextual information about how a callout should
be rendered without breaking API (e.g. label text alignment, label
font settings, etc)
When a topological check returns a gap, it's sometimes better to zoom to the gap,
sometimes to show the gap in the context of the surrounding polygons. There is no
one-size-suits-all solution.
Therefore it's now possible to zoom to one by enabling the "zoom to feature(s)" button
also for topological errors.
- Disable zoom / pan when filtering by visible features (fixes#30763)
- Disable flash / zoom / pan when not set to form view
- Do not trigger flash / zoom / pan when selection hasn't actually changed
Hopefully this will prevent additional items being added to the cache
after we've gracefully finalised proj operations, which results
in the infamous crash-on-exit fiasco...
methods
While unused for now, this gives us flexibility in future to specify
additional useful contextual information about how a callout should
be rendered without breaking API (e.g. label text alignment, label
font settings, etc)
Access of reply members/properties causes crash if the reply is deleted
elsewhere. Guard cast reply object using QPointer and access all
properties immediately.
require it to make changes to a label
E.g. when a layer is set to store label x/y in a real field (not
an aux field), then that layer must be editable in order to move
labels in it. Otherwise the move operation fails, but users are
left no clue as to why the label can't be shifted...
So now we automatically switch on edits and notify the user of
this via the messagebar, and if we CAN'T make the layer editable,
we also warn them of this.
first time
Previously this was firing off the styleChanged for every new auxiliary
field created, which is a very expensive call to process (as it involves
rebuilding GUI widgets). Instead, delay the call and only it fire it
once, if we actually changed something in the style.