#pragma once #include #include #include namespace LtsDataView { class TreeViewDelegate final : public QStyledItemDelegate // needed to tell the QLineEdit to be as compact as possible while editing { Q_OBJECT public: using ComboBoxData = LtsWidgets::ComboboxFilterContent; using QStyledItemDelegate::QStyledItemDelegate; void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const override; QWidget *createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const override; void setEditorData(QWidget *editor, const QModelIndex &index) const override; void setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const override; static QString noFilterString() { return tr(""); } private: static ComboBoxData comboBoxData(const QModelIndex &index); private slots: void slotFinished(); }; } // namespace LtsDataView