91 Commits

Author SHA1 Message Date
Nyall Dawson
e05572a11d Port file parameter definition widget to new APi 2019-07-08 15:07:42 +10:00
Nyall Dawson
a9788339ea Port an item type which has a parent parameter choice (layout items) for reference 2019-07-01 17:01:34 +10:00
Nyall Dawson
d83997c490 Port string parameter to new config widget 2019-07-01 17:01:34 +10:00
Nyall Dawson
477d3b1f1a Port boolean widget config dialog to new API 2019-07-01 17:01:34 +10:00
Nyall Dawson
10d6a8a122 [processing][API] Add API to QgsProcessingGuiRegistry and QgsProcessingParameterWidgetFactoryInterface
to handle creation of parameter definition widgets

Previously, these configuration widgets were all hardcoded into the Python modeler
dialog. This prevented 3rd party, plugin provided, parameters from ever being full
first class citizens in QGIS, as there was no way to allow their use as inputs to
user created models to be customised.

Now, the registry is responsible for creating the configuration widget, allowing
for 3rd party parameter types to provide their own customised configuration
widgets.

Refs #26493
2019-07-01 17:01:34 +10:00
Alexander Bruy
ff24ab53ef outputs can not be advanced 2019-06-24 20:09:57 +10:00
Alexander Bruy
625cc01fc3 [processing][feature][needs-docs] allow to define model parameters as
advanced
2019-06-24 20:09:57 +10:00
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
32fbf0a92b [processing][FEATURE] New parameter type for map scales
This adds a new parameter type specifically for map scales,
QgsProcessingParameterScale. The values are evaluated using
self.parameterAsDouble, which returns the map scale
denominator (matching the standard in other parts of the
QGIS API).

Scale parameters are displayed to users using the standard
QgsScaleWidget, which includes the combo box of predefined
scales and a shortcut button to match the current map scale.
2019-03-13 16:52:29 +10:00
Nyall Dawson
021d1ef237 [FEATURE][processing] New parameter types for layouts and layout items
Allows processing algorithms which operate on a specific layout
and layout item selection
2019-03-12 08:16:52 +10:00
Nyall Dawson
82b186f00f [processing] Allow data type for numeric inputs to be specified 2019-03-11 08:05:07 +10:00
Nyall Dawson
cf43446885 [processing] Show parameter type in input definition dialog title 2019-03-11 08:05:07 +10:00
Nyall Dawson
4f6df2980f [processing] Fixes to distance inputs for models
- fix parameter can get converted to plain number parameter after edits
- allow parameter to be linked to parent parameters, so that the
correct distance unit and choices are shown for the parameter
2019-01-31 17:53:25 +11:00
Alexander Bruy
dcff720bb0 also use 1-dimensional table in modeler dialog (follow up 4b354984e8) 2018-06-14 09:35:11 +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
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
e67939b183 Fix editing models with custom params 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
a337d2050b Make use of new processing parameter infrastructure 2018-03-07 09:00:33 +11: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
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
5a7da09060 [needs-docs] Rename some processing input types in modeler for clarity
Refs #17671
2018-01-16 20:35:26 +10:00
Matthias Kuhn
3d626b716a Fix file mode 2017-12-14 09:04:07 +01:00
Alexander Bruy
0059b2b692 [processing] remove Python 2 compatibility layer 2017-11-28 12:27:45 +02:00
Harrissou Sant-anna
dd378a58c2 Tweak some dialog titles 2017-11-18 18:52:45 +01:00
Nyall Dawson
c5b9fa23cd Formatting 2017-09-22 10:56:32 +10:00
Nyall Dawson
94530a9efc Allow setting default value for field parameters in models 2017-09-22 10:50:46 +10:00
Nyall Dawson
355cff191d Add Map Layer input parameter type for models
Since algorithms now use this parameter type (render map alg)
we also need to allow its use in models
2017-08-19 03:45:51 +10:00
Nyall Dawson
7d69e5f5af Expose all layer type filters to both model feature source, vector
layer and multi layer inputs

Refs #17030
2017-08-19 03:36:33 +10:00
Nyall Dawson
370b26798f Fix wrapped c++ object has been deleted error when editing model parameters
Fixes #16858
2017-08-19 03:24:28 +10:00
Alexander Bruy
9fe326dee2 [processing] more consistent naming for class members, setters and
getters
2017-08-04 13:21:26 +03:00
Alexander Bruy
49bfe69823 [processing] add parameter representing raster band 2017-08-04 11:27:35 +03:00
Nyall Dawson
a3fdb95d0a Update model input type names 2017-07-08 20:49:17 +10:00
Nyall Dawson
7db1a9dfd3 Save and restore window geometry for modeler dialogs 2017-07-08 20:49:17 +10:00
Nyall Dawson
0da3652257 Rename some parameter classes for consistency 2017-06-21 22:13:16 +10:00
Nyall Dawson
f6358b2118 Begin port of modeler algorithm to c++ 2017-06-20 14:45:13 +10:00
Nyall Dawson
efe8bba006 Work on resurrecting modeler 2017-06-20 14:45:13 +10:00
Nyall Dawson
5d8f2d99ab Fix working with inputs in modeler 2017-06-20 14:45:13 +10:00
Nyall Dawson
189f804714 Adapt more code to c++ API 2017-06-06 07:41:19 +10:00
Juergen E. Fischer
a61b9222de Qt 5.2 has QComboBox::currentData 2017-01-25 03:28:53 +01:00