KDEUI
kwidgetitemdelegate.h
Go to the documentation of this file.00001 00022 #ifndef KWIDGETITEMDELEGATE_H 00023 #define KWIDGETITEMDELEGATE_H 00024 00025 #include <QtCore/QEvent> 00026 #include <QtCore/QList> 00027 #include <QtCore/QPersistentModelIndex> 00028 #include <QtGui/QAbstractItemDelegate> 00029 00030 #include <kdeui_export.h> 00031 00032 class QObject; 00033 class QPainter; 00034 class QStyleOption; 00035 class QStyleOptionViewItem; 00036 class QAbstractItemView; 00037 00038 class KWidgetItemDelegatePrivate; 00039 class KWidgetItemDelegatePool; 00040 00048 class KDEUI_EXPORT KWidgetItemDelegate : public QAbstractItemDelegate 00049 { 00050 public: 00057 explicit KWidgetItemDelegate(QAbstractItemView *itemView, QObject *parent = 0); 00058 00062 virtual ~KWidgetItemDelegate(); 00063 00069 QAbstractItemView *itemView() const; 00070 00076 QPersistentModelIndex focusedIndex() const; 00077 00078 protected: 00091 virtual QList<QWidget*> createItemWidgets() const = 0; 00092 00106 virtual void updateItemWidgets(const QList<QWidget*> widgets, 00107 const QStyleOptionViewItem &option, 00108 const QPersistentModelIndex &index) const = 0; 00109 00118 void paintWidgets(QPainter *painter, const QStyleOptionViewItem &option, 00119 const QPersistentModelIndex &index) const; 00120 00130 void setBlockedEventTypes(QWidget *widget, QList<QEvent::Type> types) const; 00131 00139 QList<QEvent::Type> blockedEventTypes(QWidget *widget) const; 00140 00141 private: 00142 //@cond PRIVATE 00143 friend class KWidgetItemDelegatePool; 00144 friend class KWidgetItemDelegatePrivate; 00145 KWidgetItemDelegatePrivate *const d; 00146 //@endcond 00147 }; 00148 00149 #endif