QGIS API Documentation 3.37.0-Master (fdefdf9c27f)
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
38 explicit QgsListModel( QVariant::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
52 private:
53 QVariantList mLines;
54 QVariant::Type mSubType;
55};
57#endif
58
59
64class GUI_EXPORT QgsListWidget: public QgsTableWidgetBase
65{
66 Q_OBJECT
67 Q_PROPERTY( QVariantList list READ list WRITE setList )
68 public:
69
73 explicit QgsListWidget( QVariant::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 private:
93 QgsListModel mModel;
94 QVariant::Type mSubType;
95};
96
97
98#endif // QGSKEYVALUEWIDGET_H
Widget allowing to edit a QVariantList, using a table.
Definition: qgslistwidget.h:65
QVariantList list() const
Gets the edit value.
Definition: qgslistwidget.h:84
bool valid() const
Check the content is valid.
Definition: qgslistwidget.h:90
Base widget allowing to edit a collection, using a table.