32 lines
1.1 KiB
C++
32 lines
1.1 KiB
C++
#ifndef COMBOBOXDELEGATE_H
|
|
#define COMBOBOXDELEGATE_H
|
|
|
|
#include <QStyledItemDelegate>
|
|
class QStringListModel;
|
|
|
|
class ComboboxDelegate : public QStyledItemDelegate {
|
|
// TODO move source code files into subfolder "widgets/delegate"
|
|
Q_OBJECT
|
|
public:
|
|
explicit ComboboxDelegate(const QStringList items, QObject* parent = nullptr);
|
|
|
|
/// QAbstractItemDelegate interface
|
|
public:
|
|
void paint(QPainter* painter,
|
|
const QStyleOptionViewItem& option,
|
|
const QModelIndex& index) const override;
|
|
QSize sizeHint(const QStyleOptionViewItem& option, const QModelIndex& index) const override;
|
|
QWidget* createEditor(QWidget* parent,
|
|
const QStyleOptionViewItem& option,
|
|
const QModelIndex&) const override;
|
|
void setEditorData(QWidget* editor, const QModelIndex& index) const override;
|
|
void setModelData(QWidget* editor,
|
|
QAbstractItemModel* model,
|
|
const QModelIndex& index) const override;
|
|
|
|
private:
|
|
QStringListModel* m_types = nullptr;
|
|
};
|
|
|
|
#endif // COMBOBOXDELEGATE_H
|