Nyall Dawson
1fea20de50
Split handling of literal default values from provider side
...
default value SQL clauses
QgsVectorDataProvider now has two methods:
- defaultValueClause: returns SQL fragment which must be evaluated
by the provider to obtain the default value, eg sequence values
- defaultValue: returns the literal constant default value
for a field
2016-11-08 08:18:16 +10:00
Stéphane Brunner
59b10d65b7
Merge pull request #3720 from sbrunner/WFS-provider-metadata
...
Add metadata for WFS provider in layer metadata informations
2016-11-07 17:15:03 +01:00
Stéphane Brunner
bc1ad2ce82
Add metadata for WFS provider in layer metadata informations
2016-11-07 16:46:39 +01:00
Patrick Valsecchi
91e4b24a39
Better reading/writting of editor widget config.
...
Avoid saving config parameters that are not set and support not
having them in the XML.
2016-11-07 09:00:17 +01:00
Nyall Dawson
4e4bb2bf6b
Merge pull request #3728 from nyalldawson/open
...
Cleanup processing file handling
2016-11-07 13:20:13 +10:00
Nyall Dawson
8acc286b0f
[FEATURE] Snap to layer algorithm accepts a mode parameter
...
With a new option to prefer to snap to closest point on geometry.
The old behaviour was to prefer to snap to nodes, even if a node
was further from the input geometry than a segment. The new option
allows you to snap geometries to the closest point, regardless
of whether it's a node or segment.
2016-11-07 12:20:59 +10:00
Nyall Dawson
983fe24806
Port some API from QgsPoint to QgsPointV2
2016-11-07 12:20:59 +10:00
Nyall Dawson
dae0a01761
[FEATURE][processing] Snap geometries algorithm allows snapping
...
to other layer types, supports point/line layers
Fix #14791 , #15313
2016-11-07 12:20:59 +10:00
Nyall Dawson
c3a978b9da
[FEATURE][processing] Snap geometries to layer algorithm
...
Port the Geometry Snapper plugin across to the analysis lib, and
expose to python bindings
Add a new algorithm which performs the snapping to layers
2016-11-07 12:20:59 +10:00
Nyall Dawson
0484769b7d
[processing] Use subprocess.DEVNULL instead of open(os.devnull)
2016-11-07 12:13:18 +10:00
Nyall Dawson
6a99017bf0
[processing] Use with ... when opening files
2016-11-07 11:36:38 +10:00
Nyall Dawson
b4bca5bb98
[processing] Don't try to force load files which don't exist
2016-11-07 11:11:31 +10:00
Nyall Dawson
272cd38018
Fix python deprecation warning
2016-11-07 11:11:30 +10:00
Nyall Dawson
d783c732a5
Fix processing tests
2016-11-07 11:11:30 +10:00
Nyall Dawson
143c18da6f
Fix processing tests weren't actually comparing resultant features
...
.... oops (my fault - copy/paste error)
2016-11-07 09:23:35 +10:00
Nyall Dawson
eefa7115bf
[processing] Fix invalid geometries made by densify when input geom is null
2016-11-07 09:22:50 +10:00
arnaud.morvan@camptocamp.com
78236c0be1
Use contextGenerator in refactor fields algorithm
2016-11-06 18:11:15 +01:00
arnaud.morvan@camptocamp.com
a8d9dea1fb
Add QgsExpressionContextGenerator inheritances in sip
2016-11-06 17:58:54 +01:00
arnaud.morvan@camptocamp.com
a6a09d9ae2
[processing] Fix Ogr2OgrToPostGisList with 8798c42339 and 3472ac80d8bd
2016-11-06 15:25:11 +01:00
arnaud.morvan@camptocamp.com
01941176c5
[processing] Log gdal calls
2016-11-06 15:21:39 +01:00
arnaud.morvan@camptocamp.com
9cd39e79dd
[db_manager] Fix connection to postgis
2016-11-06 13:29:59 +01:00
arnaud.morvan@camptocamp.com
8b8bc26ee0
[processing] Fix connection to postgis
2016-11-06 13:29:59 +01:00
arnaud.morvan@camptocamp.com
4a62699472
[processing] Fix TableWidgetWrapper in batch dialog
2016-11-06 13:05:32 +01:00
arnaud.morvan@camptocamp.com
2d2fe8b8cc
[processing] Fix BatchOutputSelectionPanel with QgsMapLayer instances
2016-11-06 13:04:32 +01:00
arnaud.morvan@camptocamp.com
93be141af5
[processing] Fix import error in FieldsMappingPanel
2016-11-06 13:03:06 +01:00
Andrea Aime
701d4440ac
Export parametric SVG parameters, will fallback symbols for the system that cannot understand them
2016-11-05 11:48:31 +01:00
Martin Dobias
5984b21852
Add missing /Factory/ annotations to geometry classes
2016-11-05 12:13:52 +08:00
Nyall Dawson
9a2ca1cebd
Merge pull request #3673 from nyalldawson/constraints
...
[FEATURE] Improved constraint handling, pt 1
2016-11-04 10:34:15 +10:00
Nyall Dawson
100667ace0
Fix dialogs which violate HIG (use of : at end of label)
2016-11-04 10:02:46 +10:00
Alexander Bruy
8b3c39a220
[processing] add missed description files for OTB 5.4.0
2016-11-03 16:58:18 +02:00
Alexander Bruy
373e591a80
drop old user startup script in favour of the new system
...
User script should be placed into $HOME/.local/share/QGIS.
Additionally global scripts from /usr/local/share and
/usr/share will be loaded if present
2016-11-03 12:11:57 +02:00
Nyall Dawson
9cd29f39d8
[processing] Fix batch panel under Qt5
2016-11-03 16:33:09 +10:00
nirvn
03e29d4f01
[processing] optimise singlepart to multipart algorithm
...
- keep z/m/curved geometries intact
- rewrite loop to avoid the cost of nb. feature x unique values
2016-11-03 09:05:31 +07:00
Nyall Dawson
a44ea22880
Small refinement to multipart to singlepart alg
2016-11-03 05:40:11 +10:00
Alexander Bruy
dac03d5ce8
use default QString() constructor instead of ""
...
improve doxygen docs
2016-11-02 14:44:20 +02:00
Alexander Bruy
75b23cb55c
update Python bindings
2016-11-02 14:44:20 +02:00
Alexander Bruy
1c44d7471f
Merge pull request #3695 from nirvn/processing_modeler_dblclick
...
[processing] resurrect editing of modeler item on double-click
2016-11-02 14:16:27 +02:00
Denis Rouzaud
dbd7de3940
Merge pull request #3689 from rduivenvoorde/getPlugins3
...
Temporarily hardcode plugins version in url ?qgis=3.0
2016-11-02 11:47:04 +01:00
Alexander Bruy
5d877fd888
Merge pull request #3707 from nyalldawson/multipart_to_single
...
[processing] optimise multipart to singlepart algorithm
2016-11-02 10:06:25 +02:00
Nyall Dawson
18fc0c6fad
[processing] optimise multipart to singlepart algorithm
...
- simplify code
- keep z/m/curved geometries intact
- might be a bit faster
2016-11-02 16:06:00 +10:00
Nyall Dawson
f65e770242
[FEATURE[processing] New algorithm to compute geometry by expression
...
This algorithm updates existing geometries (or creates new
geometries) for input features by use of a QGIS expression. This
allows complex geometry modifications which can utilise all the
flexibility of the QGIS expression engine to manipulate and create
geometries for output features.
2016-11-02 16:05:46 +10:00
Nyall Dawson
3f2a7810cf
Respect non-enforced constraints when editing/adding features
...
Warnings are shown, but features can be committed. Fields which
fail an unenforced constraint are now shaded in yellow to differentiate
from the red failure for enforced constraints.
2016-11-02 13:42:22 +10:00
Nyall Dawson
fac5bc0691
[FEATURE] Field constraints can be enforced or not
...
Non-enforced constraints just show a warning to the user, but
do not prevent committing the feature. Enforced constraints
block users from comitting non compliant features.
Any constraints detected by the provider are always
enforced.
2016-11-02 13:42:22 +10:00
Nyall Dawson
cb94b68d88
Move constraint handling to QgsFieldConstraints
...
Avoids cluttering QgsField API
2016-11-02 11:07:07 +10:00
Nyall Dawson
a6319a47d7
If the layer is NOT being edited then only check layer based constraints
...
and not any constraints enforced by the provider
Because:
1. we want to keep browsing features nice and responsive. It's nice to give
feedback as to whether the value checks out, but not if it's too slow to
do so. Some constraints (eg unique) can be expensive to test. A user can
freely remove a layer-based constraint if it proves to be too slow to
test, but they are unlikely to have any control over provider-side
constraints
2. the provider has already accepted the value, so presumably it doesn't
violate the constraint and there's no point rechecking!
2016-11-02 11:07:07 +10:00
Nyall Dawson
c98d380dc1
Move responsibility for testing for attribute against constraints
...
to QgsVectorLayerUtils::validateAttribute()
Also clean up some strings shown to the user when a constraint
check fails
2016-11-02 11:07:07 +10:00
Nyall Dawson
2500d75f5e
Move responsibility for storage of constraint expressions to QgsVectorLayer
2016-11-02 11:07:07 +10:00
Nyall Dawson
f99ea26bdf
Refactor constraint handling
...
- store constraint origin in QgsField
- move handling of constraint expressions to QgsField
2016-11-02 11:07:07 +10:00
Nyall Dawson
1cecf37b40
Enforce unique constraints in attribute form
2016-11-02 11:07:07 +10:00
Nyall Dawson
b7d0fd6f90
New class QgsVectorLayerUtils
...
Contains static helper methods for working with vector layers.
Initially only contains a method to test whether a value
exists within a layer's attributes.
2016-11-02 11:07:07 +10:00