QGIS API Documentation  3.0.2-Girona (307d082)
qgsvaluerelationfieldformatter.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgsvaluerelationfieldformatter.h - QgsValueRelationFieldFormatter
3 
4  ---------------------
5  begin : 3.12.2016
6  copyright : (C) 2016 by Matthias Kuhn
7  email : [email protected]
8  ***************************************************************************
9  * *
10  * This program is free software; you can redistribute it and/or modify *
11  * it under the terms of the GNU General Public License as published by *
12  * the Free Software Foundation; either version 2 of the License, or *
13  * (at your option) any later version. *
14  * *
15  ***************************************************************************/
16 #ifndef QGSVALUERELATIONFIELDKIT_H
17 #define QGSVALUERELATIONFIELDKIT_H
18 
19 #include "qgis_core.h"
20 #include "qgsfieldformatter.h"
21 
22 #include <QVector>
23 #include <QVariant>
24 
34 {
35  public:
37  {
39  ValueRelationItem( const QVariant &key, const QString &value )
40  : key( key )
41  , value( value )
42  {}
43 
45  ValueRelationItem() = default;
46 
47  QVariant key;
48  QString value;
49  };
50 
51  typedef QVector < QgsValueRelationFieldFormatter::ValueRelationItem > ValueRelationCache;
52 
57 
58  QString id() const override;
59  QString representValue( QgsVectorLayer *layer, int fieldIndex, const QVariantMap &config, const QVariant &cache, const QVariant &value ) const override;
60 
61  QVariant sortValue( QgsVectorLayer *layer, int fieldIndex, const QVariantMap &config, const QVariant &cache, const QVariant &value ) const override;
62 
63  QVariant createCache( QgsVectorLayer *layer, int fieldIndex, const QVariantMap &config ) const override;
64 
72  static QgsValueRelationFieldFormatter::ValueRelationCache createCache( const QVariantMap &config );
73 };
74 
76 
77 #endif // QGSVALUERELATIONFIELDKIT_H
Q_DECLARE_METATYPE(QModelIndex)
QVector< QgsValueRelationFieldFormatter::ValueRelationItem > ValueRelationCache
Field formatter for a value relation field.
A field formatter helps to handle and display values for a field.
ValueRelationItem(const QVariant &key, const QString &value)
Constructor for ValueRelationItem.
Represents a vector layer which manages a vector based data sets.