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