500 Commits

Author SHA1 Message Date
Juergen E. Fischer
6dfedc38e9 translation string fixes and cleanups 2018-02-15 22:31:15 +01:00
Nyall Dawson
2d1e9188f1 [processing] Allow providers to return a different helpId() vs
their unique id()

This is used when generating the QgsHelp url for algorithms
attached to the providers.

Implement helpId overrides for the native and 3d providers so
that they return 'qgis' helpIds, meaning that all QGIS processing
algorithm documentation can be kept within the same url path
regardless of which QGIS provider library it sits within.

This also allows us to freely move algorithms from the Python
'qgis' provider to c++ 'native' provider in future releases
without breaking the help URLs.

Fixes #17231
2018-02-09 11:26:03 +10: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
567ebb9dd0 [processing] fixes after rebasing 2018-02-05 08:53:52 +02: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
53ff800ff8 [processing] temporarily disable fetch actions for scripts and models 2018-02-05 08:50:37 +02:00
Alexander Bruy
aee3b44909 [processing] remove not needed trAction method 2018-02-05 08:49:41 +02:00
Alexander Bruy
87e55ba3c7 [processing] remove Get scripts and models functionality
Users should use Resource Sharing plugin instead
2018-02-04 11:11:47 +02:00
Nyall Dawson
bf19eb6f35 [processing] Non-filed based outputs (e.g. postgis, geopackage)
options should be available for certain model outputs and script
algorithm outputs

We do this by swapping the test for non-file based output support
from checking only the algorithm's provider to instead checking
on a parameter-by-parameter basis.

This is done in order to support models. For models, depending
on what child algorithm a model output is based off, an individual
model may or may not have support for non-file based outputs. E.g
a model may generate outputs from a native qgis alg (supporting
these outputs) AND an output from a GDAL alg (with no support
for these outputs). In this case we need to enable or disable
the ui controls for non-file based outputs on an individual
output basis.

For scripts (for now) we blindly just say all outputs support
non-file based formats. This is going to be the case most of
the time, since scripts will usually be written using PyQGIS
API. For the exceptions (e.g. scripts which call other algs
like GDAL algs) we probably should add some way for the script
to indicate whether an individual output supports this, but
for now we just say they all do.

Fixes #17949
2018-01-25 15:47:42 +11:00
Nyall Dawson
097a437af8 [processing] Fix missing outputs in modeler for grass algs (fixes #17703) 2018-01-24 19:00:58 +11: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
5a7da09060 [needs-docs] Rename some processing input types in modeler for clarity
Refs #17671
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
Alexander Bruy
a0ce648175 [processing] use groupId when constructing help URL 2017-12-15 12:11:46 +02: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
3d4a59bb8b [processing] cleanup files from unused code and remove some files 2017-11-28 12:27:45 +02: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
Alexander Bruy
3a576d80b2 [processing] restore Help button functionality in modeler (fix #17483) 2017-11-23 16:16:08 +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
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
451a3fab26 Reformat code 2017-08-23 02:14:29 +10:00
Nyall Dawson
cdbb57d65f Don't throw python exception when modeler algorithm is missing inputs
Instead use nicer messagebar for feedback. Also fix untranslatable
strings.

Refs #17028
2017-08-23 02:14:24 +10:00
Nyall Dawson
b62fd51cc2 Don't allow dragging groups in model algorithm tree 2017-08-22 23:16:33 +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
Nyall Dawson
b318aff6ff Fix multi layer parameters in models not giving all options for inputs 2017-08-17 05:12:11 +10:00
arnaud.morvan@camptocamp.com
b26e6812d4 [processing] Check all parameter's values in ModelerParametersDialog
Check that all parameter's values pass the validity check,
even if not returned as QgsProcessingModelChildParameterSource.

In case of list, tests that it is really a QgsProcessingModelChildParameterSource list,
and create a QgsProcessingModelChildParameterSource from the list if it is not the case
(useful for custom parameters that return lists as ParameterFieldsMapping).
2017-08-14 13:48:50 +02:00
Nyall Dawson
e0fbe3409a Use ellipsis for isolated strings in plugins too 2017-08-11 04:33:18 +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
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
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
a3fdb95d0a Update model input type names 2017-07-08 20:49:17 +10:00