For multi-line labels, this allows use of either:
- HTML <p align="xxx"> attributes
- CSS "text-align: xxx"
- HTML <center>some text</center> tags
Supported alignments are left, right, center and justify
Horizontal alignment can be used in all contexts where
HTML text is rendered, EXCEPT for curved labels (since they
are restricted to single-line text)
Sponsored by City of Freiburg im Breisgau
* [settings] support direct connection from widget value change to update setting value
* support automatic setting update on dialog accept
* add settings entry
* better name + fix typo
* Update src/gui/settings/qgssettingseditorwidgetwrapper.h
Co-authored-by: Mathieu Pellerin <nirvn.asia@gmail.com>
* sipify
---------
Co-authored-by: Mathieu Pellerin <nirvn.asia@gmail.com>
...and other places HTML text formatting is accepted.
This allows use of CSS "word-spacing: 12" to increase the word
spacing in a section of HTML text. The word spacing is always
treated as being in point units.
See https://github.com/qgis/QGIS-Enhancement-Proposals/issues/299
Implements the API framework for setting advanced labeling engine
rules for a project, and implements 4 initial rule types:
- QgsLabelingEngineRuleMinimumDistanceLabelToFeature: prevents labels
being placed too *close* to features from a different layer
- QgsLabelingEngineRuleMaximumDistanceLabelToFeature: prevents labels
being placed too *far* from features from a different layer
- QgsLabelingEngineRuleMinimumDistanceLabelToLabel: prevents labels
being placed too close to labels from a different layer
- QgsLabelingEngineRuleAvoidLabelOverlapWithFeature: prevents labels
being placed overlapping features from a different layer
(note that the first 3 rules require a build based on GEOS >= 3.10,
they are not available for older GEOS builds)
Also implements a registry for storing available rule classes,
and serialization of rules and configuration in QGIS projects