Started implementing a combo box delegate.
[emufront] / src / delegates / comboboxdelegate.h
diff --git a/src/delegates/comboboxdelegate.h b/src/delegates/comboboxdelegate.h
new file mode 100644 (file)
index 0000000..a517a3e
--- /dev/null
@@ -0,0 +1,26 @@
+#ifndef COMBOBOXDELEGATE_H
+#define COMBOBOXDELEGATE_H
+
+#include <QStyledItemDelegate>
+
+class EmuFrontQueryModel;
+
+class ComboBoxDelegate : public QStyledItemDelegate
+{
+    Q_OBJECT
+public:
+    ComboBoxDelegate(int column, EmuFrontQueryModel *, QWidget *parent = 0);
+    void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const;
+    //QSize sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const;
+    QWidget* createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const;
+    void setEditorData(QWidget *editor, const QModelIndex &index) const;
+    void setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const;
+
+private slots:
+    void commitAndCloseEditor();
+private:
+    EmuFrontQueryModel *model;
+    int column;
+};
+
+#endif // COMBOBOXDELEGATE_H