460 Commits

Author SHA1 Message Date
Nyall Dawson
a4a74a907d Add new icon for 'Save in project' thanks to @nirvn 2018-08-13 15:47:01 +10:00
Nyall Dawson
63fd4bab2a [processing][FEATURE] Store models inside QGIS project files
Allows processing models to be stored inside QGIS project files,
so that opening the project makes that model available.

Some models are so intrinsically linked to the logic inside
a particular project that they have no meaning (or are totally
broken) outside of that project (e.g. models which rely
on the presence of particular map layers, relations, etc)

This change allows these models to be stored inside that project,
avoid cluttering up the "global" model provider with models
which make no sense, and making it easier to distribute a single
project with these models included.

Models are stored inside projects by clicking the new "embed
in project" button in the modeler dialog toolbar. Models can be
removed from a project from the model's right click menu in the
toolbox.
2018-08-13 15:47:01 +10:00
Alexander Bruy
65ae32aadd [processing] homogenize filter strings for models and scripts 2018-08-03 08:34:05 +03:00
Nyall Dawson
d43f1a2823 [processing] Allow models to have no group name set
This is supported by the toolbox now, so relax the requirement
that all models have a compulsory group name. If no group is set,
the model is shown directly under the Models node in the toolbox.

Also switch a warning from message box to message bar
2018-07-18 08:56:52 +10:00
Nyall Dawson
68aae3a0e6 Replace processing modeler toolbox with common widget/model 2018-07-16 11:38:13 +10:00
Alexander Bruy
dcff720bb0 also use 1-dimensional table in modeler dialog (follow up 4b354984e8) 2018-06-14 09:35:11 +10:00
Nyall Dawson
db2c3d4986 [processing] Show search icon in search boxes 2018-05-31 12:51:53 +10:00
Nyall Dawson
879622547c [processing] Fix bad layout for docks in modeler
Because there's some deep underlying issue which causes the dock
layouts to get corrupted in certain circumstances, avoid the
issue entirely by moving construction of the docks out of
the .ui file and instead do it all manually via Python code.

Fixes #16428, #19068
2018-05-31 12:45:47 +10:00
Nyall Dawson
c0d9528090 Silence python warnings from 3rd party libraries on startup 2018-05-22 06:02:55 +10:00
nirvn
fb882494d5 [needs-docs][processing] reword add model/script to toolbox actions 2018-05-21 10:58:40 +07:00
Nyall Dawson
b98f8f1d37 [processing] Also filter using algorithm short descriptions 2018-05-17 08:50:39 +10:00
Nyall Dawson
5edcc64f72 [processing] Allow algorithms to return a translated short description
This is used in the algorithm's tooltip in the toolbox, and is intended
for single sentence description of the algorithm, e.g.
"Converts 2D features to 3D by sampling a DEM raster."

Convert grass algorithms to use short description for the
descriptive parts of their names, to cleanup the toolbox
and make it more uniform.
2018-05-17 08:50:39 +10:00
arnaud.morvan@camptocamp.com
81dabd185c [processing] Finish default values in model for destination parameters 2018-05-14 22:12:32 +10:00
Nyall Dawson
1a45a79719 [processing][model] Fix handling of mandatory checkbox in output definitions 2018-05-14 22:12:32 +10:00
arnaud.morvan@camptocamp.com
4ccd4446fe [processing] Add default values in model for destination parameters 2018-05-14 22:12:32 +10:00
Alexander Bruy
26a97a7da7 [processing] improve default values handling in the enum modeler GUI 2018-05-11 15:49:06 +10:00
Alexander Bruy
e97212e8b7 [processing] correctly restore default values 2018-05-11 15:49:06 +10:00
Alexander Bruy
39456ba6b4 [processing] fix handling of the multiple enum values 2018-05-11 15:49:06 +10:00
Alexander Bruy
1ba34dcbea [processing] add matrix and enum parameters to wrappers and handle them
in the modeler dialogs
2018-05-11 15:49:06 +10:00
Alexander Bruy
038da1131d [processing] modeler GUI for matrix parameter 2018-05-11 15:49:06 +10:00
Alexander Bruy
ffa4b04e29 [processing] add modeler GUI for enum parameter 2018-05-11 15:49:06 +10:00
nirvn
08db66fb03 [processing] draw vector icons when available in modeler 2018-04-30 13:04:20 +07:00
Nyall Dawson
6a2625664e [processing] Add dedicated "distance" parameter
This is a subclass of QgsProcessingParameterNumber, but specifically
for numeric parameters which represent distances. It is linked
to a parent parameter, from which the distance unit will
be determined, and is shown using a dedicated distance widget
within the processing parameters panel. This widget shows
the distance unit.

