115 Commits

Author SHA1 Message Date
Nyall Dawson
cb70aad7a3 Fix restricting model algorithm input types to valid types for alg (refs #17030) 2017-08-23 17:34:08 +10:00
Nyall Dawson
4511ea1c12 Add a file selector for file parameters in model algorithms
Makes it more obvious to users that a fixed filename can be
used here
2017-08-23 02:14:30 +10:00
Nyall Dawson
367aba7059 Rename some processing widget wrappers to better match corresponding c++ classes 2017-08-23 00:16:42 +10:00
Nyall Dawson
ebda2fd212 Rename some enum values for clarity 2017-08-19 02:46:22 +10:00
Nyall Dawson
f2d2777bf3 Model vector layer inputs can also be used for feature source parameters 2017-08-19 01:09:22 +10:00
Nyall Dawson
8139786605 Allow adding manual layers in modeler multi layer alg parameters
This allows creation of models with child algorithms which do
things like merge a selected layer with a predefined static
layer, or create a vrt with a mix of static and user selected
layers.
2017-08-17 06:00:28 +10:00
Nyall Dawson
aefd5cce30 Fix exception when editing multi layer parameter in model 2017-08-17 05:18:33 +10:00
Nyall Dawson
b318aff6ff Fix multi layer parameters in models not giving all options for inputs 2017-08-17 05:12:11 +10:00
Nyall Dawson
1f2ea024f2 Allow adding layers which aren't open in the project to processing
parameters which accept lists of multiple layers

E.g. build vrt alg, merge vector layers alg

Otherwise you may need to load 100's of layers temporarily into
a project to perform algs on them
2017-08-17 03:52:40 +10:00
Nyall Dawson
7d7c06cd85 Implement widget wrapper for QgsProcessingParameterMapLayer 2017-08-11 04:33:18 +10:00
Nyall Dawson
e0fbe3409a Use ellipsis for isolated strings in plugins too 2017-08-11 04:33:18 +10:00
Mario Baranzini
f792661c1c Refactoring of rasterize algorithm 2017-08-08 20:59:58 +02:00
Mario Baranzini
baede356bb Refactoring 2017-08-08 17:16:17 +02:00
Nyall Dawson
b0cac0bd04 Remove debugging code 2017-08-07 17:13:07 +10:00
Nyall Dawson
470afbebbe Use correct file filters for processing vector/raster input selectors 2017-08-05 23:19:03 +10:00
Alexander Bruy
9fe326dee2 [processing] more consistent naming for class members, setters and
getters
2017-08-04 13:21:26 +03:00
Alexander Bruy
49bfe69823 [processing] add parameter representing raster band 2017-08-04 11:27:35 +03:00
Nyall Dawson
f7b25a17b1 Allow setting layer type filter for QgsProcessingParameterVectorLayer
Turns out this is required for some algorithms
2017-07-27 14:30:04 +10:00
Nyall Dawson
0836c60712 Make model editor dialog more robust while loading models 2017-07-08 20:49:17 +10:00
Nyall Dawson
f82b41e001 Move an enum to new QgsProcessing class 2017-07-08 20:49:17 +10:00
Nyall Dawson
d8086e549d Use c++ method for available sources 2017-07-07 11:35:31 +10:00
Harrissou Sant-anna
b57cd0deb1 [processing] align the "Iterate over layer" button (#4796) 2017-07-03 14:13:30 +07:00
Nyall Dawson
4f096a6f8b Feature source parameters cannot be used for vector layer algorithm
parameters in models

There's not a 1:1 correlation here - vector layers can be used
as inputs for sources, but sources cannot be used when a
full vector layer is required.
2017-06-27 13:18:22 +10:00
Nyall Dawson
94619d0df3 Fix incorrect layer source from widget wrapper 2017-06-27 08:33:13 +10:00
Nyall Dawson
8af308d277 Fix creation of widget wrappers via metadata parameters 2017-06-22 18:19:26 +10:00
Nyall Dawson
a9f97fc478 Port create attribute index alg to new api 2017-06-21 22:22:37 +10:00
Nyall Dawson
0da3652257 Rename some parameter classes for consistency 2017-06-21 22:13:16 +10:00
Nyall Dawson
f6358b2118 Begin port of modeler algorithm to c++ 2017-06-20 14:45:13 +10:00
Nyall Dawson
efe8bba006 Work on resurrecting modeler 2017-06-20 14:45:13 +10:00
Nyall Dawson
d8302a26f2 Fix feature source widget returns source even when not set 2017-06-12 10:38:40 +10:00
Nyall Dawson
c52e6a72ba Fix raster layers showing as input choices for vector algs 2017-06-12 10:35:22 +10:00
Nyall Dawson
d8260b8c47 [FEATURE] Port Extract by Expression to new API, allow saving
non matching features to separate output
2017-06-12 07:26:02 +10:00
Nyall Dawson
74ffdb1187 Fix field widget wrapper 2017-06-06 15:21:09 +10:00
Nyall Dawson
2f28736e8e Remove some unused code 2017-06-06 14:38:52 +10:00
Nyall Dawson
d53fa8d2af Port another alg to new API 2017-06-06 12:36:10 +10:00
Nyall Dawson
7683b25f81 Move getFileFilter from params to gui wrappers 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
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
a951424287 QgsProcessingParameterVectorLayer accepts lists of vector layer types 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
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
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
49c688bbe4 Fix use of QgsProcessingUtils.mapLayerFromString 2017-05-02 13:40:49 +10:00
Nyall Dawson
f84d703234 Add method QgsProcessingUtils::mapLayerFromString
Algorithms and other processing code should use this method
(instead of dataobjects.getLayerFromString) to
retrieve layers from a string, as it considers the processing
context and allows resolving strings to temporarily stored layers.

This permits processing models to function correctly when
intermediate results are stored as memory layers. Subsequent
model algorithms can then access these temporary layers as inputs.
All temporary layers will be removed when the context object
is destroyed after the model algorithm is run.
2017-05-02 12:33:04 +10:00
Denis Rouzaud
be9a51c42d sipify QgsMapLayerModel, QgsMapLayerProxyModel 2017-04-19 16:44:36 +02:00
Nyall Dawson
377b181c4e Port more processing dataobjects methods to c++
Also
- simplify and add tests
- remove large memory leak (persistant store of all non-project layers)
- remove broken support for direct loading postgres/virtual layers
by string (Python version was very broken and would never match
a postgres/virtual layer)
2017-04-05 19:50:46 +10:00
Nyall Dawson
8ffdb362cc Port some processing dataobjects routines to c++ 2017-04-05 15:27:17 +10:00
Nyall Dawson
ce7180ca64 [processing] Default to current layer in layer selection combos
Makes things easier for large projects and avoids scrolling through
a large list of layers
2017-03-21 10:26:58 +10:00