QGIS API Documentation 3.36.0-Maidenhead (09951dc0acf)
Loading...
Searching...
No Matches
qgsfieldproxymodel.h
Go to the documentation of this file.
1/***************************************************************************
2 qgsfieldproxymodel.h
3 --------------------------------------
4 Date : 01.04.2014
5 Copyright : (C) 2014 Denis Rouzaud
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 QGSFIELDPROXYMODEL_H
17#define QGSFIELDPROXYMODEL_H
18
19#include <QSortFilterProxyModel>
20
21#include "qgis_core.h"
22
23#include "qgis_sip.h"
24
25class QgsFieldModel;
26
31class CORE_EXPORT QgsFieldProxyModel : public QSortFilterProxyModel
32{
33 Q_OBJECT
34
35 public:
36
38 enum Filter SIP_ENUM_BASETYPE( IntFlag )
39 {
40 String = 1,
41 Int = 2,
42 LongLong = 4,
43 Double = 8,
44 Numeric = Int | LongLong | Double,
45 Date = 16,
46 Time = 32,
47 HideReadOnly = 64,
48 DateTime = 128,
49 Binary = 256,
50 Boolean = 512,
51 AllTypes = Numeric | Date | String | Time | DateTime | Binary | Boolean,
52 };
53 Q_DECLARE_FLAGS( Filters, Filter )
54 Q_FLAG( Filters )
55
56
60 explicit QgsFieldProxyModel( QObject *parent SIP_TRANSFERTHIS = nullptr );
61
63 QgsFieldModel *sourceFieldModel() { return mModel; }
64
70 QgsFieldProxyModel *setFilters( QgsFieldProxyModel::Filters filters );
71
76 const Filters &filters() const { return mFilters; }
77
78 private:
79 Filters mFilters;
80 QgsFieldModel *mModel = nullptr;
81
83 bool isReadOnly( const QModelIndex &index ) const;
84
85 // QSortFilterProxyModel interface
86 public:
87 bool filterAcceptsRow( int source_row, const QModelIndex &source_parent ) const override;
88 bool lessThan( const QModelIndex &left, const QModelIndex &right ) const override;
89};
90
91Q_DECLARE_OPERATORS_FOR_FLAGS( QgsFieldProxyModel::Filters )
92
93#endif // QGSFIELDPROXYMODEL_H
The QgsFieldModel class is a model to display the list of fields in widgets (optionally associated wi...
The QgsFieldProxyModel class provides an easy to use model to display the list of fields of a layer.
QgsFieldModel * sourceFieldModel()
Returns the QgsFieldModel used in this QSortFilterProxyModel.
Filter
Field type filters.
const Filters & filters() const
Returns the filters controlling displayed fields.
#define SIP_TRANSFERTHIS
Definition qgis_sip.h:53
#define SIP_ENUM_BASETYPE(type)
Definition qgis_sip.h:278
Q_DECLARE_OPERATORS_FOR_FLAGS(QgsTextRendererUtils::CurvedTextFlags)