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
volaya
fcc343724e
[processing] some fixes and changes in parameters and parameters panel
2016-12-01 12:50:27 +01:00
nirvn
c87839f054
[processing] fix ExtentSelectionPanel's getValue()
2016-11-15 09:07:58 +07:00
Alexander Bruy
9d6acbdb99
[processing] add missed imports
2016-10-18 20:57:34 +03:00
Alexander Bruy
700441eec9
[processing] remove debug line and fix spatial index creation
2016-10-18 16:55:19 +03:00
volaya
b83fbb16c9
[processing] warn if extent might not be in the expected CRS
2016-10-18 16:55:19 +03:00
arnaud.morvan@camptocamp.com
4184934b9a
[processing] Apply 2to3 on changes
2016-10-05 12:39:01 +02:00
Alexander Bruy
3407ced90e
fix indentation
...
Conflicts:
python/plugins/processing/gui/BatchInputSelectionPanel.py
python/plugins/processing/gui/wrappers.py
2016-10-05 12:38:50 +02:00
volaya
8ce93b102c
[processing] removed unused imports
2016-10-05 12:38:31 +02:00
volaya
5464c4501b
[processing] use QgsMessage bar in algorithm dialogs
2016-10-05 12:38:30 +02:00
volaya
c491c01266
[processing] changes to allow custom parameter dialog adapt to new parameter architecture
2016-10-05 12:38:21 +02:00
volaya
fe5d0166cc
[processing] added multiple option to ParameterTableFIeld
...
removed ParameterTableMultipleField and did some cleanup
2016-10-05 12:38:09 +02:00
volaya
e353d226a8
[processing] evaluate parameters before executing algorithm
...
This allows a better use of expressions
2016-10-05 12:35:02 +02:00
volaya
b298c76ee4
[processing] implemented parameter widget wrappers
...
Conflicts:
python/plugins/processing/core/GeoAlgorithm.py
python/plugins/processing/gui/ExtentSelectionPanel.py
python/plugins/processing/modeler/ModelerParametersDialog.py
2016-10-05 12:34:58 +02:00