File indexing completed on 2024-05-12 16:01:27

0001 /*
0002  *  SPDX-FileCopyrightText: 2009 Cyrille Berger <cberger@cberger.net>
0003  *  SPDX-FileCopyrightText: 2011 Silvio Heinrich <plassy@web.de>
0004  *  SPDX-FileCopyrightText: 2014 Mohit Goyal <mohit.bits2011@gmail.com>
0005  *
0006  *  SPDX-License-Identifier: LGPL-2.1-or-later
0007  */
0008 
0009 #ifndef _KIS_CATEGORIZED_ITEM_DELEGATE_H_
0010 #define _KIS_CATEGORIZED_ITEM_DELEGATE_H_
0011 
0012 #include <kritaui_export.h>
0013 #include <QIcon>
0014 #include <QStyledItemDelegate>
0015 
0016 /**
0017  * This delegate draw categories using information from a QSortFilterProxyModel.
0018  */
0019 class KRITAUI_EXPORT KisCategorizedItemDelegate: public QStyledItemDelegate
0020 {
0021 public:
0022     KisCategorizedItemDelegate(QObject *parent);
0023     void paint(QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index) const override;
0024     QSize sizeHint(const QStyleOptionViewItem& option, const QModelIndex& index) const override;
0025 
0026 private:
0027     void paintTriangle(QPainter* painter, qint32 x, qint32 y, qint32 size, bool rotate) const;
0028     mutable qint32 m_minimumItemHeight;
0029 };
0030 
0031 #endif // _KIS_CATEGORIZED_ITEM_DELEGATE_H_