QGIS API Documentation  3.0.2-Girona (307d082)
Classes | Public Types | Public Member Functions | Static Public Member Functions | List of all members
QgsValueRelationFieldFormatter Class Reference

Field formatter for a value relation field. More...

#include <qgsvaluerelationfieldformatter.h>

Inheritance diagram for QgsValueRelationFieldFormatter:
Inheritance graph
[legend]

Classes

struct  ValueRelationItem
 

Public Types

typedef QVector< QgsValueRelationFieldFormatter::ValueRelationItemValueRelationCache
 

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
 Return 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
 Return the alignment for a particular field. More...
 

Static Public Member Functions

static QgsValueRelationFieldFormatter::ValueRelationCache createCache (const QVariantMap &config)
 Create a cache for a value relation field. More...
 

Detailed Description

Field formatter for a value relation field.

A value relation field formatter looks up the values from features on another layer.

Since
QGIS 3.0

Definition at line 33 of file qgsvaluerelationfieldformatter.h.

Member Typedef Documentation

◆ ValueRelationCache

Definition at line 51 of file qgsvaluerelationfieldformatter.h.

Constructor & Destructor Documentation

◆ QgsValueRelationFieldFormatter()

QgsValueRelationFieldFormatter::QgsValueRelationFieldFormatter ( )
default

Member Function Documentation

◆ createCache() [1/2]

QVariant QgsValueRelationFieldFormatter::createCache ( QgsVectorLayer layer,
int  fieldIndex,
const QVariantMap &  config 
) const
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.

Since
QGIS 3.0

Reimplemented from QgsFieldFormatter.

Definition at line 94 of file qgsvaluerelationfieldformatter.cpp.

◆ createCache() [2/2]

QgsValueRelationFieldFormatter::ValueRelationCache QgsValueRelationFieldFormatter::createCache ( const QVariantMap &  config)
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.

Since
QGIS 3.0

Definition at line 102 of file qgsvaluerelationfieldformatter.cpp.

◆ id()

QString QgsValueRelationFieldFormatter::id ( ) const
overridevirtual

Return 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 34 of file qgsvaluerelationfieldformatter.cpp.

◆ representValue()

QString QgsValueRelationFieldFormatter::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 39 of file qgsvaluerelationfieldformatter.cpp.

◆ sortValue()

QVariant QgsValueRelationFieldFormatter::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 89 of file qgsvaluerelationfieldformatter.cpp.


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