QGIS API Documentation 3.37.0-Master (fdefdf9c27f)
qgskeyvaluewidget.h
Go to the documentation of this file.
1/***************************************************************************
2 qgskeyvaluewidget.h
3 --------------------------------------
4 Date : 08.2016
5 Copyright : (C) 2016 Patrick Valsecchi
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 QGSKEYVALUEWIDGET_H
17#define QGSKEYVALUEWIDGET_H
18
19#include "qgstablewidgetbase.h"
20#include "qgis_sip.h"
21#include <QAbstractTableModel>
22#include <QMap>
23#include "qgis_gui.h"
24
25
26#ifndef SIP_RUN
28
34class GUI_EXPORT QgsKeyValueModel : public QAbstractTableModel
35{
36 Q_OBJECT
37 public:
38
39 explicit QgsKeyValueModel( QObject *parent = nullptr );
40 void setMap( const QVariantMap &map );
41 QVariantMap map() const;
42
43 int rowCount( const QModelIndex &parent = QModelIndex() ) const override;
44 int columnCount( const QModelIndex &parent = QModelIndex() ) const override;
45 QVariant headerData( int section, Qt::Orientation orientation, int role ) const override;
46 QVariant data( const QModelIndex &index, int role = Qt::DisplayRole ) const override;
47 bool setData( const QModelIndex &index, const QVariant &value, int role = Qt::EditRole ) override;
48 Qt::ItemFlags flags( const QModelIndex &index ) const override;
49 bool insertRows( int position, int rows, const QModelIndex &parent = QModelIndex() ) override;
50 bool removeRows( int position, int rows, const QModelIndex &parent = QModelIndex() ) override;
51
52 typedef QPair<QString, QVariant> Line;
53
54 private:
55 QVector<Line> mLines;
56};
58#endif
59
64class GUI_EXPORT QgsKeyValueWidget: public QgsTableWidgetBase
65{
66 Q_OBJECT
67 Q_PROPERTY( QVariantMap map READ map WRITE setMap )
68 public:
69
73 explicit QgsKeyValueWidget( QWidget *parent SIP_TRANSFERTHIS = nullptr );
74
78 void setMap( const QVariantMap &map );
79
84 QVariantMap map() const { return mModel.map(); }
85
86 private:
87 QgsKeyValueModel mModel;
88};
89
90
91#endif // QGSKEYVALUEWIDGET_H
Widget allowing to edit a QVariantMap, using a table.
QVariantMap map() const
Gets the edit value.
Base widget allowing to edit a collection, using a table.
#define SIP_TRANSFERTHIS
Definition: qgis_sip.h:53