QGIS API Documentation 3.99.0-Master (2fe06baccd8)
Loading...
Searching...
No Matches
qgsdetaileditemdelegate.h
Go to the documentation of this file.
1/***************************************************************************
2 qgsdetaileditemdelegate.h - A rich QItemDelegate subclass
3 -------------------
4 begin : Sat May 17 2008
5 copyright : (C) 2008 Tim Sutton
7 ***************************************************************************/
8
9/***************************************************************************
10 * *
11 * This program is free software; you can redistribute it and/or modify *
12 * it under the terms of the GNU General Public License as published by *
13 * the Free Software Foundation; either version 2 of the License, or *
14 * (at your option) any later version. *
15 * *
16 ***************************************************************************/
17#ifndef QGSDETAILEDITEMDELEGATE_H
18#define QGSDETAILEDITEMDELEGATE_H
19
20#include "qgis_gui.h"
21#include "qgis_sip.h"
22
23#include <QAbstractItemDelegate>
24#include <QString>
25
26class QCheckBox;
29class QFontMetrics;
30class QFont;
31
38class GUI_EXPORT QgsDetailedItemDelegate : public QAbstractItemDelegate
39{
40 Q_OBJECT
41 public:
43 QgsDetailedItemDelegate( QObject *parent SIP_TRANSFERTHIS = nullptr );
44 ~QgsDetailedItemDelegate() override;
46 void paint( QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index ) const override;
48 QSize sizeHint( const QStyleOptionViewItem &option, const QModelIndex &index ) const override;
49
50 void setVerticalSpacing( int value );
51
52 int verticalSpacing() const;
53
54 void setHorizontalSpacing( int value );
55
56 int horizontalSpacing() const;
57
58 private:
59 QFont detailFont( const QStyleOptionViewItem &option ) const;
60 QFont categoryFont( const QStyleOptionViewItem &option ) const;
61 QFont titleFont( const QStyleOptionViewItem &option ) const;
62 void drawHighlight( const QStyleOptionViewItem &option, QPainter *thepPainter, int height ) const;
63
64 QStringList wordWrap( const QString &string, const QFontMetrics &metrics, int width ) const;
65 void paintManually( QPainter *painter, const QStyleOptionViewItem &option, const QgsDetailedItemData &data ) const;
66 void paintAsWidget( QPainter *painter, const QStyleOptionViewItem &option, const QgsDetailedItemData &data ) const;
67 int height( const QStyleOptionViewItem &option, const QgsDetailedItemData &data ) const;
68 QgsDetailedItemWidget *mpWidget = nullptr;
69 QCheckBox *mpCheckBox = nullptr;
70 int mVerticalSpacing;
71 int mHorizontalSpacing;
72};
73
74#endif //QGSDETAILEDITEMDELEGATE_H
The data only representation of a QgsDetailedItemWidget, designed to be used in custom views.
QgsDetailedItemDelegate(QObject *parent=nullptr)
Constructor for QgsDetailedItemDelegate.
QSize sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const override
Reimplement for parent class.
void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const override
Reimplement for parent class.
A widget renderer for detailed item views.
#define SIP_TRANSFERTHIS
Definition qgis_sip.h:53