55 Commits

Author SHA1 Message Date
Bas Couwenberg
2628c480c5 Don't include revision in sources.
Prevent changes to files that weren't changed between releases.
This eases review of the changes between releases significantly.
2019-05-17 16:47:47 +02:00
Nyall Dawson
56e465cc8a [processing][needs-docs] Resurrect ability to convert models to scripts
Brings back QGIS 2.18's ability to directly convert a Processing model
to an equivalent Processing Python script algorithm, correctly
updated and working in the 3.x API.

Available from the model dialog, and from the right-click context
menu on an existing model.

Sponsored by Solspec
2019-02-01 17:54:28 +11:00
Nyall Dawson
f77cf4fae4 [processing] Formalise object design for ContextAction, allow icons to be set 2019-02-01 17:54:28 +11:00
Matthias Kuhn
6bad21f78a Avoid freeze by infinite recursion 2018-03-07 09:00:33 +11:00
Matthias Kuhn
031aa9c0e4 Better error reporting for model exception 2018-03-07 09:00:33 +11:00
Nyall Dawson
0481666b77
Merge pull request #6408 from arnaud-morvan/processing_reload_fix
Processing reload fixes
2018-02-22 10:03:51 +11:00
arnaud.morvan@camptocamp.com
d3a4a34515 [processing] Fix slot prototype in ModelerAlgorithmProvider. Fix #18162 2018-02-21 21:42:21 +00:00
Nyall Dawson
146d408190 [processing] Add direct action to open an existing model in editor 2018-02-22 06:44:17 +11:00
Denis Rouzaud
3dc3d9d1b2 unite QgsMessageLog::Level and QgsMessageBar::MessageLevel in Qgis::MessageLevel
make enum items lower case
remove unused QgsMessageLog::None and All
2018-02-06 08:56:40 -04:00
Alexander Bruy
567ebb9dd0 [processing] fixes after rebasing 2018-02-05 08:53:52 +02:00
Alexander Bruy
53ff800ff8 [processing] temporarily disable fetch actions for scripts and models 2018-02-05 08:50:37 +02:00
Alexander Bruy
87e55ba3c7 [processing] remove Get scripts and models functionality
Users should use Resource Sharing plugin instead
2018-02-04 11:11:47 +02:00
Nyall Dawson
bf19eb6f35 [processing] Non-filed based outputs (e.g. postgis, geopackage)
options should be available for certain model outputs and script
algorithm outputs

We do this by swapping the test for non-file based output support
from checking only the algorithm's provider to instead checking
on a parameter-by-parameter basis.

This is done in order to support models. For models, depending
on what child algorithm a model output is based off, an individual
model may or may not have support for non-file based outputs. E.g
a model may generate outputs from a native qgis alg (supporting
these outputs) AND an output from a GDAL alg (with no support
for these outputs). In this case we need to enable or disable
the ui controls for non-file based outputs on an individual
output basis.

For scripts (for now) we blindly just say all outputs support
non-file based formats. This is going to be the case most of
the time, since scripts will usually be written using PyQGIS
API. For the exceptions (e.g. scripts which call other algs
like GDAL algs) we probably should add some way for the script
to indicate whether an individual output supports this, but
for now we just say they all do.

Fixes #17949
2018-01-25 15:47:42 +11:00
Nyall Dawson
82ef7d2a89 Create specific expression context scope for child algorithms
Contains variables for model parameters, algorithm results for
other child algorithms which are not dependent on the
algorithm.

Allows removal of final pieces of ModelerAlgorithm code
2017-07-07 11:35:31 +10:00
Nyall Dawson
5822ef9f46 Refresh model algorithms when providers are added
Since algorithms which models are dependent upon may now be
available, we need to rebuild them to ensure that they
will operate correctly.
2017-06-24 13:47:34 +10:00
Nyall Dawson
10aeba2e72 Move more modelling code to c++ 2017-06-24 07:36:13 +10:00
Nyall Dawson
9a2f14b931 First steps to model/save restore in c++
Models now save to QVariantMap, using QgsXmlUtils to save to
an xml based format (with extension .model3)
2017-06-20 17:26:57 +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
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
651355d569 Refactor provider actions and remove from AlgorithmProvider 2017-04-07 13:21:28 +10:00
Nyall Dawson
117260dcf3 Remove activation control from AlgorithmProvider
Split between QgsProcessingProvider and subclasses
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
b3142a0baf Move provider algorithm handling to QgsProcessingProvider 2017-04-07 13:21:28 +10:00
Nyall Dawson
6987d7b37c Port handling of algorithm names 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
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
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
volaya
484fd18ef6 [processing] fixed add model from file
fixes #15335
2016-10-05 12:34:47 +02:00
Alexander Bruy
d16f04bf3a [processing] support multiple scripts/models folders (fix #10476) 2016-05-26 13:56:21 +03: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
bfa90a9125 [processing] fixed toolbox updates 2016-05-18 12:08:34 +02:00
Denis Rouzaud
8071acd064 move PyQt compat folder to python/qgis 2016-04-29 14:10:26 +02:00
Juergen E. Fischer
2526d3e3c8 processing: switch to pyqt wrappers, flake8 fixes 2016-03-21 17:00:25 +01:00
Juergen E. Fischer
b39055b39c indentation update (now including autopep8) 2015-08-22 14:29:41 +02:00
volaya
b80a1bcac5 [processing] fixed handling of folders and files in settings
fixes #12511
2015-06-26 12:00:02 +02:00
Alexander Bruy
30dbd8fd5b [processing] drop resources.qrc and load images dynamically. Also remove
unused images
2015-05-19 15:30:25 +03:00
Juergen E. Fischer
956c155e8f fix python pep8 warnings and fix some revealed errors
pep8 --ignore=E111,E128,E201,E202,E203,E211,E221,E222,E225,E226,E227,E231,E241,E261,E265,E272,E302,E303,E501,E701 \
     --exclude="ui_*.py,debian/*,python/ext-libs/*" \
     .
2015-02-01 20:46:47 +01:00
volaya
484e16254d [processing] fixed help in models 2014-11-23 14:04:06 +01:00
volaya
5e9dc03c7a [processing] better handling of wrong models 2014-10-18 16:37:05 +02:00
Alexander Bruy
bd13693ae3 [processing] make bunch of strings translatable (sorry translators) 2014-10-04 11:36:39 +03:00
volaya
887469643f [processing] added support for old model file format 2014-08-22 12:29:04 +02:00
Juergen E. Fischer
8871be0afa indentation update 2014-07-02 07:46:03 +02:00
Victor Olaya
05cfd69d13 [processing] overhaul of graphical modeler 2014-06-28 14:54:17 +02:00
volaya
023fc007e6 Merge pull request #1389 from radosuav/small_processing_fixes
[processing] Small fixes
2014-06-12 09:30:56 +02:00
Victor Olaya
9c5c25772b [processing] first implementation of github-based resources manager 2014-06-02 22:45:46 +02:00