1936 Commits

Author SHA1 Message Date
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
Denis Rouzaud
578ab8596d
Merge pull request #36089 from 3nids/expression-preview
Feature browser for preview in expression builder
2020-04-30 17:50:10 +02:00
Denis Rouzaud
9488f06025 code layout 2020-04-30 06:52:22 +02:00
uclaros
b6f890ec11 fix typo 2020-04-30 09:03:18 +10:00
Nyall Dawson
17c8a59e4e Refactor QgsLineString::interpolatePoint to extract segment traversal
to a separate visitor function

This allows other code paths to utilise this same logic in an efficient
way
2020-04-30 08:23:43 +10:00
Alessandro Pasotti
909dd31108
Merge pull request #36087 from Samweli/provider_metadata_bool_params
Functions for adding a variant of bool params in provider metadata
2020-04-29 18:47:22 +02:00
Denis Rouzaud
0119bb52e1 add setting for fetch limit 2020-04-29 15:54:16 +02:00
Denis Rouzaud
3090824cbf add a property to determine if geometry is fetched 2020-04-29 15:54:15 +02:00
Denis Rouzaud
ae5988cbb1 do not use template since they cannot be mixed with Q_OBJECT 2020-04-29 15:54:15 +02:00
Denis Rouzaud
780b581f03 use a template approach 2020-04-29 15:54:15 +02:00
Denis Rouzaud
01516d75e2 reintroduce reload current feature 2020-04-29 15:54:15 +02:00
Denis Rouzaud
82da0fd962 rename QgsFeatureChooser to QgsFeaturePicker 2020-04-29 15:54:15 +02:00
Denis Rouzaud
3cd237eca7 more work 2020-04-29 15:54:15 +02:00
Samweli
0cbb4dbb5b add setting of bool params in provider metadata 2020-04-29 14:05:08 +02:00
obrix
44fec550d5 Invert th meaning of min scale and max scale to be coherent with other qgis feature. Minimum scale is the most zoomed out scale, maximum scale the most zoomed in. Enrich the tooltip to be more explicit. Should fix issue #35786. 2020-04-29 13:00:39 +02:00
vcloarec
d28e3013f9 fix sip doc 2020-04-29 08:53:26 +10:00
vcloarec
56916581e1 fix sip 2020-04-29 08:53:26 +10:00
rldhont
19d2dc5b96
Merge pull request #35939 from Gustry/project_title
check project root name in the server validator
2020-04-28 18:51:46 +02:00
Nyall Dawson
38dfcdfc46 Deprecate QgsLegendRenderer methods which use raw QPainter and force use of QgsRenderContext 2020-04-28 18:19:59 +10:00
Nyall Dawson
0c64fd7907 [FEATURE] Allow overriding the legend patch size on a per-item basis
Allows users to override the symbol patch size for individual legend
nodes, by double clicking the node

Width and height can be individually overridden, with the node falling
back to the default width or height when the override isn't set.

