File indexing completed on 2023-05-30 10:45:26

0001 /*
0002     SPDX-FileCopyrightText: 2006-2010 Peter Hedlund <peter.hedlund@kdemail.net>
0003     SPDX-License-Identifier: GPL-2.0-or-later
0004 */
0005 
0006 #ifndef KWQTABLEDELEGATE_H
0007 #define KWQTABLEDELEGATE_H
0008 
0009 #include <QItemDelegate>
0010 
0011 /**
0012   @author Peter Hedlund <peter.hedlund@kdemail.net>
0013 */
0014 
0015 class KWQTableDelegate : public QItemDelegate
0016 {
0017   Q_OBJECT
0018   public:
0019     explicit KWQTableDelegate(QObject *parent = nullptr);
0020 
0021     QWidget * createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const override;
0022 
0023     void setEditorData(QWidget *editor, const QModelIndex &index) const override;
0024     void setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const override;
0025 
0026     void updateEditorGeometry(QWidget *editor, const QStyleOptionViewItem &option, const QModelIndex &index) const override;
0027     void paint(QPainter * painter, const QStyleOptionViewItem & option, const QModelIndex & index) const override;
0028 
0029   protected:
0030     void drawDisplay(QPainter *painter, const QStyleOptionViewItem &option, const QRect &rect, const QString &text) const override;
0031     void drawFocus(QPainter *painter, const QStyleOptionViewItem &option, const QRect &rect) const override;
0032     void drawDecoration(QPainter *painter, const QStyleOptionViewItem &option, const QRect &rect, const QPixmap &pixmap ) const override;
0033 
0034   private Q_SLOTS:
0035     void commitAndCloseEditor();
0036 };
0037 
0038 #endif