QGIS API Documentation 3.41.0-Master (57ec4277f5e)
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
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 explicit QgsListModel( QMetaType::Type subType, QObject *parent = nullptr );
38 void setList( const QVariantList &list );
39 QVariantList list() const;
40 bool valid() const;
41
42 int rowCount( const QModelIndex &parent = QModelIndex() ) const override;
43 int columnCount( const QModelIndex &parent = QModelIndex() ) const override;
44 QVariant headerData( int section, Qt::Orientation orientation, int role ) const override;
45 QVariant data( const QModelIndex &index, int role = Qt::DisplayRole ) const override;
46 bool setData( const QModelIndex &index, const QVariant &value, int role = Qt::EditRole ) override;
47 Qt::ItemFlags flags( const QModelIndex &index ) const override;
48 bool insertRows( int position, int rows, const QModelIndex &parent = QModelIndex() ) override;
49 bool removeRows( int position, int rows, const QModelIndex &parent = QModelIndex() ) override;
50 void setReadOnly( bool readOnly );
51
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:
73 explicit QgsListWidget( QMetaType::Type subType, QWidget *parent = nullptr );
74
78 void setList( const QVariantList &list );
79
84 QVariantList list() const { return mModel.list(); }
85
90 bool valid() const { return mModel.valid(); }
91
92 public slots:
93
94 void setReadOnly( bool readOnly ) override;
95
96 private:
97 QgsListModel mModel;
98};
99
100
101#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.