nirvn
bdf18ee0fd
Add a QgsStringUtils function to substitute characters with vertical representation counterparts
2019-08-16 13:56:19 +07:00
nirvn
08c1df18de
[labeling] replace characters with vertical presentation form counterparts
2019-08-16 13:56:19 +07:00
nirvn
e487e96954
[labeling] Prohibit non horizontal orientation for curved placement
2019-08-16 13:56:19 +07:00
Peter Petrik
5274c287b5
fix build when QT defines QT_NO_PRINTER
2019-08-16 08:25:17 +02:00
Matthias Kuhn
fc482cbe05
Merge pull request #31158 from m-kuhn/geom_gaps_allowed
...
"Allowed gaps" layer for gap check
2019-08-16 08:00:42 +02:00
David Signer
f2073bd3b1
do only return true if both values are null and none of them is invalid
2019-08-15 22:22:11 +02:00
Matthias Kuhn
3c52497a08
Merge pull request #31264 from m-kuhn/fix_json
...
Fix variant to json array handling
2019-08-15 18:32:37 +02:00
David Signer
6bbf5da33b
using qgsVariantEqual
2019-08-15 15:48:28 +02:00
Stephen Knox
371c7c7c8d
Fix variant to json array handling
2019-08-15 14:34:46 +02:00
Stephen Knox
2af4ad936a
Cascade change to variable initialisation to other files
2019-08-15 14:32:12 +02:00
David Signer
38e4bacb7d
missing sip
2019-08-15 11:03:19 +02:00
David Signer
9b236a07fe
handles two null values as equal, since they can be handled as not equal by == comparison.
2019-08-15 11:02:37 +02:00
Nyall Dawson
992d26135d
Fix replacement of fill/stroke opacity in parameterized svgs with opacity in style attributes
2019-08-15 18:54:23 +10:00
Matthias Kuhn
486a72140e
Merge pull request #31072 from DelazJ/vectorlayertooltip
...
Add tooltips to vector layer properties tabs
2019-08-15 08:58:08 +02:00
nirvn
27124a5d27
[layout] Skip empty multiframe items when writing xml
2019-08-15 09:50:33 +07:00
nirvn
ecf7b50736
[layout] Fix crash an attribute table item tries to access a destroyed map
2019-08-15 09:50:33 +07:00
Matthias Kuhn
e7e87804d2
Add ingroup
2019-08-14 10:04:51 +02:00
Matthias Kuhn
0659dd7236
Dox
2019-08-14 10:04:51 +02:00
Matthias Kuhn
9f682a0663
struct class
2019-08-14 10:04:51 +02:00
nirvn
3e2179e147
[expression] Update the format_date function help hyperlink to point to qt5 doc
2019-08-14 12:54:46 +07:00
nirvn
30a28e66c8
[virtuallayer] Properly register expression function containing optional parameters
2019-08-14 12:54:46 +07:00
nirvn
b58a2a6c21
[FEATURE][expression] Optional format parameter for to_date, to_datetime, to_time functions
2019-08-14 12:54:46 +07:00
nirvn
3a19a5f2a9
[ui] Fix function help hyperlinks not working
2019-08-14 11:51:50 +07:00
lbartoletti
2ef9dc9cbd
obviously
2019-08-14 09:05:13 +10:00
lbartoletti
5077a78fb3
prevent potential misuse and remove duplicate nodes for some topological cases
2019-08-14 09:05:13 +10:00
lbartoletti
cf081140d1
avoid potential crash
2019-08-14 09:05:13 +10:00
lbartoletti
57a9155d27
topological editing: fix topological editing for trim/extend map tool
2019-08-14 09:05:13 +10:00
lbartoletti
8ff30072da
topological editing: fix copy/move feature
2019-08-14 09:03:51 +10:00
lbartoletti
e5cd1aa913
Topological editing: fix vertex tool (Z support) ( #31163 )
2019-08-14 09:00:58 +10:00
Nyall Dawson
2074f2c9fc
Warnings
2019-08-14 06:46:19 +10:00
Nyall Dawson
89fd484ea4
More dox fixes
2019-08-14 06:46:19 +10:00
Nyall Dawson
be4e7b1088
More attempt to fix doxygen warning
2019-08-14 06:46:19 +10:00
Nyall Dawson
73f11242df
Fix warning
2019-08-14 06:46:19 +10:00
Nyall Dawson
490b348e39
Always clear map layer ID after exporting a multi-layer item
2019-08-14 06:46:19 +10:00
Nyall Dawson
b4a172f87e
Dox fixes
2019-08-14 06:46:19 +10:00
Nyall Dawson
2e186236d5
Reenable test
2019-08-14 06:46:19 +10:00
Nyall Dawson
f0d60952bf
Dox++
2019-08-14 06:46:19 +10:00
Nyall Dawson
4f81a88812
[layouts] Add flags to control whether labels are split to multiple
...
layers in multi-layer exports
2019-08-14 06:46:19 +10:00
Nyall Dawson
41f819a52f
Add API to allow labels in QgsMapRendererStagedRenderJob to be
...
rendered by individual map layer
This allows seperation of labels belonging to different layers,
but may affect label stacking order as the order will become
layer-dependant, instead of per-label-dependant.
2019-08-14 06:46:19 +10:00
Nyall Dawson
3938e8f27c
Make QgsLabelingEngine an abstract base class, and make QgsDefaultLabelingEngine
...
as the default concrete class implementation of this
Allows other labeling engine subclasses which can do things like
render labels belonging to each individual layer to different
QPainter devices.
2019-08-14 06:46:19 +10:00
Nyall Dawson
7e1cd25e31
Add direct storage of map layer ID to render jobs, to use as an identifer only
2019-08-14 06:46:19 +10:00
Nyall Dawson
997b07d59e
Fix use of deprecated methods
2019-08-14 06:46:19 +10:00
Nyall Dawson
e3a6cfa2c5
SVG multilayered export no longer messes up label placement (yay!)
2019-08-14 06:46:19 +10:00
Nyall Dawson
de3b886313
Fix generation of layer names for exported multi-layer map exports
2019-08-14 06:46:19 +10:00
Nyall Dawson
56609123fc
[layouts] Rework API for item export to multi-layered exports
...
Reworks the QgsLayoutItem API for handling multi-layered exports
to work as an iterator. The advantage with this is that it avoids
items needing to calculate in advance how many layers they require
in the output file.
2019-08-14 06:46:19 +10:00
Nyall Dawson
07c8c54660
Split part iteration for staged render job to a manual API call
2019-08-14 06:46:19 +10:00
Nyall Dawson
90d55d8240
Correctly respect label blocking items during layered layout exports
2019-08-14 06:46:19 +10:00
Nyall Dawson
7faeaff5a9
Add isFinished method to staged render job
2019-08-14 06:46:19 +10:00
Nyall Dawson
9b512b0f6e
Render labels in staged renderer job
2019-08-14 06:46:19 +10:00
Nyall Dawson
244eb92a82
Add QgsMapRendererStagedRenderJob
...
This map renderer job subclass is designed for step-by-step rendering
of a map to different QPainters.
It exposes an API which lets callers iterate over parts of a map
(e.g. individual map layers, labels), specifying a destination
QPainter for each step in the iteration.
This is designed to improve the existing print layout export to
layered output map rendering, where currently the maps are rendered
by multiple renderer jobs, each only rendering one layer at a time.
This current approach of rendering individual layers are separate
jobs is fundamentally broken (and cannot be fixed), because it
prevents any handling of interactions between map layers (e.g. shifting
colliding labels).
2019-08-14 06:46:19 +10:00