8 Commits

Author SHA1 Message Date
Matthias Kuhn
e6ef7639cb [processing] Allow algorithms to provide additional configuration widgets 2018-04-09 13:10:46 +02:00
Matthias Kuhn
9e8c995ac8 [processing] Pass algorithm configuration on run
Because if it's not passed here, it's basically like writing it to /dev/null right from the beginning.
2018-04-09 12:34:35 +02:00
Nyall Dawson
8326510e0e [processing] If an exception occurs while processing a feature
in a feature-based algorithm, don't try to continue processing
remaining features

Avoids multiple error dialogs appearing for every feature
in a layer...
2018-04-04 05:27:32 +10:00
Nyall Dawson
08d30c3b9f [processing] Add method for algorithms to preprocess parameter values
Allows algorithms to pre-processes a set of parameters, allowing the
algorithm to clean their values.

This method is automatically called after users enter parameters, e.g.
via the algorithm dialog. This method should NOT be called manually
by algorithms.
2018-04-03 18:36:39 +10:00
Nyall Dawson
43cd62b62f [processing] Tweak api for QgsProcessingFeatureBasedAlgorithm
Instead of returning a single QgsFeature from processFeature, we now
return a list of features.

This allows feature based algorithms which return multiple features
per input feature, e.g. "explode" type algorithms which split a
single input feature into multiple output features.
2018-02-21 09:16:43 +11:00
Nyall Dawson
fc68bb25d7 [processing] Allow case-different duplicate parameter names
But always prefer case-exact matches for parameter names. Turns
out the grass provider requires use of parameters with the same
name but different case, so we need to be able to handle this.
2018-02-01 07:53:54 +11:00
Nyall Dawson
a05d941e4e [processing] Default to allowing background execution of algorithms
Since the underlying issues with the Python bindings are now fixed,
in most cases we can safely default to allowing an algorithm to
run in a background thread!!

So now we make this the default, and require individual algorithms
which are NOT thread safe to declare this. This includes algorithms
which directly manipulate the current project or layers (such as
setting layer styles), alter the selections in layers, or which
rely on 3rd party libraries (for now, SAGA and GRASS algorithms
are marked as not thread safe... TODO - someone more familiar with
these libraries can investigate and remove the flag if appropriate).

Also models are marked as non-thread safe. TODO: only flag an
individual model as thread-unsafe if any of its child algorithms
report this flag.
2018-01-29 17:37:05 +11:00
Denis Rouzaud
7722010ca8 rename *.sip to *.sip.in for the auto generated sip files 2018-01-17 10:16:37 -04:00