- 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
Inside the modeler, there is not enough knowledge about the layer on
which the refactor fields algorithm will run.
Let's be graceful with error messages here therefore.
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).
Now all evaluate/prepare/etc methods must be called using QgsExpressionContexts
Also remove most remaining traces of special variables. This brings some
user facing changes, such that existing expressions may need to be
updated if they used these old special variables (eg $scale,
$feature). These changes are noted in doc/qgis3_user_changes.dox
so that we can include them in the release notes.
* pyqtwrappers update (add QtNetwork, QtXml, QtSql, QtTest, uic)
* 2to3 updates
* move QPyNullVariant/NULL to PyQt.QtCore
* add global unicode/basestring/long for Python3
* expand QtGui, QtCore module and star exports
* Qscintilla2
* replace Set import with set builtin