Files
qt5-legatus-legacy/Lts/Viewer/LtsDataView/tree_view_delegate.h
T
2026-08-13 18:33:10 +02:00

34 lines
1.1 KiB
C++
Executable File

#pragma once
#include <LtsWidgets/lts_column_filter_proxy_model.h>
#include <QStyledItemDelegate>
#include <QStyle>
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("<No filter>"); }
private:
static ComboBoxData comboBoxData(const QModelIndex &index);
private slots:
void slotFinished();
};
} // namespace LtsDataView