1e53762814630ee7d30cefb717cd53fe5360672d
[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(int column,
13         QSqlQueryModel *,
14         int cbmodelIdColumn,
15         int cbmodelDisplayColumn,
16         QWidget *parent = 0);
17
18     void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const;
19     //QSize sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const;
20     QWidget* createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const;
21     void setEditorData(QWidget *editor, const QModelIndex &index) const;
22     void setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const;
23
24 private slots:
25     void commitAndCloseEditor();
26 private:
27     int viewColumn;
28     QSqlQueryModel *cbmodel;
29     int cbmodelIdColumn;
30     int cbmodelDisplayColumn;
31 };
32
33 #endif // COMBOBOXDELEGATE_H