This avoids the confusion when running algorithms which
use distances where the unit depends on a layer or CRS parameter -
e.g. the distance parameter in the buffer algorithm gives
the distance in layer units... so now we can show those units
directly within the dialog. Hopefully this leads to less
user confusion and accidental "1000 degree buffers"!

Additionally - if the unit is in degrees, a small warning
icon is shown next to the parameter. The tooltip for this
icon advises users to reproject data into a suitable
projected local coordinate system.

Initially implemented for the native buffer and single
sided buffer algorithm only - but more will be added.

Fixes #16290
2018-04-20 18:27:00 +10:00
Alexander Bruy
90c65405fd [processing] use parameter description instead of name when retrieving
parameter from the registry
2018-04-17 11:09:30 +03:00
Matthias Kuhn
d7b75d1e99 Immediately apply configuration after change 2018-04-09 13:10:49 +02:00
Matthias Kuhn
dbced352b8 Fix use before assign 2018-04-09 13:10:48 +02:00
Matthias Kuhn
eb39d2379c Move processing algorithm configuration code to gui lib 2018-04-09 13:10:47 +02:00
Matthias Kuhn
3be4324d60 Move processing algorithm configuration widget to gui library
This way we can also use all the fancy widgets like a QgsExpressionLineEdit.
2018-04-09 13:10:47 +02:00
Matthias Kuhn
e6ef7639cb [processing] Allow algorithms to provide additional configuration widgets 2018-04-09 13:10:46 +02:00
Matthias Kuhn
4a14a36034 Remove leftover method getCustomModelerParametersDialog 2018-04-09 09:15:15 +02:00
Matthias Kuhn
4e4c189820 Remove unrequired cast 2018-04-05 22:50:13 +02:00
Matthias Kuhn
6eabb45043 Fix type hints in ModelerParametersDialog attributes 2018-04-05 22:47:23 +02:00
Matthias Kuhn
7c191a46c2 Make modeler text translatable 2018-04-05 22:47:12 +02:00
Matthias Kuhn
0aa8241da4 Avoid catch all exception 2018-04-05 22:46:59 +02:00
Rashad Kanavath
3408e02c46 [processing] create and manage label in WidgetWrapper
ModelerParametersDialog and ParametersPanel have to keep list of
wrappers only. widget and label( if needed) are created through
WidgetWrapper.createLabel()
2018-04-03 06:09:44 +10: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
eeb6f44df7 Some addition error case info 2018-03-07 09:00:33 +11:00
Matthias Kuhn
e67939b183 Fix editing models with custom params 2018-03-07 09:00:33 +11:00
Matthias Kuhn
6bad21f78a Avoid freeze by infinite recursion 2018-03-07 09:00:33 +11:00
Matthias Kuhn
9f76c4171c Fix parameter name rendering problem 2018-03-07 09:00:33 +11:00
Matthias Kuhn
a1fc70f88d Improved error reporting for unknown parameters 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
031aa9c0e4 Better error reporting for model exception 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
Matthias Kuhn
8b784400f7 Avoid catchall exception 2018-03-01 08:12:41 -05:00