QGIS API Documentation 3.37.0-Master (fdefdf9c27f)
qgsfeaturelistviewdelegate.h
Go to the documentation of this file.
1/***************************************************************************
2 qgsfeaturelistviewdelegate.h
3 ---------------------
4 begin : February 2013
5 copyright : (C) 2013 by Matthias Kuhn
6 email : matthias at opengis dot ch
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#ifndef QGSATTRIBUTELISTVIEWDELEGATE_H
16#define QGSATTRIBUTELISTVIEWDELEGATE_H
17
18#include <QItemDelegate>
19#include <QItemSelectionModel>
20#include "qgis_gui.h"
21
22class QgsVectorLayer;
25class QPosition;
26
31class GUI_EXPORT QgsFeatureListViewDelegate : public QItemDelegate
32{
33 Q_OBJECT
34
35 public:
36 static const int ICON_SIZE = 24;
37
39 {
41 SelectionElement
42 };
43
44 explicit QgsFeatureListViewDelegate( QgsFeatureListModel *listModel, QObject *parent = nullptr );
45
46 void setEditSelectionModel( QItemSelectionModel *editSelectionModel );
47
48 Element positionToElement( QPoint pos );
49
50 void setFeatureSelectionModel( QgsFeatureSelectionModel *featureSelectionModel );
51
52 void setCurrentFeatureEdited( bool state );
53
54 signals:
55 void editButtonClicked( QModelIndex &index );
56
57 protected:
58 QSize sizeHint( const QStyleOptionViewItem &option, const QModelIndex &index ) const override;
59 void paint( QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index ) const override;
60
61 private:
62 QgsFeatureSelectionModel *mFeatureSelectionModel = nullptr;
63 QItemSelectionModel *mEditSelectionModel = nullptr;
64 QgsFeatureListModel *mListModel = nullptr;
66 bool mCurrentFeatureEdited;
67};
68
69#endif // QGSATTRIBUTELISTVIEWDELEGATE_H
void editButtonClicked(QModelIndex &index)
Represents a vector layer which manages a vector based data sets.