81 Commits

Author SHA1 Message Date
Alexander Bruy
b8cb196322 Merge pull request #4293 from alexbruy/processing-api
[processing][needs-docs] Processing API improvements
2017-03-27 10:25:43 +03:00
Nyall Dawson
2354696f26 Fix error when enabling additional providers in processing
Add an interface method to show the options dialog at a specific
page. This is required since plugins can now embed their options
in the main options dialog, so they may also need a way to
force this dialog to open.

Implement this in processing so that enabling additional providers
works again.
2017-03-24 11:16:49 +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
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
volaya
e5ebcd170f Merge pull request #4206 from volaya/fix_processing_provider_update
[processing] fixed update of toolbox after editing script providers
2017-03-03 08:50:09 +01:00
Nyall Dawson
febff07fde Indentation 2017-03-03 08:07:48 +10:00
volaya
51da47d61c [processing] fixed update of toolbox after editing script providers 2017-03-02 13:44:31 +01:00
volaya
1618f539ec [provided] avoid removing toolbox entries when there are no recent algs 2017-03-02 13:43:10 +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
dca697b427 [processing] New c++ QgsProcessingRegistry class
Intended as a registry for the various processing components,
including providers, algorithms and various parameters and outputs.

Currently handles only registration of providers, as a step toward
removing processing's algList (this requires first porting
the algorithm class to c++)

A QgsProcessingRegistry instance is attached to QgsApplication,
and is retrieved by QgsApplication::processingRegistry()
2017-01-11 10:55:15 +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
Nyall Dawson
3550cc99a6 [processing] Allow algorithms to specify tags
Tags are used while searching in the toolbox. This should help with
finding algorithms when the exact name is not known, eg
you could search for "envelope" or "bounds" and find the
'Polygon from Layer Extent' algorithm.

At the moment it's quite hard to discover algorithms which exist
when you don't know what their called and have to instead search
for every possible naming variant which could exist...
2016-11-08 10:15:31 +10:00
Nyall Dawson
1a4f8f59f1 [processing] When searching in toolbox, ignore order of words
Eg, allows you to search "line merge" and find the "Merge lines"
algorithm. Should make it easier for users who don't know the
exact name to find algorithms.
2016-11-08 09:30:52 +10:00
arnaud.morvan@camptocamp.com
4184934b9a [processing] Apply 2to3 on changes 2016-10-05 12:39:01 +02:00
volaya
efd73a491f [processing] fixes for new parameters architecture
includes better managing of crd and extent parameters in models, not requiring now the use of modeler-only lags
2016-10-05 12:35:00 +02:00
Juergen E. Fischer
31df84aa6b run 2to3 on source 2016-09-21 23:30:04 +02:00
radosuav
1da60c530d [Processing] Fix exception on right click ToolboxAction (#3347) 2016-08-01 00:09:23 +02:00
volaya
a8a2246617 fixed addProvider method in toolbox 2016-06-02 12:49:51 +02: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
e925382292 [processing] fixed provider updates in toolbox 2016-05-23 19:34:24 +02:00
volaya
bfa90a9125 [processing] fixed toolbox updates 2016-05-18 12:08:34 +02:00
Matthias Kuhn
abfd7740bd Fix qgis.PyQt compatibility imports 2016-04-29 14:10:41 +02:00
Denis Rouzaud
8071acd064 move PyQt compat folder to python/qgis 2016-04-29 14:10:26 +02:00
Alexander Bruy
58109113fd [processing] always use original algorithm name for scripts and models (follow up abda90fe0d) 2016-04-28 14:53:27 +03:00
Alexander Bruy
b52735dbd8 fix indentation 2016-04-27 15:40:56 +03:00
volaya
bee4068b89 [processing] handle provider modifications when settings have been edited 2016-04-27 13:36:28 +02:00
volaya
f33749ab9d [processing] different approach for provider add/remove 2016-04-27 10:09:28 +02:00
Alexander Bruy
abda90fe0d [processing] filter items in toolbox using translated and original names (fix #13764) 2016-04-11 15:57:22 +03:00
volaya
297f4669fd [processing] added preconfigured algorithms 2016-04-07 12:03:39 +02:00
Juergen E. Fischer
2526d3e3c8 processing: switch to pyqt wrappers, flake8 fixes 2016-03-21 17:00:25 +01:00
volaya
1fdd177c81 [processing] do not search text in short help when filtering in toolbox
This should fix problems with slow and unresponsive filtering
2016-03-18 13:06:45 +01:00
Juergen E. Fischer
c6d921729e python fixes:
* issues identified by pyflakes (star and unused imports)
* pyqtwrapper: add QtSvg
* some exceptions e.message => unicode(e)
* some translations tr("..." % foo) => tr("...") % foo
* TODO:
  python/console/console_sci.py:547 QsciScintillaCompat?
  python/plugins/db_manager/dlg_query_builder.py:304 pop_up_error?
2016-03-15 17:25:23 +01:00
Alexander Bruy
605e0c43fe [processing] don't show tip when user uses search and tip was disabled (fix #14379) 2016-03-09 14:21:54 +02:00
volaya
4c2c905c32 [processing] added option to not show disabled providers tooltip 2016-01-29 14:09:06 +01:00
volaya
f762380835 [processing] more checks before running model 2016-01-19 12:34:59 +01:00
Nyall Dawson
a3cee7df42 Fix spacing 2016-01-12 08:24:13 +11:00
volaya
be5d657c27 [processing] use simple QLabel widgets for toolbox tips 2016-01-11 09:39:09 +01:00
volaya
473e3ea9c5 [processing] removed unused constant 2016-01-11 09:39:08 +01:00
volaya
e7e845158a [processing] removed unused code 2016-01-10 23:29:38 +01:00
volaya
931ca4d6d6 [processing] indentation fixes 2016-01-08 12:52:19 +01:00
Alexander Bruy
4137437f2c PEP8 fixes 2016-01-08 10:32:43 +02:00
volaya
62302377db [processing] UI/UX improvements
Related to QEP #19

Some algorithm description provided by Frank Sokolic
2016-01-08 08:27:22 +01:00
Michael Kirk
afcf567ebb [Processing] fixup parameters test
- Broke into per class testcase
- Each method tries to test only one aspect of behavior
- Use unittest assertions for better error output
- Removed non-existant serialize functionality from tests
- Test BooleanParameter

Conflicts:
	python/plugins/processing/core/parameters.py
2015-12-24 15:14:02 +01:00
Juergen E. Fischer
70e35ff24c missed a string in 6c3141b 2015-12-09 09:18:58 +01:00
volaya
19eca9a84b [processing] do not collapse tree when updating models or scripts 2015-10-06 15:52:28 +02:00
volaya
8ed71fbd38 [processing] corrected some issues with i18n names 2015-09-21 07:45:17 +02:00
Juergen E. Fischer
b39055b39c indentation update (now including autopep8) 2015-08-22 14:29:41 +02:00
Matthias Kuhn
343d3a6854 fix processing startup error, followup 25e9f86 2015-07-27 17:13:04 +02:00