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
28f7a8b7e1
Move expression context generation out of parameters
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
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
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
Nyall Dawson
168f16276c
Remove help related methods from GeoAlgorithm
2017-06-06 07:41:19 +10:00
Nyall Dawson
2d1579d28a
Port algorithm help to QgsProcessingAlgorithm
2017-06-06 07:41:19 +10:00
Nyall Dawson
1e788556f0
Port getCustomParametersDialog to QgsProcessingAlgorithm
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
fac8ca4d4f
Move execution check to QgsProcessingAlgorithm
2017-06-06 07:41:19 +10:00
Nyall Dawson
03e40f7497
[processing] Remove all remaining algorithm copies
...
Algorithms are no longer copied - just a single const instance
of each algorithm is used
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
ae97c333d6
Revert "Port algorithm countVisibleParameters to c++"
...
This reverts commit c3c694f8ccfbe0b64df14365f950f5895968a66a.
2017-05-15 10:24:38 +10:00
Nyall Dawson
c3c694f8cc
Port algorithm countVisibleParameters to c++
2017-05-15 08:44:28 +10:00
arnaud.morvan@camptocamp.com
e232a0809c
[processing] Handle context in processing.run
...
Fix #15985 (Concave hull)
2017-05-02 17:04:57 +02:00
Nyall Dawson
877775d2c0
Remove a bunch of unneeded imports
2017-05-02 14:47:58 +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
Nyall Dawson
fd2c18ee16
Refactor processing writer to use QgsFeatureSink, and to store
...
temporary output layers in the provided processing context
Should fix loss of intermediate memory layers when running
a multi-step model
2017-04-26 17:38:40 +10:00
Nyall Dawson
e9f13d1ea3
Just use standard QgsMessageLog functionality instead of a dedicated
...
method for processing
2017-04-26 13:57:06 +10:00
Nyall Dawson
1394c28d13
[processing] Move some log handling to c++ class
2017-04-26 13:56:29 +10:00
Nyall Dawson
86002f3b6f
Move createContext to dataobjects
2017-04-26 12:53:35 +10:00
Nyall Dawson
427c3b1684
Remove vector.features
...
Use QgsProcessingUtils.getFeatures instead
2017-04-26 12:53:35 +10:00
Nyall Dawson
adc7cf0ec2
Add context argument to vector.features
2017-04-26 12:53:35 +10:00
Nyall Dawson
dd4f530cfb
[processing] Pass context argument to processAlgorithm
2017-04-26 12:53:35 +10:00
Nyall Dawson
9a97a87b4d
Use display name in algorithm help
2017-04-07 13:21:28 +10:00
Nyall Dawson
2a1a71574a
Move algorithm id (previously commandLineName) to QgsProcessingAlgorithm
2017-04-07 13:21:28 +10:00
Nyall Dawson
b3142a0baf
Move provider algorithm handling to QgsProcessingProvider
2017-04-07 13:21:28 +10:00
Nyall Dawson
0e72fe0591
Fix error when trying to run processing algs
...
Caused by trying to deepcopy a c++ object. This is a temporary
fix - when the next part of the processing/c++ work lands algorithm
copies will no longer be required
2017-04-07 09:36:45 +10: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
a0bd464232
Use formatted name for algorithm names
...
Avoids conversion of names later and gives clearer separation
between visible names and internal names
2017-04-03 21:17:45 +10:00
Nyall Dawson
e506ceb1f8
Move flags (hide from toolbox, etc) to QgsProcessingAlgorithm
2017-04-03 21:17:45 +10:00
Nyall Dawson
6987d7b37c
Port handling of algorithm names to QgsProcessingAlgorithm
2017-04-03 21:17:45 +10:00
Nyall Dawson
dc729c1b5a
Move algorithm group handling to QgsProcessingAlgorithm
2017-04-03 21:17:45 +10:00
Nyall Dawson
faa8a653b2
Move algorithm icon handling to QgsProcessingAlgorithm
2017-04-03 21:17:45 +10:00
Nyall Dawson
28e75731e1
Move tag handling to QgsProcessingAlgorithm
2017-04-03 21:17:45 +10:00
Nyall Dawson
52cc002990
Simple c++ base class for processing algorithms
2017-04-03 21:17:45 +10:00
Alexander Bruy
1a46ddbf28
[processing][API] rename runalg() and runandload() to improve
...
readability
2017-03-22 19:17:12 +02:00
Juergen E. Fischer
ecc5bb508e
pep8/pyflakes3 cleanups
2017-03-04 02:38:15 +01:00
Juergen E. Fischer
a10c890383
More QgsSettings updates:
...
* revives WMS
* QgsSettings::clear() added
* section added to QgsSettings::contains()
* type parameter added to sip binding of QgsSettings.value()
* TODO: customization & evis
2017-03-04 02:37:59 +01:00
Denis Rouzaud
748be8de71
[spelling] replace behaviour by behavior
2017-01-11 11:35:19 +01:00
Nyall Dawson
86e1138a04
[processing] Correctly handle when no feedback object is passed
2017-01-11 11:11:11 +10:00
Nyall Dawson
ede452be85
[processing] Port feedback object to c++
...
Algorithms are now passed a QgsProcessingFeedback object
instead of the loosely defined progress parameter.
2017-01-11 11:11:10 +10:00
Nyall Dawson
04eb293362
[processing] Move some SVG icons out of plugin to themes
...
...and swap to using QgsApplication methods for retrieving cached icons,
implement svgIconPath for providers with SVG icons
2017-01-11 10:55:16 +10:00