18 :
public QStyledItemDelegate
25 static QModelIndex sourceIndex(
const QModelIndex& index)
noexcept;
29 QWidget* createEditor(
30 QWidget* parent,
const QStyleOptionViewItem& option,
31 const QModelIndex& index)
const override;
32 void setEditorData(QWidget* editor,
const QModelIndex& index)
const override;
33 void setModelData(QWidget* editor, QAbstractItemModel* model,
const QModelIndex& index)
38 void destroyEditor(QWidget* editor,
const QModelIndex& index)
const override;
41 bool owns(QWidget* editor)
const noexcept {
return m_live.contains(editor); }
43 QPainter* painter,
const QStyleOptionViewItem& option,
44 const QModelIndex& index)
const override;
48 QEvent* event, QAbstractItemModel* model,
const QStyleOptionViewItem& option,
49 const QModelIndex& index)
override;
53 void flash(
const QModelIndex& index);
57 void watch(
const QAbstractItemModel* model)
const;
59 mutable QSet<QWidget*> m_live;
60 QPersistentModelIndex m_pressed;
61 mutable QList<QPersistentModelIndex> m_lit;
62 mutable QPointer<QTimer> m_unlit;
63 mutable QPointer<const QAbstractItemModel> m_seen;
64 mutable QPointer<const QAbstractItemModel> m_watched;
65 mutable QMetaObject::Connection m_traffic;
66 mutable QPointer<QWidget> m_surface;
67 void updateEditorGeometry(
68 QWidget* editor,
const QStyleOptionViewItem& option,
69 const QModelIndex& index)
const override;