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 Q_OBJECT 00051 00052 public: 00059 explicit KWidgetItemDelegate(QAbstractItemView *itemView, QObject *parent = 0); 00060 00064 virtual ~KWidgetItemDelegate(); 00065 00071 QAbstractItemView *itemView() const; 00072 00078 QPersistentModelIndex focusedIndex() const; 00079 00080 protected: 00098 virtual QList<QWidget*> createItemWidgets() const = 0; 00099 00113 virtual void updateItemWidgets(const QList<QWidget*> widgets, 00114 const QStyleOptionViewItem &option, 00115 const QPersistentModelIndex &index) const = 0; 00116 00130 #ifndef KDE_NO_DEPRECATED 00131 KDE_DEPRECATED void paintWidgets(QPainter *painter, const QStyleOptionViewItem &option, 00132 const QPersistentModelIndex &index) const; 00133 #endif 00134 00144 void setBlockedEventTypes(QWidget *widget, QList<QEvent::Type> types) const; 00145 00153 QList<QEvent::Type> blockedEventTypes(QWidget *widget) const; 00154 00155 private: 00156 //@cond PRIVATE 00157 friend class KWidgetItemDelegatePool; 00158 friend class KWidgetItemDelegateEventListener; 00159 KWidgetItemDelegatePrivate *const d; 00160 Q_PRIVATE_SLOT(d, void _k_slotRowsInserted(const QModelIndex&,int,int)) 00161 Q_PRIVATE_SLOT(d, void _k_slotRowsAboutToBeRemoved(const QModelIndex&,int,int)) 00162 Q_PRIVATE_SLOT(d, void _k_slotRowsRemoved(const QModelIndex&,int,int)) 00163 Q_PRIVATE_SLOT(d, void _k_slotDataChanged(const QModelIndex&,const QModelIndex&)) 00164 Q_PRIVATE_SLOT(d, void _k_slotLayoutChanged()) 00165 Q_PRIVATE_SLOT(d, void _k_slotModelReset()) 00166 //@endcond 00167 }; 00168 00169 #endif
KDE 4.7 API Reference