QGIS API Documentation  3.16.0-Hannover (43b64b13f3)
Public Member Functions | Static Public Attributes | List of all members
QgsValueMapFieldFormatter Class Reference

Field formatter for a ValueMap field. More...

#include <qgsvaluemapfieldformatter.h>

Inheritance diagram for QgsValueMapFieldFormatter:
Inheritance graph
[legend]

Public Member Functions

 QgsValueMapFieldFormatter ()
 Default constructor of field formatter for a value map field. More...
 
QVariantList availableValues (const QVariantMap &config, int countLimit, const QgsFieldFormatterContext &context) const override
 Returns a list of the values that would be possible to select with this widget type On a RelationReference that would be the parents ids or on ValueMap all the configured keys according to the settings in the config. 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 ()=default
 Default constructor. More...
 
virtual ~QgsFieldFormatter ()=default
 
virtual Qt::AlignmentFlag alignmentFlag (QgsVectorLayer *layer, int fieldIndex, const QVariantMap &config) const
 Returns the alignment for a particular field. More...
 
virtual QVariant createCache (QgsVectorLayer *layer, int fieldIndex, const QVariantMap &config) const
 Create a cache for a given field. More...
 
Flags flags () const
 Returns the flags. More...
 
virtual QList< QgsVectorLayerReflayerDependencies (const QVariantMap &config) const
 Returns a list of weak layer references to other layers required by this formatter for the given config. More...
 
void setFlags (const Flags &flags)
 Sets the flags. More...
 

Static Public Attributes

static const QString NULL_VALUE = QStringLiteral( "{2839923C-8B7D-419E-B84B-CA2FE9B80EC7}" )
 Will be saved in the configuration when a value is NULL. More...
 

Additional Inherited Members

- Public Types inherited from QgsFieldFormatter
enum  Flag { CanProvideAvailableValues = 1 }
 Flags for the abilities of the formatter. More...
 

Detailed Description

Field formatter for a ValueMap field.

A value relation field formatter looks up the values a map.

The map is defined in the configuration as dictionary under the key "map".

{ "map": { 1: "one", 2: "two", 3: "three" } }

Values that are not on the map will be wrapped in parentheses. So with the above configuration:

Since
QGIS 3.0

Definition at line 39 of file qgsvaluemapfieldformatter.h.

Constructor & Destructor Documentation

◆ QgsValueMapFieldFormatter()

QgsValueMapFieldFormatter::QgsValueMapFieldFormatter ( )

Default constructor of field formatter for a value map field.

Definition at line 22 of file qgsvaluemapfieldformatter.cpp.

Member Function Documentation

◆ availableValues()

QVariantList QgsValueMapFieldFormatter::availableValues ( const QVariantMap &  config,
int  countLimit,
const QgsFieldFormatterContext context 
) const
overridevirtual

Returns a list of the values that would be possible to select with this widget type On a RelationReference that would be the parents ids or on ValueMap all the configured keys according to the settings in the config.

Since
QGIS 3.12

Reimplemented from QgsFieldFormatter.

Definition at line 71 of file qgsvaluemapfieldformatter.cpp.

◆ id()

QString QgsValueMapFieldFormatter::id ( ) const
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 27 of file qgsvaluemapfieldformatter.cpp.

◆ representValue()

QString QgsValueMapFieldFormatter::representValue ( QgsVectorLayer layer,
int  fieldIndex,
const QVariantMap &  config,
const QVariant &  cache,
const QVariant &  value 
) const
overridevirtual

Create a pretty String representation of the value.

Returns
By default the string representation of the provided value as implied by the field definition is returned.
Since
QGIS 3.0

Reimplemented from QgsFieldFormatter.

Definition at line 32 of file qgsvaluemapfieldformatter.cpp.

◆ sortValue()

QVariant QgsValueMapFieldFormatter::sortValue ( QgsVectorLayer layer,
int  fieldIndex,
const QVariantMap &  config,
const QVariant &  cache,
const QVariant &  value 
) const
overridevirtual

If the default sort order should be overwritten for this widget, you can transform the value in here.

Returns
an unmodified value by default.
Since
QGIS 3.0

Reimplemented from QgsFieldFormatter.

Definition at line 66 of file qgsvaluemapfieldformatter.cpp.

Member Data Documentation

◆ NULL_VALUE

const QString QgsValueMapFieldFormatter::NULL_VALUE = QStringLiteral( "{2839923C-8B7D-419E-B84B-CA2FE9B80EC7}" )
static

Will be saved in the configuration when a value is NULL.

It's the magic UUID {2839923C-8B7D-419E-B84B-CA2FE9B80EC7}

Definition at line 47 of file qgsvaluemapfieldformatter.h.


The documentation for this class was generated from the following files: