Alexander Bruy
77fa17781e
[processing] save and restore geometry of the algorithm dialog
2017-06-06 10:51:22 +03:00
Nyall Dawson
9038872200
Fix warning
2017-06-06 15:43:19 +10:00
Nyall Dawson
c1d35a043b
Port getHTMLOutputsCount to c++ API
2017-06-06 15:39:54 +10:00
Nyall Dawson
74ffdb1187
Fix field widget wrapper
2017-06-06 15:21:09 +10:00
Nyall Dawson
2f28736e8e
Remove some unused code
2017-06-06 14:38:52 +10:00
Nyall Dawson
a27c22d9b1
Add raster layer output parameters
2017-06-06 14:38:24 +10:00
Nyall Dawson
b75a174780
Rename QgsProcessingFeatureSinkDefinition to QgsProcessingOutputLayerDefinition
...
Since it also applies to raster layer outputs, we need a more generic name
2017-06-06 13:43:55 +10:00
Nyall Dawson
d53fa8d2af
Port another alg to new API
2017-06-06 12:36:10 +10:00
Nyall Dawson
ab64428891
Add a cancel button for algorithms which support cancelation
2017-06-06 11:40:33 +10:00
Nyall Dawson
39d20a4cb4
Move algorithm expression context generation to QgsProcessingAlgorithm
...
Fix error when selecting "from expression" in algorithm parameter dialog
2017-06-06 11:25:09 +10:00
Nyall Dawson
607fed8c48
Restore ability to save outputs directly to Spatialite/PostGIS providers
2017-06-06 10:34:57 +10:00
Nyall Dawson
5e92c0dbf4
Fix saving processing outputs with correct encoding
2017-06-06 09:51:49 +10:00
Nyall Dawson
77072b15ac
Rename QgsProcessingFeatureSink to QgsProcessingFeatureSinkDefinition
...
For consistency with QgsProcessingFeatureSourceDefinition
2017-06-06 08:42:48 +10:00
Nyall Dawson
81da209bf5
Use a QgsProject pointer instead of bool loadIntoProject
...
Allows potential future use case of loading results into
a different open project
2017-06-06 08:40:23 +10:00
Nyall Dawson
ea2e477d91
Fix failing tests, temporarily disable some processing tests during
...
refactoring
2017-06-06 07:41:20 +10:00
Nyall Dawson
7683b25f81
Move getFileFilter from params to gui wrappers
2017-06-06 07:41:20 +10:00
Nyall Dawson
7f687345f8
[FEATURE][processing] Add checkbox for each vector input layer
...
to control whether selected features only are to be used
Replaces the old global setting and makes it immediately obvious
to users when the selection will be respected
2017-06-06 07:41:20 +10:00
Nyall Dawson
46596c50f2
Restore correct layer naming when loading results
2017-06-06 07:41:20 +10:00
Nyall Dawson
5b9d925c70
Fix loading of results after running algorithms
2017-06-06 07:41:20 +10:00
Nyall Dawson
5b8affcb56
Rename QgsProcessingParameterOutputVectorLayer to QgsProcessingParameterFeatureSink
2017-06-06 07:41:20 +10:00
Nyall Dawson
770c45da12
Rename QgsProcessingParameterVectorLayer to QgsProcessingParameterFeatureSource
...
Helps abstract away sources to allow non vector layer sources in future
2017-06-06 07:41:20 +10:00
Nyall Dawson
a951424287
QgsProcessingParameterVectorLayer accepts lists of vector layer types
2017-06-06 07:41:19 +10:00
Nyall Dawson
bdf051a03a
Partially port a trial python alg to new API
2017-06-06 07:41:19 +10:00
Nyall Dawson
6517470ddd
Temporarily fix memory layer outputs
2017-06-06 07:41:19 +10:00
Nyall Dawson
28f7a8b7e1
Move expression context generation out of parameters
2017-06-06 07:41:19 +10:00
Nyall Dawson
416770b197
Remove no longer required _resolveLayers method
2017-06-06 07:41:19 +10:00
Nyall Dawson
189f804714
Adapt more code to c++ API
2017-06-06 07:41:19 +10:00
Nyall Dawson
ef59d0c454
Port parameter checking to c++
2017-06-06 07:41:19 +10:00
Nyall Dawson
c1d9d57dd2
First working pure c++ algorithms
2017-06-06 07:41:19 +10:00
Nyall Dawson
4cb7d18b1c
Push parameters into processAlgorithm and related functions
2017-06-06 07:41:19 +10:00
Nyall Dawson
f1c53c3aa4
Refactor Algorithm setParamValues -> getParamValues
...
Now returns a dict of parameter inputs for the algorithm
2017-06-06 07:41:19 +10:00
Nyall Dawson
9997ab6e1e
Partially port wrappers to QgsProcessingParameterDefinition
...
And create a new WidgetWrapperFactory for creating a suitable wrapper
corresponding to a parameter
2017-06-06 07:41:19 +10:00
Nyall Dawson
134c04b8bb
Move getParametersPanel out of algorithm class
...
It's a gui related method, so shouldn't be in core class
2017-06-06 07:41:19 +10:00
Nyall Dawson
2d1579d28a
Port algorithm help to QgsProcessingAlgorithm
2017-06-06 07:41:19 +10:00
Nyall Dawson
1e788556f0
Port getCustomParametersDialog to QgsProcessingAlgorithm
2017-06-06 07:41:19 +10:00
Nyall Dawson
fb811766f8
Add framework for algorithm outputs
...
This somewhat changes the meaning of outputs from processing 2.x.
In 2.x processing outputs were used both as a method of specifying
inputs to algorithms (file paths to destination layers created
by the algorithm) AND pure outputs (such as statistics calculated
by the algorithm).
This is now split. The old input-type-outputs (destination layers)
are now input parameters (since the parameter value IS an input to the
algorithm). To differentiate them from parameters indicating pure
input layers a new "isDestination()" method was added to
QgsProcessingParameterDefinition.
Output definitions are now purely indications of values CREATED
by the algorithms. Suitable candidates are the existing calculated
stats and actual file path/URI of any layers created by the algorithm.
Moving forward we should ensure all algorithms output as much
useful information as possible - e.g. number of features processed,
number of skipped features, count null geometries encountered, etc...
2017-06-06 07:41:19 +10:00
Nyall Dawson
fac8ca4d4f
Move execution check to QgsProcessingAlgorithm
2017-06-06 07:41:19 +10:00
Nyall Dawson
03e40f7497
[processing] Remove all remaining algorithm copies
...
Algorithms are no longer copied - just a single const instance
of each algorithm is used
2017-06-06 07:41:19 +10:00
Nyall Dawson
b64a71df61
Port algorithm countVisibleParameters to c++
2017-06-06 07:41:19 +10:00
Matthias Kuhn
a9d7630a69
Rename QgsPointV2 to QgsPoint and QgsPoint to QgsPointXY
...
Because 3D coordinates should be the default.
References https://github.com/qgis/qgis3.0_api/issues/36
2017-06-02 19:53:37 +02:00
Alexander Bruy
dc5ba8ffe9
[processing] explisitly load outputs as raster or vector depending
...
on the output type. Don't rely on extension or other indirect attributes
2017-05-26 13:30:23 +03:00
Nyall Dawson
5a0bcf0776
Style fixes
2017-05-17 21:33:48 +10:00
Nyall Dawson
56c8baaccb
Provide a standard string comparison method in QgsLocatorFilter
...
Subclasses should use this method instead of directly calling
QString::contains or using Python 's in search' type matches.
This ensures consistent matching behaviour across different filters.
2017-05-17 21:33:47 +10:00
Nyall Dawson
6649d2b1ed
Sort filter results so closer matches appear higher
...
A closer match means more of the text is matched, ie
a short string inside a long string is penalised
2017-05-17 21:33:47 +10:00
Nyall Dawson
102a46662b
Implement prefix based locator searching
...
Filters can indicate their preferred search prefix. Searches which
begin with this character will be restricted to the single matching
filter.
E.g. entering 'l buffer' will searching only layers containing 'buffer'
Other prefixes are:
- . search actions
- pl search print layouts
- a search algorithms
Plugins are restricted to a minimum 3 character prefix. We do this
to avoid plugins 'stealing' desirable prefixes, and instead we
want to reserve them for future core filters.
2017-05-17 21:33:47 +10:00
Nyall Dawson
b33ce0bf47
Allow speciyfing the priority for filters
...
Higher priority (i.e. more important) filter results get shown
first. This means filters like project layers & composers will
show above 'cruder' filters like the actions/processing filters.
2017-05-17 21:33:47 +10:00
Nyall Dawson
0f80df09a7
Show locator filter names in results, sort results and group by filter
2017-05-17 21:33:47 +10:00
Nyall Dawson
0dd3fcb6e4
Add processing algorithms to locator bar
...
Inspired by the ghost of processing's commander
2017-05-17 21:33:47 +10:00
Nyall Dawson
ae97c333d6
Revert "Port algorithm countVisibleParameters to c++"
...
This reverts commit c3c694f8ccfbe0b64df14365f950f5895968a66a.
2017-05-15 10:24:38 +10:00
Nyall Dawson
c3c694f8cc
Port algorithm countVisibleParameters to c++
2017-05-15 08:44:28 +10:00