38 Commits

Author SHA1 Message Date
Nyall Dawson
1e13d733c2 Move declaration of algorithm parameters/outputs to a new virtual
initAlgorithm() method

This allows 2 benefits:
- algorithms can be subclassed and have subclasses add additional
parameters/outputs to the algorithm. With the previous approach
of declaring parameters/outputs in the constructor, it's not
possible to call virtual methods to add additional parameters/
outputs (since you can't call virtual methods from a constructor).

- initAlgorithm takes a variant map argument, allowing the algorithm
to dynamically adjust its declared parameters and outputs according
to this configuration map. This potentially allows model algorithms which
can be configured to have variable numbers of parameters and
outputs at run time. E.g. a "router" algorithm which directs
features to one of any number of output sinks depending on some
user configured criteria.
2017-07-10 16:31:14 +10:00
Nyall Dawson
0c3ad14c79 Adapt more python code to new 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
4cb7d18b1c Push parameters into processAlgorithm and related functions 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
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
dd4f530cfb [processing] Pass context argument to processAlgorithm 2017-04-26 12:53:35 +10:00
Nyall Dawson
ebd851993a Remove processing specific methods for adding/removing providers
QgsProcessingRegistry methods should always be used instead
2017-04-07 13:21:28 +10:00
Nyall Dawson
fdcf04f9f3 Remove AlgorithmProvider
Totally ported to QgsProcessingProvider
2017-04-07 13:21:28 +10:00
Nyall Dawson
42a614154c Also refactor provider context menu actions and remove from AlgorithmProvider 2017-04-07 13:21:28 +10:00
Nyall Dawson
ff32054da6 Fix some breakage 2017-04-07 13:21:28 +10:00
Nyall Dawson
fb1cf1e185 Remove processing algList
All functionality has been moved to QgsProcessingRegistry
2017-04-07 13:21:28 +10:00
Nyall Dawson
4970bb4cd5 Move more algList functionality to QgsProcessingRegistry 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
6e8a696ef4 Update PreconfiguredAlgorithm for new API 2017-04-03 21:20:56 +10:00
Nyall Dawson
e506ceb1f8 Move flags (hide from toolbox, etc) 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
Juergen E. Fischer
c77172ed3d fix more flake8 warnings 2017-03-05 10:21:24 +01:00
Juergen E. Fischer
f00a87cb8a update translation strings 2017-03-05 10:21:24 +01: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
bb24dfe245 [processing] c++ base class for providers
Nothing particularly exciting here yet, but this commit
moves the definition of the provider base class to a c++
QgsProcessingProvider abstract base class.

As part of this some existing python methods were renamed
to make their use clearer and to fit with the QGIS c++
api conventions:

- getName was renamed to id
- getDescription was renamed to name
- getIcon was renamed to icon

These API breaks are documented
2017-01-11 10:55:15 +10:00
nirvn
00ee2ad989 [processing] vectorize and improve menu icons (fixes #14474) 2016-12-31 11:59:46 +07: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
5464c4501b [processing] use QgsMessage bar in algorithm dialogs 2016-10-05 12:38:30 +02:00
Juergen E. Fischer
31df84aa6b run 2to3 on source 2016-09-21 23:30:04 +02:00
Martin Dobias
47eae5865a [processing] Fix preconfigured alg creation (fixes #15100) 2016-07-05 19:32:33 +02:00
Alexander Bruy
cc7eb27a27 [processing] drop WebView dependency (follow up 38f6ace4c0) 2016-05-27 20:38:51 +03:00
volaya
33fc3be15f [processing] separated alglist to its own module 2016-05-23 19:36:16 +02:00
volaya
e6b76c4d7b [processing] cleaning and restructuring
This fixes some design errors (mainly the ModelerUtils class, which is not needed anymore to hold a copy of algs and providers in order to avoid circular dependencies) and removes unused code
2016-05-23 19:34:25 +02:00
volaya
518f7dcf6b [processing] correctly switch to description tab if help tab exists 2016-05-19 13:45:17 +02:00
Denis Rouzaud
8071acd064 move PyQt compat folder to python/qgis 2016-04-29 14:10:26 +02:00
Matthias Kuhn
5376cbf35e Followup 297f466 pep8 2016-04-07 14:11:03 +02:00
Matthias Kuhn
27afd6c4f3 Fix headers 2016-04-07 13:21:23 +02:00
Matthias Kuhn
5e89058921 Followup 297f466 Add missing CMakeLists.txt 2016-04-07 13:21:20 +02:00
volaya
3e4e08bc6f [processing] fixed header 2016-04-07 12:03:40 +02:00
volaya
297f4669fd [processing] added preconfigured algorithms 2016-04-07 12:03:39 +02:00