00001
00002
00003
00004
00005
00006
00007
00008 #ifndef SQLDELEGATE_H
00009 #define SQLDELEGATE_H
00010
00011 #include <QItemDelegate>
00012 #include "ui_sqldelegateui.h"
00013
00014 class QStyleOptionViewItem;
00015 class QAbstractItemModel;
00016 class QModelIndex;
00017
00018
00023 class SqlDelegate : public QItemDelegate
00024 {
00025 Q_OBJECT
00026
00027 public:
00028 SqlDelegate(QObject *parent = 0);
00029 QWidget *createEditor(QWidget *parent, const QStyleOptionViewItem &option,
00030 const QModelIndex &index) const;
00031
00032 void setEditorData(QWidget *editor, const QModelIndex &index) const;
00033 void setModelData(QWidget *editor, QAbstractItemModel *model,
00034 const QModelIndex &index) const;
00035
00036 void updateEditorGeometry(QWidget *editor,
00037 const QStyleOptionViewItem &option, const QModelIndex &index) const;
00038
00039 private slots:
00040 void editor_closeEditor();
00041 };
00042
00043
00055 class SqlDelegateUi : public QWidget, public Ui::SqlDelegateUi
00056 {
00057 Q_OBJECT
00058
00059 public:
00060 SqlDelegateUi(QWidget * parent = 0);
00061
00062 void setSqlData(const QVariant & data);
00063 QVariant sqlData();
00064
00065 signals:
00066 void closeEditor();
00067
00068 private:
00069 QVariant m_sqlData;
00070
00077 void focusInEvent(QFocusEvent *e);
00078
00079 private slots:
00080 void nullButton_clicked(bool);
00081 void editButton_clicked(bool);
00082 void lineEdit_textEdited(const QString &);
00083 };
00084
00085 #endif // LIENEDIT_H