2013-04-27 12:27:27 -03:00
|
|
|
#ifndef MODELDELEGATES_H
|
|
|
|
#define MODELDELEGATES_H
|
|
|
|
|
2013-05-02 19:27:36 -03:00
|
|
|
#include <QStyledItemDelegate>
|
2013-07-16 15:31:44 -03:00
|
|
|
class QComboBox;
|
2013-04-27 12:27:27 -03:00
|
|
|
|
2013-05-02 19:27:36 -03:00
|
|
|
class StarWidgetsDelegate : public QStyledItemDelegate {
|
2013-04-27 12:27:27 -03:00
|
|
|
Q_OBJECT
|
|
|
|
public:
|
2013-05-22 21:25:05 -07:00
|
|
|
explicit StarWidgetsDelegate(QWidget* parent = 0);
|
|
|
|
virtual void paint(QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index) const;
|
|
|
|
virtual QSize sizeHint(const QStyleOptionViewItem& option, const QModelIndex& index) const;
|
2013-05-02 19:27:36 -03:00
|
|
|
private:
|
|
|
|
QWidget *parentWidget;
|
2013-04-27 12:27:27 -03:00
|
|
|
};
|
2013-05-22 14:11:49 -03:00
|
|
|
|
2013-06-16 10:15:19 -03:00
|
|
|
class ComboBoxDelegate : public QStyledItemDelegate{
|
2013-05-22 14:11:49 -03:00
|
|
|
Q_OBJECT
|
|
|
|
public:
|
2013-06-16 10:15:19 -03:00
|
|
|
explicit ComboBoxDelegate(QAbstractItemModel *model, QObject* parent = 0);
|
2013-05-22 21:25:05 -07:00
|
|
|
virtual QWidget* createEditor(QWidget* parent, const QStyleOptionViewItem& option, const QModelIndex& index) const;
|
2013-05-23 15:33:20 -03:00
|
|
|
virtual void setEditorData(QWidget* editor, const QModelIndex& index) const;
|
2013-06-16 12:33:27 -03:00
|
|
|
virtual void updateEditorGeometry(QWidget* editor, const QStyleOptionViewItem& option, const QModelIndex& index) const;
|
2013-07-16 15:31:44 -03:00
|
|
|
virtual bool eventFilter(QObject* object, QEvent* event);
|
2013-07-16 19:13:58 -03:00
|
|
|
public slots:
|
|
|
|
void testActivation(const QString& s);
|
2013-07-18 11:53:47 -03:00
|
|
|
virtual void revertModelData(QWidget* widget, QAbstractItemDelegate::EndEditHint hint) = 0;
|
2013-06-16 10:15:19 -03:00
|
|
|
protected:
|
|
|
|
QAbstractItemModel *model;
|
|
|
|
};
|
|
|
|
|
|
|
|
class TankInfoDelegate : public ComboBoxDelegate{
|
|
|
|
Q_OBJECT
|
|
|
|
public:
|
|
|
|
explicit TankInfoDelegate(QObject* parent = 0);
|
2013-05-23 15:33:20 -03:00
|
|
|
virtual void setModelData(QWidget* editor, QAbstractItemModel* model, const QModelIndex& index) const;
|
2013-07-18 10:24:02 -03:00
|
|
|
virtual QWidget* createEditor(QWidget* parent, const QStyleOptionViewItem& option, const QModelIndex& index) const;
|
|
|
|
public slots:
|
|
|
|
void revertModelData(QWidget* widget, QAbstractItemDelegate::EndEditHint hint);
|
2013-05-22 14:11:49 -03:00
|
|
|
};
|
|
|
|
|
2013-06-16 10:15:19 -03:00
|
|
|
class WSInfoDelegate : public ComboBoxDelegate{
|
2013-05-23 18:40:16 -07:00
|
|
|
Q_OBJECT
|
|
|
|
public:
|
|
|
|
explicit WSInfoDelegate(QObject* parent = 0);
|
|
|
|
virtual void setModelData(QWidget* editor, QAbstractItemModel* model, const QModelIndex& index) const;
|
2013-07-18 10:24:02 -03:00
|
|
|
virtual QWidget* createEditor(QWidget* parent, const QStyleOptionViewItem& option, const QModelIndex& index) const;
|
2013-07-18 11:53:47 -03:00
|
|
|
public slots:
|
|
|
|
void revertModelData(QWidget* widget, QAbstractItemDelegate::EndEditHint hint);
|
2013-05-23 18:40:16 -07:00
|
|
|
};
|
|
|
|
|
2013-08-30 07:14:30 -03:00
|
|
|
class AirTypesDelegate : public ComboBoxDelegate{
|
|
|
|
Q_OBJECT
|
|
|
|
public:
|
|
|
|
explicit AirTypesDelegate(QObject* parent = 0);
|
|
|
|
virtual void setModelData(QWidget* editor, QAbstractItemModel* model, const QModelIndex& index) const;
|
|
|
|
public slots:
|
|
|
|
void revertModelData(QWidget* widget, QAbstractItemDelegate::EndEditHint hint);
|
|
|
|
};
|
|
|
|
|
2013-04-27 12:27:27 -03:00
|
|
|
#endif
|