220 Commits

Author SHA1 Message Date
Andrea Giudiceandrea
fa1b704a5c [processing] fix method name in GUI wrapper 2020-11-02 07:44:51 +10:00
Nyall Dawson
b6a7a10703 Fix some more python formatting issues, remove more flake exceptions 2020-05-11 11:41:50 +10:00
Nyall Dawson
a682405ccb [processing] Partial port of Multi Input parameter widget (standard and batch) 2020-03-31 01:06:48 +10:00
Nyall Dawson
865aa931e2 Fix exception in deprecated classes 2020-03-29 05:56:23 +10:00
Nyall Dawson
ef4344b674 Default to current layer when appropriate 2020-03-29 05:56:23 +10:00
Nyall Dawson
d40990e155 [feature][processing] Port Feature Source, Raster, Vector and Mesh Layer parameters to new API 2020-03-29 05:56:23 +10:00
Nyall Dawson
44ae5a5e1d Fix exception in test 2020-03-26 11:55:45 +10:00
Nyall Dawson
6ac9fca497 [FEATURE][processing] Allow loading non-disk based layers direct from browser for
feature sources, instead of requiring them to be loaded into a project first

This change allows users to directly browse to non disk-based layer sources
for any processing feature source inputs. It allows these inputs to be
taken direct from postgres, sql server, oracle, wfs, afs, etc layers directly
without having to first load them into a project!
2020-03-26 11:55:45 +10:00
Nyall Dawson
9d0efd3354 Set widget context for QgsProcessingMapLayerComboBox 2020-03-26 11:55:45 +10:00
Nyall Dawson
1915a16bf3 Port extent parameter to new c++ API widget wrapper 2020-03-25 19:25:40 +10:00
Nyall Dawson
41fb4df77f [processing] Move iterate button to c++ 2020-03-25 09:42:17 +10:00
Nyall Dawson
3b26a0dece Cleanup unused imports 2020-03-25 09:42:17 +10:00
Nyall Dawson
6e2c21eb55 [processing] Cleanup handling of "iterate over source" buttons, move
creation completely to widget wrapper
2020-03-25 09:42:17 +10:00
Nyall Dawson
edd0635fe3 [processing] Move responsiblity for creation of file filter strings from python to c++ 2020-03-16 10:08:46 +10:00
Nyall Dawson
223dfafb15 [processing] Port field parameter widget to new API 2020-01-05 08:59:38 +10:00
Nyall Dawson
1a74938ba8 [processing] Add option for multiple field parameters to default to
selecting all available fields

For some algorithms this is better UX then defaulting to an empty list
2020-01-04 23:06:03 +10:00
Alexander Bruy
243cd6ce8b use setValue() instead of setLayer() to handle different value types
(strings, variants, layers)
2019-12-11 04:49:14 +10:00
Alexander Bruy
dcdcb334ef use active layer only if there is no default value 2019-12-11 04:49:14 +10:00
Alexander Bruy
f37a75923f [processing] use active layer in the widget wrapper only for
non-optional parameters otherwise use default value
2019-12-11 04:49:14 +10:00
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