34 lines
1.1 KiB
C++
Executable File
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
|