170 Commits

Author SHA1 Message Date
Matthias Kuhn
4a14a36034 Remove leftover method getCustomModelerParametersDialog 2018-04-09 09:15:15 +02:00
Matthias Kuhn
0aa8241da4 Avoid catch all exception 2018-04-05 22:46:59 +02:00
Alexander Bruy
092557b16a [processing] correctly handle inactive providers in the modeler (fix #18461) 2018-03-19 11:55:10 +02:00
Juergen E. Fischer
ad4d0a17d5 processing: make error messages moved to message bar translatable again (followup 6e2288dcc) 2018-03-09 17:21:12 +01:00
Matthias Kuhn
c3a843619f Use flags for parameter type extra info 2018-03-07 09:00:33 +11:00
Matthias Kuhn
16e2aad293 Use translated parameter names for sorting 2018-03-07 09:00:33 +11:00
Matthias Kuhn
a337d2050b Make use of new processing parameter infrastructure 2018-03-07 09:00:33 +11:00
Matthias Kuhn
0c730596fa Hide unsupported parameters in modeller 2018-03-01 10:42:51 -05:00
Matthias Kuhn
9aac4e38df Use translated text in modeller 2018-03-01 09:47:35 -05:00
Matthias Kuhn
eba96fb9cc Add a processing parameter registry
to manage parameter metadata in a single place.
2018-03-01 08:12:41 -05:00
Nyall Dawson
bfa3cab0bb [processing] Fix model docks are not removed when closing modeler
Actually caused by the modeler dialog never being deleted correctly.

Fixes #18213
2018-02-26 20:52:42 +11:00
Nyall Dawson
bd99f6979b More dialog title HIG fixes 2018-02-22 06:44:17 +11:00
Juergen E. Fischer
6dfedc38e9 translation string fixes and cleanups 2018-02-15 22:31:15 +01: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
54167bcaa6 fix indentation 2018-02-05 08:50:44 +02:00
Alexander Bruy
4f2a4644db [processing] remove obsolete code and disable exporting models as script
until we update it so support new scripts format
2018-02-05 08:50:44 +02:00
Alexander Bruy
aee3b44909 [processing] remove not needed trAction method 2018-02-05 08:49:41 +02:00
Nyall Dawson
a530b213e9 [processing] Fix error when dragging alg group in modeler 2018-01-23 11:07:48 +10:00
Etienne Trimaille
4a2da5006b fix missing QLabel python import 2018-01-17 04:59:06 +10:00
Nyall Dawson
ecd113de24 Fix modeler dialog doesn't respect hide from modeler flag 2018-01-16 21:21:38 +10:00
Nyall Dawson
5da28ed9f0 [needs-docs][processing] Add tooltips to input types in modeler
...to help clarify for users what the different input types mean.

Fixes #17671, which is a result of unclear distinction between
the uses of vector features vs vector layer inputs.

Tagged as needs-docs, as it may help with documentation for 3.0
2018-01-16 20:35:26 +10:00
Nyall Dawson
f969b03fd2 Sort input types in processing modeler dialog 2018-01-16 20:35:26 +10:00
Nyall Dawson
87c1986c4b Improved memory managment of algorithm dialogs
Ensure that dialogs are always correctly deleted when appropriate.

Also, if an algorithm is running in a background task and hits
an error, we automatically re-show the algorithm dialog and the
associated log for debugging.

Fixes #16858
2018-01-16 19:45:40 +10:00
Matthias Kuhn
3d626b716a Fix file mode 2017-12-14 09:04:07 +01:00
Mathieu Pellerin
ad54073b1e
[processing] list native QGIS algorithms first in modeler dialog 2017-12-05 11:52:06 +07:00
Alexander Bruy
0059b2b692 [processing] remove Python 2 compatibility layer 2017-11-28 12:27:45 +02:00
Nyall Dawson
c0e732b799 [processing] Add QGIS 3d provider
Adds a new QGIS processing provider for 3d algorithms, available
only when QGIS is built WITH_3D

Currently includes only a single algorithm for tesselating geometries,
which exposes the functionality of QgsTesselator to processing.

Like the native c++ algorithm provider, algorithms in the 3d
provider are transparently merged with the other QGIS providers
(i.e. they aren't separated into their own group)
2017-11-27 06:54:29 +11:00
Harrissou Sant-anna
dd378a58c2 Tweak some dialog titles 2017-11-18 18:52:45 +01:00
Nyall Dawson
6e1c5c4d75 [FEATURE] Show processing models in browser
And allow them to be executed and edited directly from there
2017-09-20 14:09:03 +10:00
Nyall Dawson
cf16a82419 Fix indentation 2017-09-12 19:23:37 +10:00
Nyall Dawson
4a974eab18 Cleanup model algorithm parameter definition dialog 2017-09-12 17:12:13 +10:00
Nyall Dawson
b62fd51cc2 Don't allow dragging groups in model algorithm tree 2017-08-22 23:16:33 +10:00
Nyall Dawson
d6e2985c08 Fix invalid icon sizes in processing model builder
While the toolbar buttons were shown in the correct size, the
actual icon image in the buttons was not correctly scaling to
match the button size.

Hardcoding the svg icons in the py file seems to be the only
way to avoid this.
2017-08-07 05:24:12 +10:00
Nyall Dawson
cad54f2cea Fix incorrect icon sizes in Python console
Console was not respecting application icon size setting
2017-08-07 05:24:12 +10:00
arnaud.morvan@camptocamp.com
40ccd3bcb3 [processing] Correctly delete processing dialogs
del only delete the python variable, not the dialog which is owned by the main window.
2017-08-05 09:31:40 +02:00
Nyall Dawson
5c844a5cfb Really delete processing dialogs
The dialogs are parented to the main window, which means sip
transfers the ownership to the main window - and they are
never deleted as a result. This results in various error
messages caused by the widgets hanging around forever
and listening out for various signals they are connected to.
2017-07-12 18:52:53 +10:00
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
f49b603443 Split QgsProcessingModelAlgorithm into separate components
The cpp/h file was getting too large, so split off the individual
subcomponents into their own h/cpp files to keep code
maintainable.
2017-07-08 20:49:17 +10:00
Nyall Dawson
cfa18039af Fix incorrect icon size in processing windows
Well... kind of. It fixes the toolbar button size, but for some
reason the actual icon content itself isn't being resized. I can't
work out why this is...
2017-07-08 20:49:17 +10: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
e0c7daa2d8 Rename QgsProcessingAlgorithm::clone to ::create
Since it better describes what the function does. It returns a new
pristine copy of the algorithm, not a clone of its current state
2017-07-07 09:27:35 +10:00
Nyall Dawson
6d7b0a3bbc Fix re-saving already saved models 2017-07-07 09:26:17 +10:00
Nyall Dawson
9156933c9e Add a pure virtual clone method for algorithms
This is required for safely executing the algorithm in a background
thread.
2017-07-07 09:26:17 +10:00
Nyall Dawson
0a32add69e Port exporting model as python code to c++ 2017-06-27 08:33:13 +10:00
Nyall Dawson
ab9470dada More .model -> .model3 updates 2017-06-24 13:34:14 +10:00
Nyall Dawson
5e7fbf44be Make QgsAlgorithm::setProvider() public
Turns out there's valid use cases for calling this from outside
code.
2017-06-24 13:33:44 +10:00
Nyall Dawson
8f586ef020 Move groups from QGIS (and QGIS native) provider to top level items
in processing toolbox

Helps aid in user discoverability of these algorithms, and
indicates to users that these should generally be the
preferred algorithm choices if duplicates exist from other
providers.
2017-06-24 12:01:16 +10:00
Nyall Dawson
8e88276ab5 Remove another member from ModelerAlgorithm 2017-06-24 07:36:25 +10:00
Nyall Dawson
10aeba2e72 Move more modelling code to c++ 2017-06-24 07:36:13 +10:00
Nyall Dawson
e7f13f5bd8 Port model help code to c++ 2017-06-24 07:36:07 +10:00