1780 Commits

Author SHA1 Message Date
Stéphane Brunner
c9f0d83aaf The plugin define the following methods:
* layerFilterExpression
  Return an additional filter, used in
  WMS/GetMap, WMS/GetFeatureInfo, WFS/GetFeature to filter the features
* layerFilterSubsetString
  Return an additional the subset string (typically SQL) filter.
  Faster than the layerFilterExpression but not supported on all the
  type of layer
* layerPermissions
  Change the rights on the layer per user (known by the plugin)
  Concern rights: publish, insert, update, delete.
  Mostly used in WFS/Transaction, and the publish in all requests.
* authorizedLayerAttributes
  Be able to show some attributes only for a subset of user
  Used in: WMS/GetFeatureInfo, WFS/GetFeature
* allowToEdit
  Be able to don't allow to edit a particular feature, in our case base
  on the Geometry
  Used in: WFS/Transaction
* cacheKey
  Cache key to used to create the capabilities cache, "" for no cache,
  shouldn't contains any "-", default to ""
2015-11-18 14:49:43 +01:00
Nyall Dawson
5019fe244c Add methods to directly retrieve/set coordinates for linestring nodes
Also add method to create QgsPointV2 from a QPointF
2015-11-18 21:49:02 +11:00
Nyall Dawson
86c1ffa0aa Add reversed method to QgsCurveV2
Also clean up and add missing docs for QgsLineStringV2
2015-11-18 16:24:27 +11:00
Nyall Dawson
9cfbba1647 Add rx(), ry(), ... methods to QgsPointV2, add missing docs to class
Allows for directly modifying point's coordinates in place
2015-11-18 16:24:08 +11:00
Nyall Dawson
dc0639c794 Add missing /Transfer/s to setSubSymbol 2015-11-18 06:46:30 +11:00
alexbruy
f184ec9794 Merge pull request #2471 from nyalldawson/processing_fixes
[processing] misc improvements
 - use QgsStatisticalSummary for statistic calculations
 -  faster expression request for ExtractByAttribute alg
