mirror of
				https://github.com/subsurface/subsurface.git
				synced 2025-02-19 22:16:15 +00:00 
			
		
		
		
	This reverts commit1c4a859c8d, where the override modifiers were removed owing to the noisy "inconsistent override modifiers" which is default-on in clang. This warning was disabled in77577f717f, so we can reinstate the overrides. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
		
			
				
	
	
		
			135 lines
		
	
	
	
		
			4.7 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			135 lines
		
	
	
	
		
			4.7 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| // SPDX-License-Identifier: GPL-2.0
 | |
| #ifndef MODELDELEGATES_H
 | |
| #define MODELDELEGATES_H
 | |
| 
 | |
| #include <QStyledItemDelegate>
 | |
| #include <QComboBox>
 | |
| class QPainter;
 | |
| 
 | |
| class DiveListDelegate : public QStyledItemDelegate {
 | |
| public:
 | |
| 	explicit DiveListDelegate(QObject *parent = 0)
 | |
| 	    : QStyledItemDelegate(parent)
 | |
| 	{
 | |
| 	}
 | |
| 	QSize sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const;
 | |
| };
 | |
| 
 | |
| class StarWidgetsDelegate : public QStyledItemDelegate {
 | |
| 	Q_OBJECT
 | |
| public:
 | |
| 	explicit StarWidgetsDelegate(QWidget *parent = 0);
 | |
| 	void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const override;
 | |
| 	QSize sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const override;
 | |
| 	const QSize& starSize() const;
 | |
| 
 | |
| private:
 | |
| 	QWidget *parentWidget;
 | |
| 	QSize minStarSize;
 | |
| };
 | |
| 
 | |
| class ComboBoxDelegate : public QStyledItemDelegate {
 | |
| 	Q_OBJECT
 | |
| public:
 | |
| 	explicit ComboBoxDelegate(QAbstractItemModel *model, QObject *parent = 0, bool allowEdit = true);
 | |
| 	QWidget *createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const override;
 | |
| 	void setEditorData(QWidget *editor, const QModelIndex &index) const override;
 | |
| 	void updateEditorGeometry(QWidget *editor, const QStyleOptionViewItem &option, const QModelIndex &index) const override;
 | |
| 	bool eventFilter(QObject *object, QEvent *event) override;
 | |
| public
 | |
| slots:
 | |
| 	void testActivation(const QString &currString = QString());
 | |
| 	void testActivation(const QModelIndex &currIndex);
 | |
| 	//HACK: try to get rid of this in the future.
 | |
| 	void fakeActivation();
 | |
| 	void fixTabBehavior();
 | |
| 	virtual void revertModelData(QWidget *widget, QAbstractItemDelegate::EndEditHint hint) = 0;
 | |
| private:
 | |
| 	bool editable;
 | |
| protected:
 | |
| 	QAbstractItemModel *model;
 | |
| };
 | |
| 
 | |
| class TankInfoDelegate : public ComboBoxDelegate {
 | |
| 	Q_OBJECT
 | |
| public:
 | |
| 	explicit TankInfoDelegate(QObject *parent = 0);
 | |
| 	void setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const override;
 | |
| 	QWidget *createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const override;
 | |
| public
 | |
| slots:
 | |
| 	void revertModelData(QWidget *widget, QAbstractItemDelegate::EndEditHint hint);
 | |
| 	void reenableReplot(QWidget *widget, QAbstractItemDelegate::EndEditHint hint);
 | |
| };
 | |
| 
 | |
| class TankUseDelegate : public QStyledItemDelegate {
 | |
| 	Q_OBJECT
 | |
| public:
 | |
| 	explicit TankUseDelegate(QObject *parent = 0);
 | |
| 	void setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const override;
 | |
| 	QWidget *createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const override;
 | |
| 	void setEditorData(QWidget * editor, const QModelIndex & index) const override;
 | |
| };
 | |
| 
 | |
| class WSInfoDelegate : public ComboBoxDelegate {
 | |
| 	Q_OBJECT
 | |
| public:
 | |
| 	explicit WSInfoDelegate(QObject *parent = 0);
 | |
| 	void setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const override;
 | |
| 	QWidget *createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const override;
 | |
| public
 | |
| slots:
 | |
| 	void revertModelData(QWidget *widget, QAbstractItemDelegate::EndEditHint hint);
 | |
| };
 | |
| 
 | |
| class AirTypesDelegate : public ComboBoxDelegate {
 | |
| 	Q_OBJECT
 | |
| public:
 | |
| 	explicit AirTypesDelegate(QObject *parent = 0);
 | |
| 	void setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const override;
 | |
| public
 | |
| slots:
 | |
| 	void revertModelData(QWidget *widget, QAbstractItemDelegate::EndEditHint hint);
 | |
| };
 | |
| 
 | |
| class DiveTypesDelegate : public ComboBoxDelegate {
 | |
| 	Q_OBJECT
 | |
| public:
 | |
| 	explicit DiveTypesDelegate(QObject *parent = 0);
 | |
| 	void setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const override;
 | |
| public
 | |
| slots:
 | |
| 	void revertModelData(QWidget *widget, QAbstractItemDelegate::EndEditHint hint);
 | |
| };
 | |
| 
 | |
| class SpinBoxDelegate : public QStyledItemDelegate {
 | |
| 	Q_OBJECT
 | |
| public:
 | |
| 	SpinBoxDelegate(int min, int max, int step, QObject *parent = 0);
 | |
| 	QWidget *createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const override;
 | |
| private:
 | |
| 	int min;
 | |
| 	int max;
 | |
| 	int step;
 | |
| };
 | |
| 
 | |
| class DoubleSpinBoxDelegate : public QStyledItemDelegate {
 | |
| 	Q_OBJECT
 | |
| public:
 | |
| 	DoubleSpinBoxDelegate(double min, double max, double step, QObject *parent = 0);
 | |
| 	QWidget *createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const override;
 | |
| private:
 | |
| 	double min;
 | |
| 	double max;
 | |
| 	double step;
 | |
| };
 | |
| 
 | |
| class LocationFilterDelegate : public QStyledItemDelegate {
 | |
| 	Q_OBJECT
 | |
| public:
 | |
| 	LocationFilterDelegate(QObject *parent = 0);
 | |
| 	void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const override;
 | |
| 	QSize sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const override;
 | |
| };
 | |
| 
 | |
| #endif // MODELDELEGATES_H
 |