Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-09-18 09:27:01

0001 // Copyright (C) 2016 The Qt Company Ltd.
0002 // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
0003 // Qt-Security score:significant reason:default
0004 
0005 #ifndef QSTYLEDITEMDELEGATE_H
0006 #define QSTYLEDITEMDELEGATE_H
0007 
0008 #include <QtWidgets/qtwidgetsglobal.h>
0009 #include <QtWidgets/qabstractitemdelegate.h>
0010 #include <QtCore/qstring.h>
0011 #include <QtGui/qpixmap.h>
0012 #include <QtCore/qvariant.h>
0013 
0014 QT_REQUIRE_CONFIG(itemviews);
0015 
0016 QT_BEGIN_NAMESPACE
0017 
0018 class QStyledItemDelegatePrivate;
0019 class QItemEditorFactory;
0020 
0021 class Q_WIDGETS_EXPORT QStyledItemDelegate : public QAbstractItemDelegate
0022 {
0023     Q_OBJECT
0024 
0025 public:
0026     explicit QStyledItemDelegate(QObject *parent = nullptr);
0027     ~QStyledItemDelegate();
0028 
0029     // painting
0030     void paint(QPainter *painter,
0031                const QStyleOptionViewItem &option, const QModelIndex &index) const override;
0032     QSize sizeHint(const QStyleOptionViewItem &option,
0033                    const QModelIndex &index) const override;
0034 
0035     // editing
0036     QWidget *createEditor(QWidget *parent,
0037                           const QStyleOptionViewItem &option,
0038                           const QModelIndex &index) const override;
0039 
0040     void setEditorData(QWidget *editor, const QModelIndex &index) const override;
0041     void setModelData(QWidget *editor,
0042                       QAbstractItemModel *model,
0043                       const QModelIndex &index) const override;
0044 
0045     void updateEditorGeometry(QWidget *editor,
0046                               const QStyleOptionViewItem &option,
0047                               const QModelIndex &index) const override;
0048 
0049     // editor factory
0050     QItemEditorFactory *itemEditorFactory() const;
0051     void setItemEditorFactory(QItemEditorFactory *factory);
0052 
0053     virtual QString displayText(const QVariant &value, const QLocale &locale) const;
0054 
0055 protected:
0056     virtual void initStyleOption(QStyleOptionViewItem *option,
0057                                 const QModelIndex &index) const;
0058 
0059     bool eventFilter(QObject *object, QEvent *event) override;
0060     bool editorEvent(QEvent *event, QAbstractItemModel *model,
0061                      const QStyleOptionViewItem &option, const QModelIndex &index) override;
0062 
0063 private:
0064     Q_DECLARE_PRIVATE(QStyledItemDelegate)
0065     Q_DISABLE_COPY(QStyledItemDelegate)
0066 };
0067 
0068 QT_END_NAMESPACE
0069 
0070 #endif // QSTYLEDITEMDELEGATE_H