QGIS API Documentation
3.8.0-Zanzibar (11aff65)
|
Field formatter for a value relation field. More...
#include <qgsvaluerelationfieldformatter.h>
Classes | |
struct | ValueRelationItem |
Public Types | |
typedef QVector< QgsValueRelationFieldFormatter::ValueRelationItem > | ValueRelationCache |
Public Member Functions | |
QgsValueRelationFieldFormatter ()=default | |
Constructor for QgsValueRelationFieldFormatter. More... | |
QVariant | createCache (QgsVectorLayer *layer, int fieldIndex, const QVariantMap &config) const override |
Create a cache for a given field. More... | |
QString | id () const override |
Returns a unique id for this field formatter. More... | |
QString | representValue (QgsVectorLayer *layer, int fieldIndex, const QVariantMap &config, const QVariant &cache, const QVariant &value) const override |
Create a pretty String representation of the value. More... | |
QVariant | sortValue (QgsVectorLayer *layer, int fieldIndex, const QVariantMap &config, const QVariant &cache, const QVariant &value) const override |
If the default sort order should be overwritten for this widget, you can transform the value in here. More... | |
Public Member Functions inherited from QgsFieldFormatter | |
QgsFieldFormatter () | |
virtual | ~QgsFieldFormatter ()=default |
virtual Qt::AlignmentFlag | alignmentFlag (QgsVectorLayer *layer, int fieldIndex, const QVariantMap &config) const |
Returns the alignment for a particular field. More... | |
Static Public Member Functions | |
static QgsValueRelationFieldFormatter::ValueRelationCache | createCache (const QVariantMap &config, const QgsFeature &formFeature=QgsFeature()) |
Create a cache for a value relation field. More... | |
static QSet< QString > | expressionFormAttributes (const QString &expression) |
Returns a list of attributes required by the form context expression. More... | |
static QSet< QString > | expressionFormVariables (const QString &expression) |
Returns a list of variables required by the form context expression. More... | |
static bool | expressionIsUsable (const QString &expression, const QgsFeature &feature) |
Check whether the feature has all values required by the expression. More... | |
static bool | expressionRequiresFormScope (const QString &expression) |
Check if the expression requires a form scope (i.e. More... | |
static QgsVectorLayer * | resolveLayer (const QVariantMap &config, const QgsProject *project) |
Returns the (possibly NULL) layer from the widget's config and project. More... | |
static QStringList | valueToStringList (const QVariant &value) |
Utility to convert a list or a string representation of an (hstore style: {1,2...}) list in value to a string list. More... | |
Field formatter for a value relation field.
A value relation field formatter looks up the values from features on another layer.
Definition at line 36 of file qgsvaluerelationfieldformatter.h.
typedef QVector< QgsValueRelationFieldFormatter::ValueRelationItem > QgsValueRelationFieldFormatter::ValueRelationCache |
Definition at line 54 of file qgsvaluerelationfieldformatter.h.
|
default |
Constructor for QgsValueRelationFieldFormatter.
|
overridevirtual |
Create a cache for a given field.
This will be used in situations where a field is being represented various times in a loop. And will be passed to other methods on QgsFieldKit and QgsEditorWidgetWrapper.
For example, the attribute table will create a cache once for each field and then use this cache for representation. The QgsValueRelationFieldFormatter and QgsValueRelationEditorWidget implement this functionality to create a lookuptable once (a QVariantMap / dict) and are make use of a cache if present.
Reimplemented from QgsFieldFormatter.
Definition at line 109 of file qgsvaluerelationfieldformatter.cpp.
|
static |
Create a cache for a value relation field.
This can be used to keep the value map in the local memory if doing multiple lookups in a loop.
config | The widget configuration |
formFeature | The feature currently being edited with current attribute values |
Definition at line 117 of file qgsvaluerelationfieldformatter.cpp.
|
static |
Returns a list of attributes required by the form context expression.
expression | Form filter expression |
Definition at line 239 of file qgsvaluerelationfieldformatter.cpp.
|
static |
Returns a list of variables required by the form context expression.
expression | Form filter expression |
Definition at line 225 of file qgsvaluerelationfieldformatter.cpp.
|
static |
Check whether the feature has all values required by the expression.
true
if the expression can be used Definition at line 264 of file qgsvaluerelationfieldformatter.cpp.
|
static |
Check if the expression requires a form scope (i.e.
if it uses fields or geometry of the currently edited feature).
expression | The widget's filter expression |
true
if the expression requires a form scope Definition at line 234 of file qgsvaluerelationfieldformatter.cpp.
|
overridevirtual |
Returns a unique id for this field formatter.
This id will later be used to identify this field formatter in the registry with QgsFieldFormatterRegistry::fieldFormatter().
This id matches the id of a QgsEditorWidgetFactory.
Implements QgsFieldFormatter.
Definition at line 41 of file qgsvaluerelationfieldformatter.cpp.
|
overridevirtual |
Create a pretty String representation of the value.
Reimplemented from QgsFieldFormatter.
Definition at line 46 of file qgsvaluerelationfieldformatter.cpp.
|
static |
Returns the (possibly NULL) layer from the widget's config and project.
Definition at line 277 of file qgsvaluerelationfieldformatter.cpp.
|
overridevirtual |
If the default sort order should be overwritten for this widget, you can transform the value in here.
Reimplemented from QgsFieldFormatter.
Definition at line 104 of file qgsvaluerelationfieldformatter.cpp.
|
static |
Utility to convert a list or a string representation of an (hstore style: {1,2...}) list in value to a string list.
Definition at line 169 of file qgsvaluerelationfieldformatter.cpp.