Re-used the ComboBoxDelegate created earlier for MediaTypeModel in
[emufront] / src / delegates / comboboxdelegate.h
1 #ifndef COMBOBOXDELEGATE_H
2 #define COMBOBOXDELEGATE_H
3
4 #include <QStyledItemDelegate>
5
6 class QSqlQueryModel;
7
8 class ComboBoxDelegate : public QStyledItemDelegate
9 {
10     Q_OBJECT
11 public:
12     ComboBoxDelegate(
13         QSqlQueryModel *,
14         int cbmodelIdColumn,
15         int cbmodelDisplayColumn,
16         QWidget *parent = 0
17     );
18
19     void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const;
20     //QSize sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const;
21     QWidget* createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const;
22     void setEditorData(QWidget *editor, const QModelIndex &index) const;
23     void setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const;
24
25 private slots:
26     void commitAndCloseEditor(int);
27 private:
28     QSqlQueryModel *cbmodel;
29     int cbmodelIdColumn;
30     int cbmodelDisplayColumn;
31 };
32
33 #endif // COMBOBOXDELEGATE_H