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_