This function (available only in Processing expressions for now),
allows loading a map layer via a source string and provider name.
It is designed to allow use of the expression functions which
directly reference map layers (such as the aggregate functions)
with a hardcoded layer path, eg. then permitting these functions
to be used outside of a project (such as via the qgis_process tool)
QgsExpressionContext, providing a place for layers loaded
during expression preparation/evaluation to be stored
There are no destination stores set by default. The store
is likely to be set only in a limited number of circumstances,
eg in expression contexts used by Processing where we already
have a logical temporary layer store to use (via QgsProcessingContext)
with an expression context
This allows the various expression functions which can refer to
layers to also locate layers stored in these additional,
non-QgsProject::instance, store.
The immediate use case is paving the way for expressions to access
temporary layers created during the execution of processing jobs
(ie model steps). (This is just an API building block toward that
goal)
We were cloning the data provider correctly, but doing this on the
main thread means that the provider has thread affinity with the
main thread -- so we need to ensure it is moved over to the
actual rendering thread prior to the rendering.
Fixes#51200 and more small GUI/UX related glitches:
- locale aware double input (consitent behavior with the vector attr
table and the widgets)
- locale aware double formatting (same logic of the vector fields of type double.
- right-alignment of double fields
- wrong tooltip for last column
This adds the following fields to the QGIS layer/project metadata
standard:
- Date created
- Date published
- Date revised
- Date superseded
(Previously the layer metadata had no date fields, and project
metadata had only the created date field)