2573 Commits

Author SHA1 Message Date
Nyall Dawson
a6148deb30 [FEATURE] Data defined symbol layer visibility
Adds a data defined override to control a symbol layer's
visibility. Allows users to disable drawing certain symbol layers
for matching features.
2016-10-18 13:22:22 +10:00
Nyall Dawson
b8c2e68fc5 [FEATURE] Allow symbol layers to be temporarily disabled
Adds a new checkbox at the bottom of each symbol layer's
properties which allows you to control whether the layer is
enabled or not.

Disabled layers are not drawn, but are saved and can be
enabled at a later stage.

This makes it easier to tweak symbol appearance without
having to totally delete a symbol layer.
2016-10-18 13:22:22 +10:00
Nyall Dawson
ecee43814a Fix changing project CRS from legend doesn't correctly set CRS
Also avoid fragile duplicated code for setting/retrieving
common project properties

Fixes #15717
2016-10-18 09:55:56 +10:00
Even Rouault
da0ee8b007 Merge pull request #3597 from rouault/saveas_overwrite_append
[FEATURE] Vector layer save as: offer file/layer overwriting, new layer creation, feature and field appending
2016-10-17 11:22:28 +02:00
Matthias Kuhn
03f08a6c79 Fix QgsMapLayer ConvertToSubClassCode (#3611)
Fix #15683
2016-10-17 10:47:08 +02:00
Matthias Kuhn
8fa3127c66 Don't rely on RTTI to convert symbol layer to sip objects 2016-10-17 10:23:08 +02:00
nirvn
ec2d7fea0c [FEATURE] control over drawing of composer table grid horizontal & vertical lines 2016-10-14 13:20:59 +07:00
Even Rouault
34894c6f5a [FEATURE] Vector layer save as: offer file/layer overwriting, new layer creation, feature and field appending
When saving a vector layer into an existing file, depending on the capabilities
of the output driver, the user can now decide whether:
- to overwrite the whole file
- to overwrite only the target layer (layer name is now configurable)
- to append features to the existing target layer
- to append features, add new fields if there are any.

All above is available for drivers like GPKG, SpatiaLite, FileGDB, ...
For drivers like Shapefile, MapInfo .tab, feature append is also available.
2016-10-13 11:38:41 +02:00
rldhont
726bac5291 Last Redo [BUGFIX][QGIS Server] Joins was not reloaded if the layer is in cache
Add an accessor to QgsVectorLayer join buffer, to not duplicate QgsVectorLayerJoinBuffer::readXml code
2016-10-12 17:03:38 +02:00
Nyall Dawson
0c4bf943c1 Allow expression functions to appear in multiple groups (fix #15682)
Now functions which make sense for multiple contexts (eg length,
to_date) can appear in more than one group.
2016-10-10 19:53:15 +10:00
Nyall Dawson
3a76708bcb Fix renaming a virtual field leads to crash (fix #15669) 2016-10-09 09:03:52 +10:00
Nyall Dawson
a9e9a6e497 Merge pull request #3579 from nyalldawson/composer_dock
Port composer item configuration widgets to inline dock
2016-10-07 07:39:43 +10:00
Juergen E. Fischer
d9349e5bbb update configuration settings to qgis3 2016-10-06 11:40:42 +02:00
Nyall Dawson
521cc3becd [composer] Merge color change undo commands
Avoids color modifications spamming the undo stack
2016-10-06 19:04:22 +10:00
Even Rouault
702eace76c Merge pull request #3532 from pvalsecc/discover_relations
Add auto-discovery of relations for PostgresQL and SpatiaLite
2016-10-06 10:26:06 +02:00
Matthias Kuhn
722fdefe43 referencedColumns returns QSet<QString> instead of QStringList
The order of the elements is irrelevant and duplicate elements are unwanted. It
is therefore a perfect candidate for a set instead of a list. This prevents
filtering for duplicates manually be replacing some filer codes with (more
performant) builtin methods of QSet.
2016-10-05 14:33:38 +02:00
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
Patrick Valsecchi
31a1c23903 Add auto-discovery of relations for PostgresQL
Fixed the add relation functionnality: the table is sorted. When the code
was setting the sorted column, the row was sorted and the other columns it was
setting were set on the wrong row.
2016-09-27 16:36:33 +02: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