QGIS API Documentation 3.41.0-Master (af5edcb665c)
Loading...
Searching...
No Matches
qgsfieldformatter.h
Go to the documentation of this file.
1/***************************************************************************
2 qgsfieldformatter.h - QgsFieldFormatter
3
4 ---------------------
5 begin : 2.12.2016
6 copyright : (C) 2016 by Matthias Kuhn
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 QGSFIELDKIT_H
17#define QGSFIELDKIT_H
18
19#include <QString>
20#include <QVariant>
21
22#include "qgis_core.h"
23#include "qgsvectorlayerref.h"
24
25class QgsVectorLayer;
26
33class CORE_EXPORT QgsFieldFormatterContext
34{
35 public:
36
38
43 QgsProject *project() const { return mProject; }
44
49 void setProject( QgsProject *project ) { mProject = project; }
50
51 private:
52 QgsProject *mProject = nullptr;
53};
54
68class CORE_EXPORT QgsFieldFormatter
69{
70 public:
71
72 QgsFieldFormatter() = default;
73
74 virtual ~QgsFieldFormatter() = default;
75
81 enum Flag SIP_ENUM_BASETYPE( IntFlag )
82 {
83 CanProvideAvailableValues = 1
84 };
85 Q_DECLARE_FLAGS( Flags, Flag )
86
87
93 virtual QString id() const = 0;
94
101 virtual QString representValue( QgsVectorLayer *layer, int fieldIndex, const QVariantMap &config, const QVariant &cache, const QVariant &value ) const;
102
109 virtual QVariant sortValue( QgsVectorLayer *layer, int fieldIndex, const QVariantMap &config, const QVariant &cache, const QVariant &value ) const;
110
116 virtual Qt::AlignmentFlag alignmentFlag( QgsVectorLayer *layer, int fieldIndex, const QVariantMap &config ) const;
117
130 virtual QVariant createCache( QgsVectorLayer *layer, int fieldIndex, const QVariantMap &config ) const;
131
144 virtual QList< QgsVectorLayerRef > layerDependencies( const QVariantMap &config ) const SIP_SKIP;
145
152 virtual QVariantList availableValues( const QVariantMap &config, int countLimit, const QgsFieldFormatterContext &context ) const;
153
159 Flags flags() const { return mFlags; }
160
166 void setFlags( const Flags &flags );
167
168 private:
169 Flags mFlags;
170};
171
172#endif // QGSFIELDKIT_H
A context for field formatter containing information like the project.
void setProject(QgsProject *project)
Sets the project used in field formatter.
QgsProject * project() const
Returns the project used in field formatter.
QgsFieldFormatterContext()=default
A field formatter helps to handle and display values for a field.
QgsFieldFormatter()=default
virtual ~QgsFieldFormatter()=default
QFlags< Flag > Flags
enum Flag SIP_ENUM_BASETYPE(IntFlag)
Flags for the abilities of the formatter.
Encapsulates a QGIS project, including sets of map layers and their styles, layouts,...
Definition qgsproject.h:107
Represents a vector layer which manages a vector based data sets.
#define SIP_SKIP
Definition qgis_sip.h:126