Add an interface method to show the options dialog at a specific
page. This is required since plugins can now embed their options
in the main options dialog, so they may also need a way to
force this dialog to open.
Implement this in processing so that enabling additional providers
works again.
Intended as a registry for the various processing components,
including providers, algorithms and various parameters and outputs.
Currently handles only registration of providers, as a step toward
removing processing's algList (this requires first porting
the algorithm class to c++)
A QgsProcessingRegistry instance is attached to QgsApplication,
and is retrieved by QgsApplication::processingRegistry()
Nothing particularly exciting here yet, but this commit
moves the definition of the provider base class to a c++
QgsProcessingProvider abstract base class.
As part of this some existing python methods were renamed
to make their use clearer and to fit with the QGIS c++
api conventions:
- getName was renamed to id
- getDescription was renamed to name
- getIcon was renamed to icon
These API breaks are documented
Tags are used while searching in the toolbox. This should help with
finding algorithms when the exact name is not known, eg
you could search for "envelope" or "bounds" and find the
'Polygon from Layer Extent' algorithm.
At the moment it's quite hard to discover algorithms which exist
when you don't know what their called and have to instead search
for every possible naming variant which could exist...
Eg, allows you to search "line merge" and find the "Merge lines"
algorithm. Should make it easier for users who don't know the
exact name to find algorithms.
This fixes some design errors (mainly the ModelerUtils class, which is not needed anymore to hold a copy of algs and providers in order to avoid circular dependencies) and removes unused code
- Broke into per class testcase
- Each method tries to test only one aspect of behavior
- Use unittest assertions for better error output
- Removed non-existant serialize functionality from tests
- Test BooleanParameter
Conflicts:
python/plugins/processing/core/parameters.py