QGIS API Documentation  3.13.0-Master (7f54853aae)
Public Member Functions | List of all members
QgsRelationReferenceFieldFormatter Class Reference

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

#include <qgsrelationreferencefieldformatter.h>

Inheritance diagram for QgsRelationReferenceFieldFormatter:
Inheritance graph
[legend]

Public Member Functions

 QgsRelationReferenceFieldFormatter ()
 Default constructor of field formatter for a relation reference 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...
 
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...
 
QList< QgsVectorLayerReflayerDependencies (const QVariantMap &config) const override
 Returns a list of weak layer references to other layers required by this formatter for the given config. 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...
 
Flags flags () const
 Returns the flags. More...
 
void setFlags (const Flags &flags)
 Sets the flags. 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 relation reference field.

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

Since
QGIS 3.0

Definition at line 30 of file qgsrelationreferencefieldformatter.h.

Constructor & Destructor Documentation

◆ QgsRelationReferenceFieldFormatter()

QgsRelationReferenceFieldFormatter::QgsRelationReferenceFieldFormatter ( )

Default constructor of field formatter for a relation reference field.

Definition at line 26 of file qgsrelationreferencefieldformatter.cpp.

Member Function Documentation

◆ availableValues()

QVariantList QgsRelationReferenceFieldFormatter::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 190 of file qgsrelationreferencefieldformatter.cpp.

◆ createCache()

QVariant QgsRelationReferenceFieldFormatter::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 106 of file qgsrelationreferencefieldformatter.cpp.

◆ id()

QString QgsRelationReferenceFieldFormatter::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 31 of file qgsrelationreferencefieldformatter.cpp.

◆ layerDependencies()

QList< QgsVectorLayerRef > QgsRelationReferenceFieldFormatter::layerDependencies ( const QVariantMap &  config) const
overridevirtual

Returns a list of weak layer references to other layers required by this formatter for the given config.

The default implementation returns an empty list.

This method should be reimplemented by formatters that handle relations with other layers, (e.g. ValueRelation) and can be used by client code to warn the user about missing required dependencies or to add some resolution logic in order to load the missing dependency.

Note
not available in Python bindings
Since
QGIS 3.12

Reimplemented from QgsFieldFormatter.

Definition at line 177 of file qgsrelationreferencefieldformatter.cpp.

◆ representValue()

QString QgsRelationReferenceFieldFormatter::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 36 of file qgsrelationreferencefieldformatter.cpp.

◆ sortValue()

QVariant QgsRelationReferenceFieldFormatter::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 101 of file qgsrelationreferencefieldformatter.cpp.


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