2015-11-17 18:54:55 +02:00
Matthias Kuhn
9ff6e1d499 Migrate first python test to be compatible with PyQt4 and PyQt5 2015-11-16 07:42:48 +01:00
Matthias Kuhn
313c34ce22 [py3] Updates to sip files 2015-11-16 07:42:48 +01:00
Nyall Dawson
e15962eea9 [processing] Use QgsStatisticalSummary for statistic calculations
For BasicStatisticssNumbers and StatisticsByCategories algorithms.
Adds extra stats (minority, majority, 1st/3rd quartile and IQR) while
avoiding custom statistics calculation code.
2015-11-16 15:04:34 +11:00
Nyall Dawson
936b6506ec Add method to QgsSvgCache to return SVG viewbox size 2015-11-15 14:45:42 +11:00
Nyall Dawson
8ddc909f37 Switch to using flags for render context settings 2015-11-14 14:00:59 +11:00
Juergen E. Fischer
d8f5dbeb4e Limit extent reprojection workaround to vector layers (followup 51fe632; fixes #13735; refs #7596) 2015-11-12 23:42:17 +01:00
Nyall Dawson
cdf21b7c3e Return derived classes from clone() methods, avoids need to
dynamic_cast results
2015-11-12 20:29:06 +11:00
Matthias Kuhn
56ccb2b858 sipClass_Klass is deprecated for a long time: replace with sipType_Klass 2015-11-11 23:22:51 +01:00
Nyall Dawson
87168c14a5 100% test coverage for QgsWKBTypes, add missing docs 2015-11-11 19:51:42 +11:00
Nyall Dawson
719ff408a5 Add some missing SIP bindings, comment some classes as not available
in Python
2015-11-10 17:08:27 +11:00
Juergen E. Fischer
b5794b2f2d sip coverage fixes:
* make sip coverage test aware that there are less classes where QSci sip
  headers are not available
* exclude properties from members
* fix QgsFeatureIds typedef (fixes missing signal
  QgsVectorLayer.featuresDeleted and others)
* add missing notes for PyNames
* include some missing new methods in bindings
2015-11-08 19:30:39 +00:00
Nathan Woodrow
4cc6650d55 Forgot sip for composerTemplatePaths 2015-11-07 10:14:53 +10:00
Alessandro Pasotti
f982c842eb Merge pull request #2420 from elpaso/bugfix-13410
[FEATURE] Bugfix 13410
2015-11-05 21:06:44 +01:00
Vincent Mora
700fc043a4 Merge pull request #2414 from vmora/varying_width_assistant
[FEATURE] assistant for varying line width
2015-11-05 16:48:43 +01:00
vmora
6d1d213973 [FEATURE] assistant for varying line width
The qgssizescalewidget as been modified to handle line symbols as well
as markers.
The scale expression has been enhanced to support general exponentials
(i.e. eponents different from Flanery .57 and Area .5a)
The assistant as been modified to disply the exponent when Exponential
scaling is required.
2015-11-05 14:14:36 +01:00
Nyall Dawson
fe3417b5ef Partial revert of 70bff3f
Commit was causing crashes in browser. Refs #13738
2015-11-05 21:23:04 +11:00
elpaso
954b39d389 [FEATURE] store python init code into the project
Adds an option and code editor to store python form
init code into the project (and the DB, since it's in
the style section)
2015-11-04 18:03:27 +01:00
elpaso
e69bebdda0 Added /Out/ to run 2015-11-04 18:02:13 +01:00
Nyall Dawson
da942233e7 Add DE-9IM variant which tests against a specified pattern
(available in PyQGIS/expression engine)
2015-11-04 16:03:55 +11:00
Nyall Dawson
9e84fcafd8 Followup 2ac5933 with more data defined fixes
2ac5933 fixed the regression in 2.12, but there were more underlying
issues from <2.8 causing sub symbols with data defined properties
to be ignored.

Add some tests.

(refs #13707)
2015-11-04 16:03:46 +11:00
Hugo Mercier
d16cdcf449 Add more options for filtering legend elements
This introduces two new options to filter legend elements:
- filter by expression: a boolean expression can be set. Only symbols of
features that make the expression evaluated to true will be kept in the legend
- filter by polygon: only symbols of features that are inside the given
polygon will be part of the legend.

The polygon filtering is used in particular for a new option in the
composer legend that allows to filter out anything that is not included
in the current atlas polygon.
2015-11-03 10:39:09 +01:00
Nyall Dawson
556d87a86c Fix some clang warnings 2015-11-02 18:07:16 +11:00
Nyall Dawson
fc49f8dfa9 Add test for coverage of SIP bindings
Not perfect, but good for a quick warning if a new class or member
has been added to the public API without Python bindings. The test
only considers the name of members, since it seems to be impossible
to test for the signature of a Python member. (So adding a new
overloaded method without bindings will still unfortunately pass).

You can avoid the test where bindings are not applicable:
- for a whole class by placing "@note not available in Python bindings"
in the class' Doxygen comments
- or by placing the @note inside a member's Doxygen comments for a
specific member

Additionally, classes which aren't included in the API docs
will not be tested.
2015-10-28 09:54:27 +11:00
Nyall Dawson
7842391eba Add some missing consts to operators 2015-10-28 09:47:44 +11:00
Nyall Dawson
fe221d54bf Don't return QStrings by reference, since they're implicitly shared
anyway
2015-10-28 09:47:44 +11:00
Nyall Dawson
f1633a1796 Change all signals to use const refs for non trivial objects 2015-10-26 22:46:25 +11:00
Nyall Dawson
70bff3f6aa Finish flipping a lot of methods to take const references for
non-trivial types
2015-10-26 22:46:14 +11:00
Matthias Kuhn
cd0eb05ded [py3] Some compatibility fixes for python 3 2015-10-24 13:47:32 +02:00
Juergen E. Fischer
bf64f8d0a0 spelling fixes and indentation update 2015-10-22 21:56:54 +02:00
Juergen E. Fischer
0559939725 partly revert 3e0badc (fixes #13645 and #13646) 2015-10-22 01:14:42 +02:00
Juergen E. Fischer
4cdf05f90f fix typo 2015-10-19 23:54:01 +02:00
Nyall Dawson
5f1bb6cf1f Geometry fixes:
- when creating geometry from WKT, upgrade dimensionality of geometry
if coordinates are 3/4 dimensional
- match dimensionality of collections to child dimensionality
- fix area of curves was non-zero if curve is closed
- don't consider m values when testing for curve closedness
- add unit tests for closedness
- add unit tests for CircularStrings, CompoundCurves, CurvePolygon,
tests with geometries with Z/M values
2015-10-18 21:03:15 +11:00
Juergen E. Fischer
cc9c789760 avoid on duplicate user functions (fixes #13579) 2015-10-18 00:27:28 +02:00
Juergen E. Fischer
3e0badcb55 Fix sip conversion from QgsFields to QList<QgsField> (fixes #9208) 2015-10-17 22:03:03 +02:00
Nyall Dawson
8c5f3f88a9 [geometry] Fix calculation of length/perimeter for collections
Split length from perimeter calculation in geometry API, as
returning perimeter for length for polygons is misleading and
results in incorrect length/perimeter calculations for mixed
geometry collections.

Enable length & perimeter unit tests against reference geometries.
Now the length & perimeter values match those calculated by
PostGIS.
2015-10-17 15:40:36 +11:00
Nyall Dawson
fab5a32d9a Fix geometry casting in python bindings (missing MultiLineString and
GeometryCollection casts)
2015-10-17 15:02:11 +11:00
Nyall Dawson
2e1d2d1862 Fix calculation of area/length of mixed geometry collections 2015-10-16 21:38:13 +11:00
Nyall Dawson
55c27ce710 Add some extra unit tests for geometry:
- Add some tests for conversion to/from WKT, using a bulk lot of testsdata
from PostGIS
- Add some tests for area/length calculation, using some test data and
results from PostGIS/geos unit tests
- Add tests for spatial relations, using test data from PostGIS. Note
that this required adding support for calculating the DE-9IM relation. I'll
expose this to users via the expression engine in 2.14.

Along the way this also fixes a number of bugs relating to WKT geometry
import, such as
- add support for alternate MultiPoint(1 1,2 2,...) format
- fix GeometryCollection to support collections with multi* children
and GeometryCollection children (allowed by spec)
2015-10-16 17:46:06 +11:00
Nyall Dawson
34dc314345 Fix exporting geometry collections to WKT
Child types were incorrectly being dropped when the collection
consisted of mixed geometry types (eg line & polygon) (refs #13608)
2015-10-16 07:48:42 +11:00
Nyall Dawson
5654eeca55 Fix area calculation when OTF active and no ellipsoid (fix #13601) 2015-10-15 17:51:07 +11:00
Nyall Dawson
5ed3d1b73f Use QString::arg multi argument method to avoid extra heap allocations 2015-10-15 17:51:06 +11:00
Nyall Dawson
a333fc8248 Add method to geometries for adding z/m dimension, initialized
to a specified value
2015-10-14 08:39:05 +11:00
Nyall Dawson
665379645f Add method to QgsWKBTypes to add z/m dimension to a wkb type
Also add some unit tests for QgsWKBTypes
2015-10-14 08:39:05 +11:00
Juergen E. Fischer
53c507d3a7 db manager: add credentials to postgis rasters (fixes #13594) 2015-10-13 22:54:01 +02:00