QGIS API Documentation 3.37.0-Master (fdefdf9c27f)
qgsvaluemapconfigdlg.h
Go to the documentation of this file.
1/***************************************************************************
2 qgsvaluemapconfigdlg.h
3 --------------------------------------
4 Date : 5.1.2014
5 Copyright : (C) 2014 Matthias Kuhn
6 Email : matthias at opengis dot ch
7 ***************************************************************************
8 * *
9 * This program is free software; you can redistribute it and/or modify *
10 * it under the terms of the GNU General Public License as published by *
11 * the Free Software Foundation; either version 2 of the License, or *
12 * (at your option) any later version. *
13 * *
14 ***************************************************************************/
15
16#ifndef QGSVALUEMAPCONFIGDLG_H
17#define QGSVALUEMAPCONFIGDLG_H
18
19#include "ui_qgsvaluemapconfigdlgbase.h"
20
22#include "qgis_gui.h"
23
24class QComboBox;
25
27
34class GUI_EXPORT QgsValueMapConfigDlg : public QgsEditorConfigWidget, private Ui::QgsValueMapWidget
35{
36 Q_OBJECT
37
38 public:
39 explicit QgsValueMapConfigDlg( QgsVectorLayer *vl, int fieldIdx, QWidget *parent );
40 QVariantMap config() override;
41 void setConfig( const QVariantMap &config ) override;
42
50 void updateMap( const QMap<QString, QVariant> &map, bool insertNull );
51
59 void updateMap( const QList<QPair<QString, QVariant>> &list, bool insertNull );
60
66 void loadMapFromCSV( const QString &filePath );
67
74 static void populateComboBox( QComboBox *comboBox, const QVariantMap &configuration, bool skipNull );
75
76 bool eventFilter( QObject *watched, QEvent *event ) override;
77
78 private:
79 void setRow( int row, const QString &value, const QString &description );
80
81 private slots:
82 void copySelectionToClipboard();
83 void vCellChanged( int row, int column );
84 void addNullButtonPushed();
85 void removeSelectedButtonPushed();
86 void loadFromLayerButtonPushed();
87 void loadFromCSVButtonPushed();
88};
89
90#endif // QGSVALUEMAPCONFIGDLG_H
This class should be subclassed for every configurable editor widget type.
virtual QVariantMap config()=0
Create a configuration from the current GUI state.
virtual void setConfig(const QVariantMap &config)=0
Update the configuration widget to represent the given configuration.
Represents a vector layer which manages a vector based data sets.
#define SIP_NO_FILE