#pragma once #include "abstract_display_widget.h" #include namespace LtsDataView { class IconViewDelegate final : public QStyledItemDelegate { Q_OBJECT public: using QStyledItemDelegate::QStyledItemDelegate; void setDisplayWidgetCreator(const std::function &customDisplayWidgetCreator); QSize sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const; void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const; private: std::function m_customDisplayWidgetCreator; QSize m_displayWidgetSize; }; } // namespace LtsDataView