6930 Commits

Author SHA1 Message Date
Nyall Dawson
0259548ac9 Don't allow null entry to be merged 2019-01-08 11:10:40 +10:00
Nyall Dawson
7b245d1857 [FEATURE] Add option to merge categories in categorized renderer
This allows users to select multiple existing categories and
group them into a single category, which applies to any of the
values from the selection.

This allows simpler styling of layers with a large number of
categories, where it may be possible to group numerous distinct
categories into a smaller, more managable set of categories
which apply to multiple values.

The option is available from the right click context menu
in the categories list view, whenever multiple categories
are selected.

Sponsored by SMEC/SJ
2019-01-08 11:10:40 +10:00
Nyall Dawson
d32714c899 [API] Allow categorized renderer category values to be lists of values
When a category is a list of values, that category will apply to
any of the values from the list
2019-01-08 11:10:40 +10:00
signedav
627ac66d73 add jsonb tests and fixed count 2019-01-07 15:26:26 +01:00
Alessandro Pasotti
1ba6b97f74
[server] Fix layer order rendering when layers are in groups (#8796)
* [server] Fix layer order rendering when layers are in groups

Fixes #20810

* Update test images

* [server] Fix order of layers in subgroups

basically: layers in WMS is specified in a comma separated
list where leftmost layer is drawn first (it's at the bottom)
and QGIS layer order is exactly the opposite: first layer
in the TOP (topmost) is drawn last (it is at the top).

For this reason the server reverses the list before passing
it to the renderer.

* Fix order of layers in test

* Update src/server/services/wms/qgswmsrenderer.cpp
2019-01-07 13:13:30 +01:00
signedav
ae1ab67b6c prepared tests for gpkg - not yet active 2019-01-07 11:39:48 +01:00
signedav
e9e7c397e9 add author and reader tables to test valuerelations with json 2019-01-07 11:39:48 +01:00
signedav
95c9279165 tests for json in postgres
only reading not writing possible because of pg implementation
2019-01-07 11:37:57 +01:00
mhugent
54a5fae0b7
Merge pull request #8781 from mhugent/get_atlas_print
[server][needs-docs] Get atlas print
2019-01-07 10:42:23 +01:00
Matthias Kuhn
0c71e720a3
JSON Support for GeoPackage [FEATURE]
Merge pull request #8707 from signedav/json-for-gpkg
Integration of JSON type of GeoPackage
2019-01-07 10:35:30 +01:00
Alessandro Pasotti
7d592a01ba Add control image masks
Add more mask images (when image size does not match, generate_test_mask_image.py fails to update the mask)
2019-01-05 20:48:49 +01:00
Marco Hugentobler
14935745f6 Spelling, doc and indentation 2019-01-05 15:16:39 +01:00
Marco Hugentobler
583674bbb5 Remove diagrams from atlas print test as it shows different behaviour in different environments 2019-01-05 15:16:38 +01:00
Marco Hugentobler
df8940c6bf Add control image for atlas GetPrint test and fix some python stuff 2019-01-05 15:16:38 +01:00
Marco Hugentobler
23669b6891 Add unit tests 2019-01-05 15:16:38 +01:00
Marco Hugentobler
179be5af3b Add atlas to test project 2019-01-05 15:16:38 +01:00
Alessandro Pasotti
3c2392808d Update control images 2019-01-04 19:30:28 +01:00
Alessandro Pasotti
d49994005c [server] Respect layer title space when rendering legends
Fixes #20693 - LAYERTITLESPACE in GetLegendGraphic is not taken into account
2019-01-04 14:32:43 +01:00
Nyall Dawson
e99072b161 Add method to QgsStatisticalSummary to get a short name corresponding to a stat
Returns a short name, suitable for use in a field name
2019-01-04 05:01:40 +10:00
Nyall Dawson
5f817b4db3 Allow QgsStatisticalSummary to calculate first/last value
Trivial, but simplifies other code which desires to expose
a choice between first/last/min/max/mean/etc...
2019-01-04 05:01:40 +10:00
Nyall Dawson
201523fb85 Test masks 2019-01-03 04:53:28 +10:00
Nyall Dawson
a441e2b14b [layouts] Add API allowing drawing map overviews under map layers
or under map labels
2019-01-03 04:53:28 +10:00
Nyall Dawson
12da3afa85 [layouts] Add method to alter list of map layers to render to include
overview layers
2019-01-03 04:53:28 +10:00
Nyall Dawson
1b309c6810 [layouts] Add setters/getters for map item stacking positions 2019-01-03 04:53:28 +10:00
Nyall Dawson
6eb49feddc [layouts] Add method to get overview item extent as a vector layer
The layer contains a single feature representing the linked map
extent, and set to render using the overview's symbol
2019-01-03 04:53:28 +10:00
Nyall Dawson
0f7d8c05e3 Split layout map overview tests into their own file, add masks 2019-01-03 04:53:28 +10:00
Nyall Dawson
d14a5bd1dd [layouts] Add inbuilt validity check to warn when scale bars are
not linked to a map item

(and remove test Web mercator projection warning check)
2019-01-03 04:53:07 +10:00
Nyall Dawson
ddd522b432 Rework validity check API to allow future background threaded use 2019-01-03 04:53:07 +10:00
Nyall Dawson
7ccaa3df32 [FEATURE][API] Add flexible framework for custom "validity checks"
Adds a new interface QgsAbstractValidityCheck which defines
a single "check" which can be performed on a given QgsValidityCheckContext.
A new application-wide QgsValidityCheckRegistry registers
and manages instances of all known checks, and allows running
of all registered checks of a specific type at once.

Initially the framework is focused toward print layout validity
checks, but the interface has been designed to be generic enough
to allow alternative types of validity checks (e.g. project save
validity checks, processing model validity checks, etc.).

The API is designed to be used both by internal validity checks
and also to be extended by custom, organisation-specific
validity checks. E.g., for print layout validity checks we could have:
2019-01-03 04:53:07 +10:00
Matthias Kuhn
309920a272
Merge pull request #8733 from m-kuhn/geometry_check_api_docs
Add geometry check to API documentation
2018-12-24 16:58:25 +01:00
Matthias Kuhn
d2b35753be
Merge pull request #8722 from m-kuhn/expression_function_sqlite_fetch_and_increment
Expression function sqlite_fetch_and_increment
2018-12-24 12:07:12 +01:00
Nyall Dawson
f301f944bd Revert QgsBlockingNetworkRequest
Too many issues... I'm unsure if this is even possible now...
2018-12-23 20:19:03 +10:00
Matthias Kuhn
868254d672
Merge pull request #8725 from troopa81/fix_20673
Correct mapFromSource method when reordering columns. fixes #20673
2018-12-22 11:56:13 +01:00
Matthias Kuhn
d3f64deb80
Further doc improvements 2018-12-22 11:54:43 +01:00
Matthias Kuhn
525a3da3ab
More doxygen 2018-12-22 10:57:53 +01:00
Matthias Kuhn
07ab092fb1
Some doc fixes 2018-12-22 10:35:30 +01:00
Matthias Kuhn
c6420690b5
Skip more missing doc checks for old classes 2018-12-22 10:16:24 +01:00
Matthias Kuhn
2ad870b95a
Suppress api doc warnings for old classes 2018-12-21 18:06:40 +01:00
Matthias Kuhn
36c42d2b97
Check for proper error reporting in sqlite_fetch_and_increment 2018-12-21 14:07:24 +01:00
Alessandro Pasotti
f4d7506e73 Processing in-place do not check validity when fixing geometries
Fixes #20812
2018-12-21 11:47:36 +01:00
Nyall Dawson
a457482de8 Add attributes to QgsNetworkReplyContent 2018-12-21 09:05:45 +10:00
Nyall Dawson
d5fddfd588 Basic unit tests for QgsBlockingNetworkRequest 2018-12-21 09:05:45 +10:00
Nyall Dawson
a2b5008b30 [FEATURE][layouts] Allow layout items to "block" map labels
This feature allows other layout items (such as scalebars,
north arrows, inset maps, etc) to be marked as a blockers for
the map labels in a map item. This prevents any map labels from
being placed under those items - causing the labeling engine
to either try alternative placement for these labels (or
discarding them altogether)

This allows for more cartographically pleasing maps -- placing
labels under other items can make them hard to read, yet without
this new setting it's non-trivial to get QGIS to avoid placing
the labels in these obscured areas.

The blocking items are set through a map item's properties, under
the label settings panel. The setting is per-map item, so you can have
a scalebar block the labels for one map in your layout and not others
(if you so desire!)
2018-12-21 04:12:32 +10:00
Nyall Dawson
620baa0d22 Layout map test reference image updates 2018-12-21 04:12:32 +10:00
Julien Cabieces
fba4b25bc2 fixes #20673 : Correct mapFromSource method when reordering columns 2018-12-20 17:21:56 +01:00
sklencar
be34a0ed27 QgsZipUtils unzips also subdirectories of a zip file (#8672)
QgsZipUtils unzips also subdirectories of a zip file
2018-12-20 14:42:22 +01:00
Matthias Kuhn
5d8f6371e1
Add test for sqlite_fetch_and_increment 2018-12-20 14:32:24 +01:00
Nyall Dawson
055a166136 [FEATURE] Boolean field support for memory layers
Adds support for boolean field types to memory layers

Fixes #20844
2018-12-20 18:36:36 +10:00
Matthias Kuhn
bd87b35430
Merge pull request #8713 from m-kuhn/sqlite_quoted_value_to_qgssqliteutils
Move sqlite quoted value methods to QgsSqliteUtils
2018-12-20 08:37:35 +01:00
Mathieu Pellerin
e9e1e0d6f3
[FEATURE][expression] Brand new array_sort() function 2018-12-20 11:47:16 +07:00