QGIS API Documentation 3.41.0-Master (fda2aa46e9a)
Loading...
Searching...
No Matches
qgslistwidget.h
Go to the documentation of this file.
1/***************************************************************************
2 qgslistwidget.h
3 --------------------------------------
4 Date : 08.2016
5 Copyright : (C) 2016 Patrick Valsecchi
6 Email : patrick.valsecchi@camptocamp.com
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 QGSLISTWIDGET_H
17#define QGSLISTWIDGET_H
18
19#include "qgstablewidgetbase.h"
20#include <QAbstractTableModel>
21#include <QVariant>
22#include "qgis_gui.h"
23
24
25#ifndef SIP_RUN
27
33class GUI_EXPORT QgsListModel : public QAbstractTableModel
34{
35 Q_OBJECT
36 public:
37
38 explicit QgsListModel( QMetaType::Type subType, QObject *parent = nullptr );
39 void setList( const QVariantList &list );
40 QVariantList list() const;
41 bool valid() 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 void setReadOnly( bool readOnly );
52 private:
53 bool mReadOnly = false;
54 QVariantList mLines;
55 QMetaType::Type mSubType;
56};
58#endif
59
60
65class GUI_EXPORT QgsListWidget: public QgsTableWidgetBase
66{
67 Q_OBJECT
68 Q_PROPERTY( QVariantList list READ list WRITE setList )
69 public:
70
74 explicit QgsListWidget( QMetaType::Type subType, QWidget *parent = nullptr );
75
79 void setList( const QVariantList &list );
80
85 QVariantList list() const { return mModel.list(); }
86
91 bool valid() const { return mModel.valid(); }
92
93 public slots:
94
95 void setReadOnly( bool readOnly ) override;
96
97 private:
98 QgsListModel mModel;
99};
100
101
102#endif // QGSKEYVALUEWIDGET_H
Widget allowing to edit a QVariantList, using a table.
QVariantList list() const
Gets the edit value.
bool valid() const
Check the content is valid.
Base widget allowing to edit a collection, using a table.