29 Commits

Author SHA1 Message Date
Nyall Dawson
620948f809 Add method to change capitalization of QgsTextDocument 2020-09-21 12:05:54 +10:00
Nyall Dawson
484ba6f979 [labeling] Add a new capitalization option for "Title Case", and
rename the confusing "Capitalize First Letter" option to
"Force First Letter to Capital"

This change is intended to clarify the role of the "capitalize
first letter" option, and to provide an option which actually
does what users expect the "capitalize first letter" option
to do.

Fixes #16539
2020-09-17 09:33:51 +10:00
Nyall Dawson
51d8ad75c5 Don't modify text format paint effects in place
Avoids race conditions when multiple threads are rendering the same
text format which contains paint effects

Fixes #37938
2020-07-27 07:36:50 +10:00
Nyall Dawson
ac5a7226ee Add equality operator for QgsTextFormat 2020-07-14 11:23:33 +10:00
Nyall Dawson
9bad5578cf Equality operator for QgsTextShadowSettings 2020-07-14 11:23:33 +10:00
Nyall Dawson
52d7d1886a Add an equality operator for QgsTextMaskSettings 2020-07-14 11:23:33 +10:00
Nyall Dawson
305fa330bd Add equality operator for QgsTextBufferSettings 2020-07-14 11:23:33 +10:00
Nyall Dawson
7547dbd464 Equality operator for QgsTextBackgroundSettings 2020-07-14 11:23:33 +10:00
Nyall Dawson
c575b827bf Add an invalid state to QgsTextFormat
Allows determining whether the QgsTextFormat is a default constructed
object, which should represent a not set/default settings value.
2020-07-14 11:23:33 +10:00
Nyall Dawson
b584f93afb Expose text format override options to table editor widget 2020-07-13 06:00:05 +10:00
Nyall Dawson
52f774158e Add method to convert a QgsTextBlock to plain text 2020-07-09 13:23:20 +10:00
Nyall Dawson
49a3c1047e code cleanup 2020-07-09 13:23:20 +10:00
Nyall Dawson
77dfaae688 Add QgsTextRenderer methods to convert Qt alignment flags 2020-07-09 13:23:20 +10:00
Nyall Dawson
573e46b671 Add a character based text height calculation method to QgsTextRenderer 2020-07-08 17:00:39 +10:00
Nyall Dawson
a49cb7c9f3 [api] Add vertical alignment control to QgsTextRenderer 2020-07-08 08:49:57 +10:00
Nyall Dawson
0dd1490fdc [api] Apply a font scale workaround factor to QgsTextRenderer
This is a hack which has been in place in layouts/composer for a long
time in order to provide more consistent and reliable text rendering
at small font sizes or when "zoomed out". Without this hack the font
rendering and metric based calculations for these small font sizes
can be unstable, leading to font sizes "jumping" around as a layout
is zoomed into or out of.
2020-07-08 08:49:57 +10:00
Nyall Dawson
81a9db9f57 [sipify] Fix creation of cross references 2020-06-15 13:43:58 +10:00
Nyall Dawson
cedd73ee4d More list formatting fixes 2020-06-13 16:49:14 +10:00
Nyall Dawson
8fb8e45d51 Ensure that fields required by marker symbol backgrounds for labels
are fetched when rendering

Fixes #36944
2020-06-05 08:53:06 +10:00
Nyall Dawson
f2b03a8334 Doxygen test fixes 2020-05-12 19:21:39 +10:00
Nyall Dawson
99c8510709 Sipify 2020-05-12 15:37:22 +10:00
Nyall Dawson
180bbeccb8 PyQGIS syntatic sugar, start on tests for QgsTextDocument 2020-05-12 13:26:50 +10:00
Nyall Dawson
7dfc510771 Fix scalebar text size calculation when HTML formatting is used 2020-05-12 11:37:08 +10:00
Nyall Dawson
8b263162d5 Try to fix Travis build 2020-05-12 10:46:45 +10:00
Nyall Dawson
bf71382065 Don't try to reuse True value in enum, causes Python issue 2020-05-12 10:33:30 +10:00
Nyall Dawson
9a63810d82 Use composition rather then inheritance for QgsTextBlock/QgsTextDocument
Allows us to expose these to python and hopefully fixes compilation issue on Travis
2020-05-12 10:33:30 +10:00
Nyall Dawson
cb1e8445d3 Expose some more classes to Python, but mark as unstable API 2020-05-12 10:33:30 +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
e4b201a414 Code shuffle 2020-05-12 10:33:30 +10:00