QGIS API Documentation 3.99.0-Master (26c88405ac0)
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 "qgis_core.h"
20#include "qgsvectorlayerref.h"
21
22#include <QString>
23#include <QVariant>
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
virtual QVariant createCache(QgsVectorLayer *layer, int fieldIndex, const QVariantMap &config) const
Create a cache for a given field.
Flags flags() const
Returns the flags.
virtual Qt::AlignmentFlag alignmentFlag(QgsVectorLayer *layer, int fieldIndex, const QVariantMap &config) const
Returns the alignment for a particular field.
QgsFieldFormatter()=default
virtual ~QgsFieldFormatter()=default
virtual QVariantList availableValues(const QVariantMap &config, int countLimit, const QgsFieldFormatterContext &context) const
Returns a list of the values that would be possible to select with this widget type On a RelationRefe...
QFlags< Flag > Flags
virtual QVariant sortValue(QgsVectorLayer *layer, int fieldIndex, const QVariantMap &config, const QVariant &cache, const QVariant &value) const
If the default sort order should be overwritten for this widget, you can transform the value in here.
enum Flag SIP_ENUM_BASETYPE(IntFlag)
Flags for the abilities of the formatter.
virtual QList< QgsVectorLayerRef > layerDependencies(const QVariantMap &config) const SIP_SKIP
Returns a list of weak layer references to other layers required by this formatter for the given conf...
virtual QString representValue(QgsVectorLayer *layer, int fieldIndex, const QVariantMap &config, const QVariant &cache, const QVariant &value) const
Create a pretty String representation of the value.
Encapsulates a QGIS project, including sets of map layers and their styles, layouts,...
Definition qgsproject.h:109
Represents a vector layer which manages a vector based dataset.
#define SIP_SKIP
Definition qgis_sip.h:134
_LayerRef< QgsVectorLayer > QgsVectorLayerRef