3978 Commits

Author SHA1 Message Date
rldhont
dbedd7e190 Merge pull request #4683 from rldhont/server-string-list-exceptions
[Server] bulk enhancements: string, list and exceptions
2017-06-06 10:09:52 +02:00
Sandro Santilli
38d905f694 Add a notice about service=qgis_test being used by some tests 2017-06-06 09:51:30 +02:00
Sandro Santilli
7af47c2afa Add a raster table to the test postgis setup, use it from dbmanager test 2017-06-06 09:51:30 +02:00
Nyall Dawson
c1d35a043b Port getHTMLOutputsCount to c++ API 2017-06-06 15:39:54 +10:00
Nyall Dawson
1f0a3d9719 Add file based and HTML outputs to c++ API 2017-06-06 15:36:39 +10:00
Nyall Dawson
a27c22d9b1 Add raster layer output parameters 2017-06-06 14:38:24 +10:00
Nyall Dawson
e6a71ab5fc Allow direct map layer parameter/default values were appropriate 2017-06-06 14:33:06 +10:00
Nyall Dawson
b75a174780 Rename QgsProcessingFeatureSinkDefinition to QgsProcessingOutputLayerDefinition
Since it also applies to raster layer outputs, we need a more generic name
2017-06-06 13:43:55 +10:00
Nyall Dawson
39d20a4cb4 Move algorithm expression context generation to QgsProcessingAlgorithm
Fix error when selecting "from expression" in algorithm parameter dialog
2017-06-06 11:25:09 +10:00
Nyall Dawson
607fed8c48 Restore ability to save outputs directly to Spatialite/PostGIS providers 2017-06-06 10:34:57 +10:00
Nyall Dawson
77072b15ac Rename QgsProcessingFeatureSink to QgsProcessingFeatureSinkDefinition
For consistency with QgsProcessingFeatureSourceDefinition
2017-06-06 08:42:48 +10:00
Nyall Dawson
81da209bf5 Use a QgsProject pointer instead of bool loadIntoProject
Allows potential future use case of loading results into
a different open project
2017-06-06 08:40:23 +10:00
Nyall Dawson
72be86dc61 Only accept QgsPropertys in QgsProcessingFeatureSourceDefinition/
QgsProcessingFeatureSink, not all QVariant types

Only strings/QgsPropertys are valid anyway, so instead of strings
use static properties. This makes it clearer what possible
values are permitted for the underlying source/sink definition.
2017-06-06 08:25:03 +10:00
Nyall Dawson
d7aa3f5f7c [processing] Change explicit encoding string parameters to more
flexible QVariantMap creatOptions parameters which include an
optional fileEncoding value

More flexible, allows sinks to be created using any creation
option which is passed to the underlying provider
2017-06-06 08:00:28 +10:00
Nyall Dawson
ea2e477d91 Fix failing tests, temporarily disable some processing tests during
refactoring
2017-06-06 07:41:20 +10:00
Nyall Dawson
46596c50f2 Restore correct layer naming when loading results 2017-06-06 07:41:20 +10:00
Nyall Dawson
5b9d925c70 Fix loading of results after running algorithms 2017-06-06 07:41:20 +10:00
Nyall Dawson
ed09a8a727 Create class for encapsulating settings relating to a feature source
input to a processing algorithm.

This allows parameter inputs to encapsulate extra information
relating to a feature source input, such as whether only
selected features from the source layer should be used.
2017-06-06 07:41:20 +10:00
Nyall Dawson
0e991bf62c Remove QgsProcessingUtils::uniqueValues
Use QgsFeatureSource method instead
2017-06-06 07:41:20 +10:00
Nyall Dawson
b6fb41d4ee [processing] Don't use vector layers directly as feature sources
Instead, parameters evaluate to QgsFeatureSource, which are
used for retrieving features, feature count, crs, wkb type,
etc.

This abstracts away the actual feature source, so that
algorithms may potentially operate from non-layer
feature sources.

It also helps remove the need for specialised QgsProcessingUtils
methods like getFeatures, featureCount, and createSpatialIndex.
Instead the standard API methods using QgsFeatureSources can
be used instead.
2017-06-06 07:41:20 +10:00
Nyall Dawson
005a08ead9 Create class for encapsulating settings relating to a feature sink
input to a processing algorithm.

This allows parameter inputs to encapsulate extra information
relating to a feature sink input, such as destination file
encoding and whether the sink layer should be loaded into
the project on completion
2017-06-06 07:41:20 +10:00
Nyall Dawson
5b8affcb56 Rename QgsProcessingParameterOutputVectorLayer to QgsProcessingParameterFeatureSink 2017-06-06 07:41:20 +10:00
Nyall Dawson
770c45da12 Rename QgsProcessingParameterVectorLayer to QgsProcessingParameterFeatureSource
Helps abstract away sources to allow non vector layer sources in future
2017-06-06 07:41:20 +10:00
Nyall Dawson
ffce9c9f1e Add direct method to retrieve QgsFeatureSink from parameter 2017-06-06 07:41:20 +10:00
Nyall Dawson
f41eb41131 Cleanup API - remove redundant name argument 2017-06-06 07:41:20 +10:00
Nyall Dawson
57ffde3675 Fix build 2017-06-06 07:41:20 +10:00
Nyall Dawson
a951424287 QgsProcessingParameterVectorLayer accepts lists of vector layer types 2017-06-06 07:41:19 +10:00
Nyall Dawson
ba03f1a13a Move minimum layer extent calculation to c++ 2017-06-06 07:41:19 +10:00
Nyall Dawson
ef59d0c454 Port parameter checking to c++ 2017-06-06 07:41:19 +10:00
Nyall Dawson
c1d9d57dd2 First working pure c++ algorithms 2017-06-06 07:41:19 +10:00
Nyall Dawson
fb811766f8 Add framework for algorithm outputs
This somewhat changes the meaning of outputs from processing 2.x.
In 2.x processing outputs were used both as a method of specifying
inputs to algorithms (file paths to destination layers created
by the algorithm) AND pure outputs (such as statistics calculated
by the algorithm).

