936 Commits

Author SHA1 Message Date
nirvn
f9810a4534 [effects] Fix blur radius not taking dpi into account (fixes #14885) 2019-05-23 11:34:15 +07:00
Nyall Dawson
d8a5dfef06 Add missing dox to QgsRenderContext 2019-05-22 07:12:06 +10:00
Nyall Dawson
e23ceaa806 Mark render features methods as throwing QgsCsException, to allow it to be nicely caught in Python 2019-05-22 07:12:06 +10:00
Nyall Dawson
60deffbfa8 Add method to QgsRasterBlockFeedback to collect error messages
And append raster errors to rendering errors whenever encountered
2019-05-22 03:46:00 +10:00
rldhont
943c7d5d90 [Processing] Define boolean output
In processing, if an algorithm has a boolean as an output, it cannot be defined as boolean but as a number.

To be more precise in algorithms description, the commit add QgsProcessingOutputBoolean.
2019-05-17 08:21:57 +10:00
Matthias Kuhn
00d31f6003 Revert "Merge pull request #10002 from m-kuhn/qgz-attachments"
This reverts commit 0804e342c863455fe7114e4fa84d8b9931656f8c, reversing
changes made to e07741f00b7d69cada35521f10d3703ff404083f.
2019-05-16 13:15:07 +02:00
Matthias Kuhn
a55c25bbeb Allow adding attachments in qgz files 2019-05-15 08:21:49 +02:00
Juergen E. Fischer
e9a80d6799 fix build 2019-05-12 17:19:50 +02:00
Alessandro Pasotti
9a612d4e19
Merge pull request #9832 from elpaso/qjson-nlohmann
Fast (and beautiful) json serializing
2019-05-10 11:33:10 +02:00
Nyall Dawson
85ff9aea31 Add method to retrieve map extent to QgsRenderContext
Previously only a "layer clipping extent" was available for retrieval
from a QgsRenderContext instance, yet there's a need for rendering
operations to have access to the original full extent of the map
being rendered.
2019-05-10 06:31:00 +10:00
Nyall Dawson
6b16218c0f Allow setting order by clause for aggregate calculation 2019-05-10 06:23:56 +10:00
nirvn
65ec9cd146 [symbology] Fix setSize(size) not working for ellipse markers 2019-05-08 13:18:02 +07:00
Alessandro Pasotti
ea0a70bd13 Merge branch 'qjson-nlohmann' of github.com:elpaso/QGIS into qjson-nlohmann 2019-05-03 20:15:24 +02:00
Alessandro Pasotti
bd3d75fce8 Indent on JSON export 2019-05-03 19:02:58 +02:00
vcloarec
109049ea86 Implementation of QgsMeshLayer::reload() and QgsMdalProvider::reloadData()
Implementation of this override method permit to reload mesh end dataset groups when the data changed outside of the QGIS application.
2019-05-03 15:26:22 +02:00
Alessandro Pasotti
748a73ab80 Fix 3D build 2019-05-02 17:39:50 +02:00
Alessandro Pasotti
bbd836f4d3 Update tests for geometry classes 2019-05-02 13:52:46 +02:00
Matthias Kuhn
ac6ed1a18c Doxygen for QgsSymbolLayer::setRenderingPass 2019-05-02 07:16:14 +10:00
nirvn
3747cf7870 [FEATURE][symbology] Unlock string as character for font markers 2019-04-30 18:32:03 +07:00
Nyall Dawson
38ef62e1cc Fix incorrect annotation scaling when exporting layouts
Previously, annotation size and position always used pixel units. This
did not work well when exporting layouts, resulting in tiny annotations
(it also caused issues when moving projects between hidpi/non hidpi
displays).

Instead, use millimeters for annotation size and position so that the
appearance is consistent across displays and works correctly in layout
exports.

Add lots of unit tests covering this.

Fixes #18373
2019-04-30 15:21:39 +10:00
Mathieu Pellerin
cd5642aca0 [FEATURE] Make the custom dash pattern dialog a style dock widget 2019-04-28 15:33:48 +07:00
Nyall Dawson
ebab2e128b Add missing /Transfer/ annotation 2019-04-26 12:59:26 +10:00
nirvn
cb9b3b458d Add forgotten since tags on new point pattern fill functions 2019-04-25 09:53:40 +07:00
nirvn
756964620a [FEATURE][symbology] Add offset settings for point pattern fill symbol layer 2019-04-24 16:53:40 +07:00
Nyall Dawson
9da6a03b50 Add API for specifying fallback CRS and layer WKB type to use
for QgsVectorLayer, when constructing a layer with a URI which
may be invalid

These may be used for layers where the geometry type/CRS is
known in advance, and where the layer path may not be
initially resolvable. (E.g. layers with a URI pointing to a
non-existant file). It is only ever used if the layer cannot
be resolved, otherwise the actual layer geometry type will be
detected and used for the layer.
2019-04-19 06:07:13 +10:00
Alessandro Pasotti
63711510b6 Dear Qt, I love you but ...
... you are too slow and QJson API is so ugly.

Now using this wonderful json lib:
https://github.com/nlohmann/json

Results in release mode (QJson tests are not shown but
QJson was even slower than string concat).

PASS   : TestQgsJsonUtils::testExportAttributesJson(Use json)
RESULT : TestQgsJsonUtils::testExportAttributesJson():"Use json":
     0.0022 msecs per iteration (total: 75, iterations: 32768)
PASS   : TestQgsJsonUtils::testExportAttributesJson(Use old string concat)
RESULT : TestQgsJsonUtils::testExportAttributesJson():"Use old string concat":
     0.0032 msecs per iteration (total: 54, iterations: 16384)
PASS   : TestQgsJsonUtils::testExportFeatureJson(Use json)
RESULT : TestQgsJsonUtils::testExportFeatureJson():"Use json":
     0.011 msecs per iteration (total: 96, iterations: 8192)
PASS   : TestQgsJsonUtils::testExportFeatureJson(Use old string concat)
RESULT : TestQgsJsonUtils::testExportFeatureJson():"Use old string concat":
     0.015 msecs per iteration (total: 64, iterations: 4096)
PASS   : TestQgsJsonUtils::testExportGeomToJson(Use json)
RESULT : TestQgsJsonUtils::testExportGeomToJson():"Use json":
     0.76 msecs per iteration (total: 98, iterations: 128)
PASS   : TestQgsJsonUtils::testExportGeomToJson(Use old string concat)
RESULT : TestQgsJsonUtils::testExportGeomToJson():"Use old string concat":
     0.85 msecs per iteration (total: 55, iterations: 64)
PASS   : TestQgsJsonUtils::cleanupTestCase()
2019-04-18 17:04:30 +02:00
Alessandro Pasotti
7032db27fa [server] Implement LAYERFONTCOLOR and ITEMFONTCOLOR
Fixes #21871
Fixes #21870

Funded by: Gis3w
2019-04-17 12:01:06 +02:00
Matthias Kuhn
8416e7588c
Merge pull request #9781 from m-kuhn/processing_parameter_as_boolean
Add QgsProcessingAlgorithm::parameterAsBoolean
2019-04-17 09:20:07 +02:00
Alessandro Pasotti
56a6df4d71 Fix doxy deprecated 2019-04-17 10:06:41 +10:00
Alessandro Pasotti
3d687e5558 Add transform context to raster file writer task 2019-04-17 10:06:41 +10:00
Alessandro Pasotti
87998f7f7d Pass transformContext to raster writer 2019-04-17 10:06:41 +10:00
Alessandro Pasotti
394a189682 Fix class documentation 2019-04-17 10:06:41 +10:00
Alessandro Pasotti
654a78d6ff Raster transform context 2019-04-17 10:06:41 +10:00
Alessandro Pasotti
b3a448a2b2 Do not store context in layer (but in provider) ...
... also use transform context in raster projector
and deprecate setCrs without context
2019-04-17 10:06:41 +10:00
Alessandro Pasotti
7f52e2938a doxy 2019-04-17 10:06:41 +10:00
Alessandro Pasotti
7b6f9c0dbc Restore default ctor for options and layer 2019-04-17 10:06:41 +10:00
Nyall Dawson
b6bc1ee2d4 Tweak QgsProcessingUtils::combineLayerExtents for future proofing, remove deprecated usage 2019-04-17 10:06:41 +10:00
Alessandro Pasotti
82f2cb18b2 Deprecate default ctor for mesh layer options 2019-04-17 10:06:41 +10:00
Alessandro Pasotti
f8dfdc4aa0 Deprecate method without transformContext 2019-04-17 10:06:41 +10:00
Alessandro Pasotti
e930bee9e2 Add mandatory options to QgsVectorLayer ctor
... and deprecate the rest.

In QGIS 4 we'll have to get rid of the deprecated default ctor and
create a new one which takes no arguments.
2019-04-17 10:06:41 +10:00
Alessandro Pasotti
6813a55fce Deprecate vector layer ctor with default constructed options
replaced by QgsVectorLayer( const QgsVectorLayer::LayerOptions &options,
...
2019-04-17 10:06:41 +10:00
Alessandro Pasotti
4614c3e0bd Dox typos 2019-04-17 10:06:41 +10:00
Alessandro Pasotti
5f3dc50ccc Remove deprecated QgsCoordinateTransform ctor ...
... and add a getter for coordinateTransform to QgsMapLayer

The reason is that I think we should reduce the dataProvider API
usage and rely on the higher level QgsMapLayer API whenever it
is possible, QgsMapLayer checks for data provider validity
and returns a default constructed QgsCoordinateTransform instead
of crashing.
2019-04-17 10:06:41 +10:00
Alessandro Pasotti
7f271d1ebd More coordinateTranformContext -> tranformContext 2019-04-17 10:06:41 +10:00
Alessandro Pasotti
470759833e coordinateTransformContext -> transformContext for consistency
I like "coordinateTransformContext" more btw.
2019-04-17 10:06:41 +10:00
Alessandro Pasotti
df2bdf9c1a Handle the coordinate tranform context in the layer ctor
Also use the context when read/write XML by passing it
in the R/W context
2019-04-17 10:06:41 +10:00
Alessandro Pasotti
71698bf707 Remove all deprecated usages of QgsCoordinateTransform without context 2019-04-17 10:06:41 +10:00
Alessandro Pasotti
3d5e67e72c Fix SIP (sipify does not like inline initializers) 2019-04-17 10:06:41 +10:00
Alessandro Pasotti
dcf206232c Step2 of coordinate traform context passing: SIP broken 2019-04-17 10:06:41 +10:00
Alessandro Pasotti
c21cd35fe0 Add coordinate transform context to data provider options
First step to pass the context down into the rabbit hole.
2019-04-17 10:06:41 +10:00