Sponsored by SLYR
2020-04-28 11:31:43 +10:00
Martin Dobias
c2a7f25829 Improvements to the vector tile writer
- filtering of input layers by expressions and min/max zoom level
- custom layer names in the output
- writing of custom metadata for MBTiles output
- auto-calculate output extent (instead of defaulting to the whole world's extent)
- passing transform context to the encoder
2020-04-27 12:09:25 +02:00
Vincent Cloarec
c2bc0f63e3
[MESH] fix mesh calculator saving for windows (#35963)
fix mesh calculator saving for windows (fix #35549)
2020-04-27 11:18:19 +02:00
Mathieu Pellerin
5843fc4e34 Follow up commit ff2b2e8 : safer approach + test case 2020-04-27 06:28:47 +10:00
Martin Dobias
6f746b557e Add writing of vector tiles to MBTiles container 2020-04-25 14:31:10 +02:00
Etienne Trimaille
051e949f68
check project root name in the server validator 2020-04-25 09:28:35 +02:00
Vincent Cloarec
f8fae3cf39
[FEATURE][MESH] 1D mesh width/color varying (#35926)
Introduce a renderer for 1D mesh edges that can vary width over the line. The line can also have different color based on the actual dataset value on the line's point.

Co-authored-by: Peter Petrik <zilolv@gmail.com>
2020-04-24 10:49:24 +02:00
Nyall Dawson
1af8b8178b Add some helpful scoped RAII classes for use with QgsRenderContext
QgsScopedRenderContextPainterSwap: allows for temporarily swapping
the destination painter object for a QgsRenderContext for the lifetime
of the object

QgsScopedRenderContextScaleToMm: temporarily rescales a render context
destination painter device to use millimeter based units for the lifetime
of the object

QgsScopedRenderContextScaleToPixels: temporarily rescales a render
context (which has been scaled to millimeter based units) back
to pixel based units, for the lifetime of the object
2020-04-24 04:07:33 +10:00
olivierdalang
2d6b939225
Fix QgsAbstractGeometry->segmentize() not returning correct WkbType for multi-geometries 2020-04-24 04:03:55 +10:00
Nyall Dawson
5b6589f6dc Cleanup QgsCoordinateReferenceSystem WKT enum
- alias WKT_2018* to new WKT_2019* values, since the spec is actually
2019, not 2018
- add WKT_PREFERRED value which currently aliases to WKT2_2019, but
can be changed if/when future bumps to the WKT spec happen
- add WKT_PREFERRED_GDAL which should be used whenever a CRS is
exported to WKT for use with GDAL API. Aliases to WKT2_2019 currently,
but can be changed if/when a new spec is released and GDAL supports it
2020-04-24 03:59:28 +10:00
Matthias Kuhn
5d45b71421
Merge pull request #33950 from DelazJ/renameMapTheme
[feature] Allow renaming of the current map theme
2020-04-23 16:55:17 +02:00
Etienne Trimaille
4e7018db79
update english after PR review in the project validator 2020-04-22 11:22:45 +02:00
Etienne Trimaille
471979aa50
move the QGIS Server validator from the project properties to its own class 2020-04-22 09:33:08 +02:00
Nyall Dawson
ec2894ea32 Show favorited legend patches in legend patch button menu 2020-04-22 12:43:01 +10:00
Nyall Dawson
8a0e007ba5 [FEATURE] Support legend patch shapes in style manager databases
And clean up a lot of duplicate code which makes adding new types
to QgsStyle painful
2020-04-22 12:43:01 +10:00
Martin Dobias
0973da69b1 Nyall's review suggestions, test fixes, windows build fix 2020-04-21 13:28:56 +02:00
Martin Dobias
da4764472e sip fix 2020-04-21 13:28:56 +02:00
Martin Dobias
41db54aa16 [FEATURE] Vector tiles writer API
Initial work... Currently supporting output to a directory based on XYZ template, using Mapbox vector tiles encoding.

New classes:
- QgsVectorTileMVTEncoder - low-level class that operates on a single tile, converts vector features to raw tile byte array, for internal use
- QgsVectorTileWriter - higher level class that manages generation of multiple tiles, for use by clients
- QgsVectorTileMVTUtils - assorted helper functions for MVT encoding/decoding
2020-04-21 13:28:56 +02:00
Nyall Dawson
ddbcb1f478 [FEATURE][layouts] Allow configuring legend patch shapes by
double-clicking on legend items

Allows users to set custom legend patch shapes for items by
entering a WKT string representing the patch geometry
2020-04-21 10:40:50 +10:00
Nyall Dawson
fe435a325e Add optional shape argument to symbolPreviewPixmap/symbolPreviewImage 2020-04-21 10:40:50 +10:00
Nyall Dawson
ae8e5cfeaa Move default legend patch shape handling to QgsStyle 2020-04-21 10:40:50 +10:00
Nyall Dawson
e5be0de36a Add a more convenient constructor for QgsPolygons 2020-04-21 10:40:50 +10:00
Martin Dobias
0633989524 [browser] React when a custom data item provider is added/removed
Until now, if a plugin adds a custom data item provider that adds
a root item to the browser model, the new root data item would not
get added and a restart of QGIS was necessary.
2020-04-21 08:20:08 +10:00
Nyall Dawson
6a1a2e9af0 [processing] Fix handling of vrt, SAGA tif output file names
Fixes #35755, fixes #35770
2020-04-17 16:18:09 +10:00
vcloarec
9377ec414c allow temporal layout item map 2020-04-17 04:01:06 +10:00
Nyall Dawson
3b3c7d8012 Hookup model logic for correct skipping of branches which shouldn't be run 2020-04-16 16:02:53 +10:00
Nyall Dawson
6a1b10686b [FEATURE][processing] New modeler algorithm for conditional branches in models
This algorithm allows useres to setup multiple conditions (via qgis expressions),
which cause their corresponding branch of the model to be run or skipped
depending on the result of the expression evaluation.

Sponsored by Andreas Neumann
2020-04-16 16:02:53 +10:00
Nyall Dawson
e3955df564 Add method to model API to get available dependencies for a child algorithm 2020-04-16 16:02:53 +10:00
Nyall Dawson
b2167594fe Make handling of processing child algorithm dependencies more flexible
Instead of just using child ID strings, use a new dedicated class to
store dependency information
2020-04-16 16:02:53 +10:00