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
f64f74fb63
Fix incorrect import
2017-06-06 13:41:42 +10:00
Nyall Dawson
d53fa8d2af
Port another alg to new API
2017-06-06 12:36:10 +10:00
Nyall Dawson
ab64428891
Add a cancel button for algorithms which support cancelation
2017-06-06 11:40:33 +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
5e92c0dbf4
Fix saving processing outputs with correct encoding
2017-06-06 09:51:49 +10:00
Nyall Dawson
2b0af000fd
Merge pull request #4590 from nyalldawson/processing_pt3
...
Processing armaggeddon, pt 1
2017-06-06 09:06:53 +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
7683b25f81
Move getFileFilter from params to gui wrappers
2017-06-06 07:41:20 +10:00
Nyall Dawson
379d060de4
Resurrect another Python QGIS algorithm
2017-06-06 07:41:20 +10:00
Nyall Dawson
a658135693
Remove global processing use selection setting
2017-06-06 07:41:20 +10:00
Nyall Dawson
7f687345f8
[FEATURE][processing] Add checkbox for each vector input layer
...
to control whether selected features only are to be used
Replaces the old global setting and makes it immediately obvious
to users when the selection will be respected
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
f9887aabf5
[processing] Remove more UseSelectionIfPresent use
2017-06-06 07:41:20 +10:00
Nyall Dawson
d85522582a
Temporarily deactivate more algorithms
2017-06-06 07:41:20 +10:00
Nyall Dawson
3bd74aef52
Remove no longer required QgsProcessingContext::UseSelectionIfPresent flag
...
Since using selection is now a per-feature-source setting
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
937347582c
Indentation
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
bdf051a03a
Partially port a trial python alg to new API
2017-06-06 07:41:19 +10:00
Nyall Dawson
0c3ad14c79
Adapt more python code to new API
2017-06-06 07:41:19 +10:00
Nyall Dawson
6517470ddd
Temporarily fix memory layer outputs
2017-06-06 07:41:19 +10:00
Nyall Dawson
87fc31d6de
Adapt more python code to new API
2017-06-06 07:41:19 +10:00
Nyall Dawson
28f7a8b7e1
Move expression context generation out of parameters
2017-06-06 07:41:19 +10:00
Nyall Dawson
416770b197
Remove no longer required _resolveLayers method
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
189f804714
Adapt more code to c++ API
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
a23a6ac631
Create a QgsProcessingAlgRunnerTask task
...
Allows background execution of processing algorithms.
Not exposed anywhere in GUI (yet)
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
4cb7d18b1c
Push parameters into processAlgorithm and related functions
2017-06-06 07:41:19 +10:00
Nyall Dawson
f1c53c3aa4
Refactor Algorithm setParamValues -> getParamValues
...
Now returns a dict of parameter inputs for the algorithm
2017-06-06 07:41:19 +10:00
Nyall Dawson
9997ab6e1e
Partially port wrappers to QgsProcessingParameterDefinition
...
And create a new WidgetWrapperFactory for creating a suitable wrapper
corresponding to a parameter
2017-06-06 07:41:19 +10:00
Nyall Dawson
77ab933788
Move alg character definitions to __init__
2017-06-06 07:41:19 +10:00
Nyall Dawson
134c04b8bb
Move getParametersPanel out of algorithm class
...
It's a gui related method, so shouldn't be in core class
2017-06-06 07:41:19 +10:00