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: 00093 virtual QList<QWidget*> createItemWidgets() const = 0; 00094 00108 virtual void updateItemWidgets(const QList<QWidget*> widgets, 00109 const QStyleOptionViewItem &option, 00110 const QPersistentModelIndex &index) const = 0; 00111 00125 #ifndef KDE_NO_DEPRECATED 00126 KDE_DEPRECATED void paintWidgets(QPainter *painter, const QStyleOptionViewItem &option, 00127 const QPersistentModelIndex &index) const; 00128 #endif 00129 00139 void setBlockedEventTypes(QWidget *widget, QList<QEvent::Type> types) const; 00140 00148 QList<QEvent::Type> blockedEventTypes(QWidget *widget) const; 00149 00150 private: 00151 //@cond PRIVATE 00152 friend class KWidgetItemDelegatePool; 00153 friend class KWidgetItemDelegateEventListener; 00154 KWidgetItemDelegatePrivate *const d; 00155 Q_PRIVATE_SLOT(d, void _k_slotRowsInserted(const QModelIndex&,int,int)) 00156 Q_PRIVATE_SLOT(d, void _k_slotRowsAboutToBeRemoved(const QModelIndex&,int,int)) 00157 Q_PRIVATE_SLOT(d, void _k_slotDataChanged(const QModelIndex&,const QModelIndex&)) 00158 Q_PRIVATE_SLOT(d, void _k_slotLayoutChanged()) 00159 Q_PRIVATE_SLOT(d, void _k_slotModelReset()) 00160 //@endcond 00161 }; 00162 00163 #endif
KDE 4.6 API Reference