mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
Adds spport for key_up and key_down in the combobox delegates, now when you press key_up or down, it will show the list of choices instead of going one-by-one in the lineedit. Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org>
44 lines
1.5 KiB
C++
44 lines
1.5 KiB
C++
#ifndef MODELDELEGATES_H
|
|
#define MODELDELEGATES_H
|
|
|
|
#include <QStyledItemDelegate>
|
|
class QComboBox;
|
|
|
|
class StarWidgetsDelegate : public QStyledItemDelegate {
|
|
Q_OBJECT
|
|
public:
|
|
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;
|
|
private:
|
|
QWidget *parentWidget;
|
|
};
|
|
|
|
class ComboBoxDelegate : public QStyledItemDelegate{
|
|
Q_OBJECT
|
|
public:
|
|
explicit ComboBoxDelegate(QAbstractItemModel *model, QObject* parent = 0);
|
|
virtual QWidget* createEditor(QWidget* parent, const QStyleOptionViewItem& option, const QModelIndex& index) const;
|
|
virtual void setEditorData(QWidget* editor, const QModelIndex& index) const;
|
|
virtual void updateEditorGeometry(QWidget* editor, const QStyleOptionViewItem& option, const QModelIndex& index) const;
|
|
virtual bool eventFilter(QObject* object, QEvent* event);
|
|
protected:
|
|
QAbstractItemModel *model;
|
|
QComboBox *comboBox; // warning - it's null everytime a edit's finished.
|
|
};
|
|
|
|
class TankInfoDelegate : public ComboBoxDelegate{
|
|
Q_OBJECT
|
|
public:
|
|
explicit TankInfoDelegate(QObject* parent = 0);
|
|
virtual void setModelData(QWidget* editor, QAbstractItemModel* model, const QModelIndex& index) const;
|
|
};
|
|
|
|
class WSInfoDelegate : public ComboBoxDelegate{
|
|
Q_OBJECT
|
|
public:
|
|
explicit WSInfoDelegate(QObject* parent = 0);
|
|
virtual void setModelData(QWidget* editor, QAbstractItemModel* model, const QModelIndex& index) const;
|
|
};
|
|
|
|
#endif
|