This is now split. The old input-type-outputs (destination layers)
are now input parameters (since the parameter value IS an input to the
algorithm). To differentiate them from parameters indicating pure
input layers a new "isDestination()" method was added to
QgsProcessingParameterDefinition.

Output definitions are now purely indications of values CREATED
by the algorithms. Suitable candidates are the existing calculated
stats and actual file path/URI of any layers created by the algorithm.
Moving forward we should ensure all algorithms output as much
useful information as possible - e.g. number of features processed,
number of skipped features, count null geometries encountered, etc...
2017-06-06 07:41:19 +10:00
Nyall Dawson
b64a71df61 Port algorithm countVisibleParameters to c++ 2017-06-06 07:41:19 +10:00
Nyall Dawson
632a2be86a Disable QgsTaskManager::waitForFinished test by default
The test intermittently fails on Travis builds, likely due
to the platform's inconsistent availability to multiple threads.
2017-06-06 07:30:41 +10:00
Denis Rouzaud
fa5bd491fc run code_layout build from top CMakeLists
instead of adding an extra CMakeLists in .ci/travis/code_layout to build API doc, astyle and run tests (indentation, spelling, sip, doc coverage), the top CMakeLists has been adapted to allow not building core libraries and possibly just the static code layout
* astyle has been moved from /src/astyle to /lib/astyle (I would propose to move all external libraries, and possibly add git submodules)
2017-06-05 22:19:20 +02:00
Denis Rouzaud
c8555c3efb fix test import 2017-06-05 22:19:20 +02:00
Denis Rouzaud
281daee0ba run Doxygen and doc coverage test on static Travis config 2017-06-05 22:19:20 +02:00
rldhont
4ab6a06527 [Server] Test update masks WMS_GetMap_Annotations and WMS_GetMap_Highlight 2017-06-05 19:21:34 +02:00
Nyall Dawson
63083abefe Merge pull request #4679 from nyalldawson/selected_feature_source
QgsVectorLayerSelectedFeatureSource
2017-06-05 17:22:27 +10:00
Nyall Dawson
3388857526 Move uniqueValues to QgsFeatureSource
Also change signature of QgsVectorLayer/QgsVectorDataProvider
uniqueValues method to match (and improve API)
2017-06-05 16:59:08 +10:00
Nyall Dawson
6fed80b1e9 Add a couple more tests for QgsVectorLayerSelectedFeatureSource 2017-06-05 13:36:19 +10:00
Nyall Dawson
405c55f155 Create QgsVectorLayerSelectedFeatureSource
...which is a QgsFeatureSource subclass which only considers
selected features from a QgsVectorLayer
2017-06-05 13:28:37 +10:00
Nyall Dawson
cd9a802c5c [FEATURE] Fix incorrectly swapper layer_property function min_scale and max_scale values
The values returned were the opposite of what's shown in the GUI.

Marked as feature as reminder to include this project break in the
release notes
2017-06-04 10:38:30 +10:00
Nyall Dawson
a9a7d3c3d9 Swap QgsMapLayer min/max scale API definitions
setMaximumScale() and setMinimumScale(), maximumScale() and
minimumScale() had the opposite meaning to other min/max scales
in the API, and were the opposite to how these settings were
exposed in the GUI. This lead to very confusing API!!

Their definitions have now been swapped. setMaximumScale
now sets the maximum (i.e. largest scale, or most zoomed in)
at which the layer will appear, and setMinimumScale now sets
the minimum (i.e. smallest scale, or most zoomed out) at
which the layer will appear. The same is true for the
maximumScale and minimumScale getters.
2017-06-04 09:31:10 +10:00
Matthias Kuhn
0f2a49d9b5 Remove Point3D
... in favor of QgsPoint
Reference https://github.com/qgis/qgis3.0_api/issues/71
2017-06-03 08:20:30 +02:00
Matthias Kuhn
2bbadbacb7 Rename qgspoint.h and qgspointv2.h
To qgspointxy.h
And qgspoint.h
2017-06-02 19:53:37 +02:00
Matthias Kuhn
e3efc2c838 Fix tests 2017-06-02 19:53:37 +02:00
Matthias Kuhn
e2227d9998 Fix QgsPointXY issues 2017-06-02 19:53:37 +02:00
Matthias Kuhn
881dfef3c9 Fix python test imports 2017-06-02 19:53:37 +02:00
Matthias Kuhn
a9d7630a69 Rename QgsPointV2 to QgsPoint and QgsPoint to QgsPointXY
Because 3D coordinates should be the default.

References https://github.com/qgis/qgis3.0_api/issues/36
2017-06-02 19:53:37 +02:00
Denis Rouzaud
2d78ef80a9 handle PyName for enums 2017-06-02 13:27:15 +02:00