201 Commits

Author SHA1 Message Date
Alexander Bruy
49d0e996a7 use correct method name in the batch input selector for vector layers (fix #30410) 2019-06-27 12:38:30 +03:00
Fran Raga
aac040534f issue #30406 2019-06-26 08:59:53 +02:00
Nyall Dawson
4a4b92223b [processing] Fix exception from field wrappers when "selected features only"
is checked for a vector layer
2019-06-25 18:56:51 +10:00
Nyall Dawson
fbd243be65 [processing] Port map layer selection combobox widget to c++
And:

- fix enable state of selected features only after changing between
map layers with/without selections
- fix state of selected features only when running an algorithm
from the history list, e.g. respect original setting for
selected features only (or not)
- ensure no duplicate changed signals are sent, and correctly
emit changed signals in all applicable circumstances
- handle drag and dropped layers from browser panel (UX fix)
- soak with unit tests
2019-06-15 15:05:48 +10:00
volaya
943b992ed3 [processing] fixed method name in gui wrapper after API renaming 2019-05-26 01:01:09 +02: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
f5a3485eae Fix some Python warnings, avoid accidently hiding all deprecation warnings 2019-03-28 11:47:23 +10:00
Nyall Dawson
234c1718c4 Mark some Processing methods as deprecated 2019-03-28 11:47:23 +10:00
Nyall Dawson
ef8d893393 More QgsMapLayer python fixes 2019-03-27 09:11:15 +10:00
Nyall Dawson
ac651ee0d9 Followup 8d51a693, fix broken plugins 2019-03-27 07:20:43 +10:00
Denis Rouzaud
8d51a693a1 missing changes of QgsMapLayer::Type => QgsMapLayerType 2019-03-26 14:09:19 -05:00
Nyall Dawson
c66159bd2d [processing] Fix warning when loading algorithm dialog and no layers
are present

Fixes #21631
2019-03-21 15:10:30 +10:00
Nyall Dawson
719a225bca [processing] Port point widget wrapper to new API
And switch to a snapping canvas tool when selecting points from canvas
2019-03-17 16:19:40 +10:00
Alexander Bruy
0fcf567fb0 [processing] fix handling of the multiple layers parameter when inputs
are plain files
2019-03-11 08:29:03 +10:00
Víctor Olaya
6eaa511eed [processing] show warning when file-based layer could not be loaded and dependent params updated
For algorithms with multiple parameters depending on a vector layer parameter, the code that loads the layer in the background is called repeatedly, impacting performance. A small layer cache is implemented with these changes, so the dialog only tries to load the layer once.
2019-01-29 11:12:23 +11:00
Nyall Dawson
db3b9aeb6b Revert "[processing] hide 'select file' button for vector layers when there are dependent params"
This reverts commit f2044528951bbb09a70b9c696d79d8cd5b756214.

It's a contentious fix, which needs discussion
2019-01-23 17:30:47 +10:00
volaya
f204452895 [processing] hide 'select file' button for vector layers when there are dependent params
fixes #21055
2019-01-23 08:02:18 +01:00
Alexander Bruy
37f14f8b3f add value changed signal for extent parameter widget wrapper 2018-12-30 06:44:09 +02:00
Peter Petrik
9ce7e54fb1
allow selection of file paths for mesh layers [processings] (#8702)
allow selection of file paths for mesh layers
2018-12-20 15:04:02 +01:00
Peter Petrik
e71660215c [processing] add QgsProcessingParameterMeshLayer parameter 2018-12-17 11:50:53 +01:00
Nyall Dawson
9c1653f00a [processing] Fix exception on launching refactor fields
(The logic with parameter widget_wrapper metadata is very gross -
but there's nothing we can do about it till 4.0!)

Fixes #20707
2018-12-05 04:47:55 +10:00
Nyall Dawson
59d2c5301f [processing] Fix exception when parameter metadata is set to extend inbuilt wrapper type 2018-11-30 05:02:59 +10:00
olivierdalang
953ea96bfb fixes #19825 2018-09-15 14:56:45 +10:00
Nyall Dawson
6935027ead [processing] Fix API break in widget wrapper
Fixes #19820
2018-09-13 05:40:39 +10:00
Nyall Dawson
ac3b37ffe0 [processing] Fix wrapper value retrieval for some ported wrappers
Fixes #19813
2018-09-11 10:26:36 +10:00
Nyall Dawson
1c5250b147 [processing] Fix some exceptions in batch dialog after refactoring
Fixes #19779, #19786
2018-09-08 17:51:42 +10:00
Luigi Pirelli
bc8a4605d4 Fix Range wrapper to allow Range parameters to be added in modeler. Not yet fully integrated as input paramter 2018-09-08 07:41:11 +10:00
Nyall Dawson
e76b761dd0 Correctly associate layer with dynamic properties 2018-09-04 19:06:07 +10:00
Nyall Dawson
70c1680754 Automatically handle adding data defined button for dynamic properties
Also exposes this capability to modeler - so that model algorithms
can use data defined parameters within their child algorithms.

TODO:
- tests
- setting the associated vector layer
2018-09-04 19:06:07 +10:00
Nyall Dawson
a717b85e2e [FEATURE][processing] New modeler parameter widget
A new widget which handles parameter values for child algorithms
within a model. Instead of the previous approach of requiring
individual widget wrappers to handle creation of a suitable
model widget, we do all this automatically for them.

This widget uses a stacked widget with a toolbutton to select
the parameter's source, instead of the previous combo box approach
(which didn't scale well for large models). I.e. users select
first whether the value is taken from a static value, a
model input, or an output from a different child algorithm. The
widget then changes appearance and behavior based on this
choice.

Additionally, a new option is present for all parameters
of using a "precalculated expression". This expression is
evaluated once before the child algorithm is executed
and used during the execution of that algorithm.
2018-09-04 19:06:07 +10:00
Nyall Dawson
644ef6a752 [processing] Initial work on porting base GUI classes to c++
- Add abstract base class for Processing widget wrappers to c++
- Add wrapper factory interface to c++
- Make QgsProcessingGuiRegistry also register widget wrapper
factories, and be responsible for creation of new c++
processing widget wrapper instances
- Start on private c++ implementation of boolean widget wrapper,
including unit tests
2018-09-04 19:06:07 +10:00
nirvn
97adef21bd [processing] multiple band selection wrapper should return list of ints 2018-09-04 10:07:07 +07:00
nirvn
13ecaa4190 [needs-docs][processing] Add a multiple selection mode to the band parameter 2018-09-04 10:07:07 +07:00
Nyall Dawson
6a4d9c9bd4 [processing] Ensure feature source wrapper always returns direct
layer id/source whenever 'use selected features' is unchecked,
instead of always returning a QgsProcessingFeatureSourceDefinition
2018-07-25 08:20:07 +10:00
Nyall Dawson
c65afbdd97 [processing] Correctly handle layer type parameter values when
creating an algorithm dialog using processing.execAlgorithmDialog()
2018-07-19 07:22:06 +10:00
Salvatore Larosa
f993ec05be Fixes #19417 - AttributeError: 'BatchInputSelectionPanel' object has no attribute 'getText' 2018-07-16 09:00:10 +10:00
Rudi von Staden
57fb4ef27c Add 'not selected' option for optional layer parameters in processing model view
Fixes #19329 (https://issues.qgis.org/issues/19329)

Optional layer parameters in processing algorithms used in the graphical modeler
add an empty string as the default parameter value, which can raise an exception
during algorithm execution. This update replaces the default empty string with a
default 'Not selected' option.
2018-07-04 13:45:46 +02:00
Nyall Dawson
950d042e72 [processing] Fix errors when filling parameters in batch panel
Fixes #18408
2018-06-01 15:55:11 +10:00
Nyall Dawson
c5ff6b9c99 [processing] Ensure parameters linked to layer parameters
(e.g. field choices) are correctly updated when a layer
is selected which doesn't belong to the project
2018-05-22 06:03:18 +10:00
Blottiere Paul
42199d1ad0 [processing] Declare NOT_SELECTED 2018-05-21 19:06:27 +10:00
Blottiere Paul
dcc79fcfbf [processing] Fix invalid attribute's name 2018-05-21 19:06:27 +10:00
Nyall Dawson
6b5e5b6ed5 [processing] Fix models cannot correctly set enum parameters
to a static choice
2018-05-21 16:07:14 +10:00
Alexander Bruy
c985092a6d fix typo 2018-05-14 18:47:14 +03: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
Nyall Dawson
c68262da7f [processing] Correctly set default value for matrix parameters
Fixes #18871
2018-05-02 04:55:41 +10:00
Nyall Dawson
0dfb3c2d8c [processing] Use distance parameter for more algorithms 2018-04-20 18:27:00 +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
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
Nyall Dawson
f06b3691c5 More spelling fixes 2018-03-12 14:32:17 +11:00
Nyall Dawson
4e182be4ec [processing] Fix 'selected features' checkbox is incorrectly disabled
Fixes #18278
2018-03-01 15:29:06 +10:00