pgLab/src/pglab/ParamTypeDelegate.h

31 lines
871 B
C
Raw Normal View History

#ifndef PARAMTYPEDELEGATE_H
#define PARAMTYPEDELEGATE_H
#include <QStyledItemDelegate>
class TypeSelectionItemModel;
/** Item delegate for supplying a combobox for selected the parameter type in
* the parameter list.
*/
class ParamTypeDelegate : public QStyledItemDelegate {
Q_OBJECT
public:
ParamTypeDelegate();
~ParamTypeDelegate();
QWidget *createEditor(QWidget *parent, const QStyleOptionViewItem &option,
const QModelIndex &index) const override;
void setTypeSelectionModel(TypeSelectionItemModel* model);
void setEditorData(QWidget *editor, const QModelIndex &index) const override;
void setModelData(QWidget *editor, QAbstractItemModel *model,
const QModelIndex &index) const override;
private:
TypeSelectionItemModel* m_typeSelectionModel = nullptr;
private slots:
void commitAndCloseEditor();
};
#endif // PARAMTYPEDELEGATE_H