QGIS API Documentation  3.2.0-Bonn (bc43194)
qgsfieldformatterregistry.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgsfieldformatterregistry.h - QgsFieldFormatterRegistry
3 
4  ---------------------
5  begin : 2.12.2016
6  copyright : (C) 2016 by Matthias Kuhn
7  email : matthias@opengis.ch
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 QGSFIELDKITREGISTRY_H
17 #define QGSFIELDKITREGISTRY_H
18 
19 #include <QHash>
20 #include <QString>
21 #include <QObject>
22 
23 #include "qgis.h"
24 #include "qgis_core.h"
25 
26 class QgsFieldFormatter;
27 
36 class CORE_EXPORT QgsFieldFormatterRegistry : public QObject
37 {
38  Q_OBJECT
39 
40  public:
41 
47  explicit QgsFieldFormatterRegistry( QObject *parent SIP_TRANSFERTHIS = nullptr );
48  ~QgsFieldFormatterRegistry() override;
49 
56  void addFieldFormatter( QgsFieldFormatter *formatter SIP_TRANSFER );
57 
62  void removeFieldFormatter( QgsFieldFormatter *formatter );
63 
67  void removeFieldFormatter( const QString &id );
68 
73  QgsFieldFormatter *fieldFormatter( const QString &id ) const;
74 
79  QgsFieldFormatter *fallbackFieldFormatter() const;
80 
81  signals:
82 
86  void fieldFormatterAdded( QgsFieldFormatter *formatter );
87 
91  void fieldFormatterRemoved( QgsFieldFormatter *formatter );
92 
93  private:
94  QHash<QString, QgsFieldFormatter *> mFieldFormatters;
95  QgsFieldFormatter *mFallbackFieldFormatter = nullptr;
96 };
97 
98 #endif // QGSFIELDKITREGISTRY_H
#define SIP_TRANSFERTHIS
Definition: qgis_sip.h:46
The QgsFieldFormatterRegistry manages registered classes of QgsFieldFormatter.
#define SIP_TRANSFER
Definition: qgis_sip.h:36
A field formatter helps to handle and display values for a field.