QGIS API Documentation 3.34.0-Prizren (ffbdd678812)
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
32class CORE_EXPORT QgsFieldProxyModel : public QSortFilterProxyModel
33{
34 Q_OBJECT
35
36 public:
37
39 enum Filter
40 {
41 String = 1,
42 Int = 2,
43 LongLong = 4,
44 Double = 8,
45 Numeric = Int | LongLong | Double,
46 Date = 16,
47 Time = 32,
48 HideReadOnly = 64,
49 DateTime = 128,
50 Binary = 256,
51 Boolean = 512,
52 AllTypes = Numeric | Date | String | Time | DateTime | Binary | Boolean,
53 };
54 Q_DECLARE_FLAGS( Filters, Filter )
55 Q_FLAG( Filters )
56
57
61 explicit QgsFieldProxyModel( QObject *parent SIP_TRANSFERTHIS = nullptr );
62
64 QgsFieldModel *sourceFieldModel() { return mModel; }
65
71 QgsFieldProxyModel *setFilters( QgsFieldProxyModel::Filters filters );
72
77 const Filters &filters() const { return mFilters; }
78
79 private:
80 Filters mFilters;
81 QgsFieldModel *mModel = nullptr;
82
84 bool isReadOnly( const QModelIndex &index ) const;
85
86 // QSortFilterProxyModel interface
87 public:
88 bool filterAcceptsRow( int source_row, const QModelIndex &source_parent ) const override;
89 bool lessThan( const QModelIndex &left, const QModelIndex &right ) const override;
90};
91
92Q_DECLARE_OPERATORS_FOR_FLAGS( QgsFieldProxyModel::Filters )
93
94#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
Q_DECLARE_OPERATORS_FOR_FLAGS(QgsTextRendererUtils::CurvedTextFlags)