Nyall Dawson
e9e335a7bd
Don't set thinking cursors when running processing algorithms
...
Since now they're run in a background thread, it's not appropriate
anymore
2017-07-07 09:28:19 +10:00
Nyall Dawson
1b2086e8a6
Make algorithm dialog use background tasks to execute algorithms
2017-07-07 09:27:35 +10:00
Nyall Dawson
14347a431e
Also add results to results dock when running through algorithm dialog
2017-06-27 13:18:22 +10:00
Nyall Dawson
1e5d773e57
Fix use of temporary files for outputs
2017-06-27 13:18:22 +10:00
Nyall Dawson
0b4bb9e998
Remove manually set tab bar height in algorithm dialog
...
Breaks dialog layout on hidpi screens
2017-06-27 10:49:31 +10:00
Nyall Dawson
4ea85362f4
Transform errors encountered while iterating features in
...
processing are non-fatal. We report them to users, and treat the
feature as having no geometry, but don't stop execution.
2017-06-23 12:08:54 +10:00
Nyall Dawson
98617c90bd
Report errors when executing algs within dialogs
2017-06-23 12:08:54 +10:00
Nyall Dawson
9d8118c995
Fix dest selection panel when used in folder mode
...
Also fix some UX issues with the panel in folder, such as
correctly remembering/restoring last used folders, defaulting
to home dir, don't clear value when canceling while browsing
2017-06-22 18:21:51 +10:00
Nyall Dawson
df73a0f4fc
Remove outdated TODO
2017-06-13 10:26:35 +10:00
Nyall Dawson
63611b1d8f
Port script code functions to c++ classes
...
Restore logging executed algorithms
2017-06-12 15:59:56 +10:00
Nyall Dawson
b9e0b46f9f
Fix running algorithms in iterating mode
2017-06-12 13:35:31 +10:00
Nyall Dawson
b40f409de2
Nicer formatting for log in algorithm dialog
2017-06-12 08:31:37 +10:00
Nyall Dawson
cb41ef1adc
Output useful logging when running algorithms from toolbox
...
Now outputs the input parameters, execution time, and results
2017-06-12 07:26:02 +10:00
Nyall Dawson
1d6d4be556
Correctly reject algorithm dialog
...
Algorithm dialog was not being rejected when close button was
called (only hidden), leading to old dialogs and widgets
hanging around forever...
2017-06-12 07:26:02 +10:00
Nyall Dawson
aa544a14c0
Only use a temporary feedback object when running algorithms
...
Otherwise canceling a run causes all future runs to be canceled
2017-06-12 07:26:02 +10:00
Nyall Dawson
2d2c229332
Port checkInputCRS to c++, and allow algorithms to flag when they
...
require all input layers to be in the same CRS
The default behaviour is to assume that algorithms are well behaved
and can handle multi-CRS inputs, but algs have the option to
flag that they do not allow this and require the input CRS check.
Those algs should document that they require all inputs to have
matching CRS - processing 3.0 behaviour is to assume that algs
can handle this.
2017-06-12 07:26:02 +10:00
Nyall Dawson
6b55300fbc
If a feature sink parameter is optional and not set, don't create the sink
...
This adds a lot of flexibility to algorithms, as it makes output
sinks truely optional. For instance, the various "Extract by..."
algorithms could add a new optional sink for features which
'fail' the extraction criteria. This effectively allows these
algorithms to become feature 'routers', directing features onto
other parts of a model depending on whether they pass or fail
the test.
But in this situation we don't always care about these failing
features, and we don't want to force them to always be fetched
from the provider. By making the outputs truely optional,
the algorithm can tweak its logic to either fetch all features
and send them to the correct output, or only fetch
matching features from the provider in the first place (a big
speed boost).
2017-06-09 14:22:29 +10:00
Alexander Bruy
77fa17781e
[processing] save and restore geometry of the algorithm dialog
2017-06-06 10:51:22 +03:00
Nyall Dawson
c1d35a043b
Port getHTMLOutputsCount to c++ API
2017-06-06 15:39:54 +10:00
Nyall Dawson
a27c22d9b1
Add raster layer output parameters
2017-06-06 14:38:24 +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
ab64428891
Add a cancel button for algorithms which support cancelation
2017-06-06 11:40:33 +10:00
Nyall Dawson
5e92c0dbf4
Fix saving processing outputs with correct encoding
2017-06-06 09:51:49 +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
ea2e477d91
Fix failing tests, temporarily disable some processing tests during
...
refactoring
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
5b8affcb56
Rename QgsProcessingParameterOutputVectorLayer to QgsProcessingParameterFeatureSink
2017-06-06 07:41:20 +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
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
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
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
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
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
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
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
6987d7b37c
Port handling of algorithm names to QgsProcessingAlgorithm
2017-04-03 21:17:45 +10:00
Alexander Bruy
c1e6ba0f40
[processing] rename AlgorithmExecutor's runalg() and runalgIterating()
...
to avoid overlapping with general functions and improve readability
2017-03-22 19:11:36 +02:00
Juergen E. Fischer
f00a87cb8a
update translation strings
2017-03-05 10:21:24 +01:00
Nyall Dawson
3ecafb3472
[processing] Allow extent parameters to avoid matching layer CRS check
2017-02-14 05:49:23 +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
Martin Dobias
d56a97d4fe
Merge QgsMapLayerRegistry into QgsProject
...
All methods/signals of QgsMapLayerRegistry moved verbatim to QgsProject.
2016-12-10 15:18:12 +08:00