2306 Commits

Author SHA1 Message Date
Nyall Dawson
bc32b1fe5a Fix crash when validating geometry (fix #15660)
Also fix python bindings for QgsGeometryValidator
2016-10-05 13:17:55 +10:00
Matthias Kuhn
7332dda0d8 Remove visitor pattern from QgsExpression (#3569)
It is not in use anywhere and can easily be reintroduced if there is a use case
where it is an appropriate fit.

Fix https://github.com/qgis/qgis3.0_api/issues/64
2016-10-04 10:46:56 +02:00
Nyall Dawson
230417c7a8 Add method to create QgsMapToPixel from scale/dpi/mapunits 2016-10-03 11:19:04 +10:00
Juergen E. Fischer
ffaffadbfa fix typos 2016-10-01 17:58:12 +02:00
Matthias Kuhn
ff52a9f29b setAttributeAlias is now setFieldAlias 2016-10-01 15:39:03 +02:00
Matthias Kuhn
37e06ae587 Rename setAttributeAlias and removeAttributeAlias 2016-10-01 15:39:03 +02:00
Matthias Kuhn
4a7a8ff263 Update python code 2016-10-01 15:39:03 +02:00
Matthias Kuhn
b6779f63ff Rename QgsFields::fieldNameIndex() to lookupField()
To have two clearly different names for tolerant/intolerant index lookup
2016-10-01 15:39:03 +02:00
Nyall Dawson
ca7b504e5c Fix Travis warnings and missing docs/sip 2016-09-30 08:42:16 +10:00
Nyall Dawson
962a4e975f Expose renderer variables to users 2016-09-30 08:42:16 +10:00
Nyall Dawson
7acb07f218 Make sure all attributes are fetched for distance based renderers 2016-09-30 08:42:16 +10:00
Nyall Dawson
3f590f0035 Make distance based renderers much faster when filters are present 2016-09-30 08:42:16 +10:00
Nyall Dawson
36e276f993 [FEATURE] Point cluster renderer
Groups nearby points into a single rendered marker symbol.

QgsPointDisplacementRenderer has been split into a new
pure virtual QgsPointDistanceRenderer base class which handles the
detection of clusters and grouping of points. The new cluster
renderer reuses this base class to avoid code duplication.

Additionally, some improvements have been made to the
displacement renderer, specifically:
- points are now assigned to the group which is "nearest" them,
rather then just assigning them first group within the search
distance. In some cases this was assigning features to a more
distant cluster, resulting in less predictable cluster patterns
- individual points are now correctly shown in their own
selection state

Lots of code cleanup + documentation too.

Sponsored by:
- Andreas Neumann
- Qtibia Engineering (Tudor Barascu)
- Karl-Magnus Jönsson
- Geonesia (Nicolas Ponzo)
- Plus numerous additional anonymous backers whose generous
contributions are also highly valued!
2016-09-30 08:42:16 +10:00
Hugo Mercier
67c05b51c2 Fix some /Transfer/ annotations 2016-09-23 15:35:37 +02:00
Juergen E. Fischer
31df84aa6b run 2to3 on source 2016-09-21 23:30:04 +02:00
Matthias Kuhn
8069154aad [Feature] Allow configuring link/unlink feature buttons on relation editor widget 2016-09-21 21:16:28 +02:00
Even Rouault
0542aacdc7 Merge pull request #3499 from pvalsecc/spatialite_arrays
Add support for arrays in the spatialite provider
2016-09-21 09:35:15 +02:00
Nyall Dawson
ac4f662899 Move deprecated QgsHttpTransaction to server 2016-09-21 09:12:54 +10:00
Nyall Dawson
3c4f46dc79 Remove more code disabled under Qt5
Add todo note for QgsHttpTransaction and disable under docs and
sip bindings
2016-09-21 09:12:54 +10:00
Patrick Valsecchi
6260f9dea5 Add support for arrays in the spatialite provider
New versions of GDAL/OGR (since trunk@35289) convert list types (StringList,
IntegerList, Integer64List and RealList) to a JSON string when it stores a
Spatialite table. It sets the column type as JSONSTRINGLIST, JSONINTEGERLIST,
JSONINTEGER64LIST or JSONREALLIST.
2016-09-20 13:18:32 +02:00
Matthias Kuhn
1da2474da2 Rename QgsEditFormConfig::expression to constraintExpression (#3509)
And QgsEditFormConfig::expressionDescription to constraintDescription.
Because only a verbose API is a good API.
2016-09-20 08:42:38 +02:00
Nyall Dawson
172c12bdc3 Fix build
(was using api from the mid 1970's... well.. a few weeks ago anyway)
2016-09-20 08:42:01 +10:00
Nyall Dawson
5e9619249e Merge pull request #3489 from nyalldawson/preset_color_ramp
[FEATURE] "Preset colors" color ramp
2016-09-17 08:33:13 +10:00
Nyall Dawson
7f9cc87f85 Merge pull request #3494 from nyalldawson/deprecated
Remove remaining deprecated methods
2016-09-16 21:02:25 +10:00
Martin Dobias
a9105b7e7a Remove QgsMapLayer::draw() method from API (replaced by createMapRenderer()) (#3501) 2016-09-16 18:32:36 +08:00
Nyall Dawson
8746932193 Merge pull request #3467 from pvalsecc/arrays
[FEATURE] Add support for array attributes
2016-09-16 06:13:34 +10:00
Matthias Kuhn
59a3bc2ca7 [feature] Add flag to only copy selected features
This extends the offline editing possibilities to only work on subset of
large layers

Sponsored by DB Fahrwegdienste GmbH
2016-09-15 11:19:58 +02:00
Nyall Dawson
fe65063c2b Remove many deprecated methods 2016-09-15 18:34:15 +10:00
Juergen E. Fischer
3f3e206a73 fix windows build (tests & bindings)
(cherry picked from commit 0c1792a55dd880b2f3f2acf7b5ef89e8fbd5412d)
2016-09-14 23:13:14 +02:00
Nyall Dawson
ccd9cc8a15 Undeprecate provider CreateAttributeIndex capability
This capability is still used in QGIS and has value for
plugins
2016-09-15 06:16:37 +10:00
Nyall Dawson
de7475ae72 Merge pull request #3486 from nyalldawson/symbol
Symbology QGIS 3.0 todos
2016-09-15 05:59:28 +10:00
Nyall Dawson
aac7e9aa39 Merge pull request #3485 from nyalldawson/composer_dep
Remove deprecated methods from composer
2016-09-15 05:59:17 +10:00
Matthias Kuhn
632da63717 Export QgsOptional<QgsExpression> to dll/so 2016-09-14 13:26:17 +02:00
Nyall Dawson
ec50cac2ef [FEATURE] New "preset" colors color ramp option
Allows use of a color ramp consisting of a list of selected colors.
Currently there's no way in QGIS to classify a renderer using
some list of colors you've previously selected. So you can modify
the colors manually after classifying, but that's a pain
if you're regularly using the same color scheme.

Basically, it's like the color brewer color ramp options but
allowing users to pick their own preset list of colors to use*

(Because Cynthia Brewer isn't the only cartographic color expert!)
2016-09-14 19:17:26 +10:00
Nyall Dawson
b4d9f64796 Add method to retrieve most recently used color 2016-09-14 11:47:52 +10:00
Nyall Dawson
b7111775e8 Fix some QGIS 3.0 symbology todos 2016-09-14 09:33:58 +10:00
Nyall Dawson
098f69d878 Make QgsMarkerSymbolLayer::bounds pure virtual 2016-09-14 08:51:17 +10:00
Nyall Dawson
e122546546 Change QgsSymbol and QgsSymbolRenderContext render hint to use a
QgsSymbol::RenderHints QFlags value instead of a raw int

Also rename DataDefinedRotation to DynamicRotation since
it is no longer used for data defined rotation
2016-09-14 08:49:12 +10:00
Nyall Dawson
25125b089e Remove deprecated composer methods 2016-09-14 07:20:17 +10:00
Nyall Dawson
26d7235e85 Merge pull request #3480 from nyalldawson/symbol
Remove deprecated members from symbology
2016-09-14 06:41:01 +10:00
Martin Dobias
717e7162f3 [FEATURE] Preview of WMTS layers + add XYZ tile layers (PR #3473)
This introduces live preview when rendering WMTS layers - as soon as individual tiles are loaded, they are shown in map canvas... no need to wait with a blank map until all tiles are fully downloaded. Additionally, if there are already locally cached tiles of other zoom levels, they may be used in the preview while the tiles with best matching zoom level are being downloaded. This greatly improves the user experience when working with WMTS layers.

Additionally, I have added native support for XYZ tile layers into WMS provider (based on existing implementation of WMTS tiling). This allows loading of various new raster tile sources (e.g. OpenStreetMap tiles) that were before available only with QuickMapServices or OpenLayers plugins. To use XYZ tile layers, open the browser dock in QGIS and look for "Tile Servers (XYZ)" root entry. Right-clicking will open a menu to add connections. For example for OpenStreetMap the URL would be http://c.tile.openstreetmap.org/{z}/{x}/{y}.png

The work on WMTS live preview has been funded by Land Information New Zealand.

The work on XYZ tile layers has been funded by Lutra Consulting.
2016-09-13 23:37:05 +08:00
Patrick Valsecchi
57d00949f7 Add an editor widget for QVariantList 2016-09-13 09:16:17 +02:00
Nyall Dawson
7f9de72448 Remove DataDefinedSizeScale symbol RenderHint
This flag is no longer set anywhere in QGIS itself
2016-09-13 11:05:45 +10:00
Nyall Dawson
8301ba26c4 Remove sizeScaleField and sizeScaleMethods from renderers
These were unused (since they were moved to data defined properties
at the symbol layer level) and were not set anywhere in
core QGIS (ie, the only way to set them was by manually calling
this api)
2016-09-13 11:05:45 +10:00
Nyall Dawson
ae9023fe0f Remove last deprecated methods from symbology 2016-09-13 11:05:45 +10:00
Nyall Dawson
4d4aec692a Remove more deprecated symbol methods 2016-09-13 11:05:45 +10:00
Nyall Dawson
55fc40d87f Remove more deprecated methods from symbology 2016-09-13 11:05:45 +10:00
Nyall Dawson
7c1fc8e4bc Remove deprecated method from getDataValues() 2016-09-13 11:05:45 +10:00
Nyall Dawson
a921c190d0 Remove deprecated members and fix TODOs for QgsFeatureRenderer 2016-09-13 11:05:45 +10:00
Patrick Valsecchi
abc55f4c42 Add support for arrays in PostgresQL
Fix parsing of PostgresQL hstore. Had problems when the key or values were
containing comas.
2016-09-12 10:33:00 +02:00