diff options
Diffstat (limited to 'src/qgraphicslistview.h')
-rw-r--r-- | src/qgraphicslistview.h | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/src/qgraphicslistview.h b/src/qgraphicslistview.h index 5e2d3a1..67f1ff1 100644 --- a/src/qgraphicslistview.h +++ b/src/qgraphicslistview.h @@ -46,6 +46,7 @@ class QtGraphicsListView; class Q_ITEMVIEWSNG_EXPORT QtGraphicsListViewItem : public QGraphicsWidget { + Q_OBJECT public: QtGraphicsListViewItem(int index, QtGraphicsListView *view); virtual ~QtGraphicsListViewItem(); @@ -78,7 +79,8 @@ class Q_ITEMVIEWSNG_EXPORT QtGraphicsListViewItemCreatorBase public: virtual ~QtGraphicsListViewItemCreatorBase(); virtual QGraphicsObject *create(int index, QtGraphicsListView *view) = 0; - virtual QGraphicsObject *reassign(int index, QGraphicsObject *item, QtGraphicsListView *view); + virtual QGraphicsObject *reassign(int index, QGraphicsObject *item, QtGraphicsListView *view) = 0; + virtual void update(int index, QGraphicsObject *item, const QList<int> &roles); virtual void recycle(QGraphicsObject *item); }; @@ -87,6 +89,17 @@ class Q_ITEMVIEWSNG_EXPORT QtGraphicsListViewItemCreator : public QtGraphicsList { public: inline QGraphicsObject *create(int index, QtGraphicsListView *view) { return new T(index, view); } + inline QGraphicsObject *reassign(int index, QGraphicsObject *item, QtGraphicsListView *view) + { + Q_UNUSED(view); + static_cast<T*>(item)->setIndex(index); + return item; + } + inline void update(int index, QGraphicsObject *item, const QList<int> &roles) + { + Q_UNUSED(index); + static_cast<T*>(item)->itemChanged(roles); + } }; class Q_ITEMVIEWSNG_EXPORT QtGraphicsListView : public QGraphicsWidget @@ -96,6 +109,7 @@ class Q_ITEMVIEWSNG_EXPORT QtGraphicsListView : public QGraphicsWidget Q_PROPERTY(Qt::TextElideMode textElideMode READ textElideMode WRITE setTextElideMode) Q_PROPERTY(int firstIndex READ firstIndex WRITE setFirstIndex) Q_PROPERTY(qreal offset READ offset WRITE setOffset) + Q_PROPERTY(QGraphicsObject* highlight READ highlight WRITE setHighlight) public: QtGraphicsListView(Qt::Orientation orientation = Qt::Vertical, QGraphicsWidget *parent = 0, Qt::WindowFlags wFlags = 0); @@ -118,6 +132,9 @@ public: int firstIndex() const; qreal offset() const; + QGraphicsObject *highlight() const; + void setHighlight(QGraphicsObject *highlight); + virtual int maximumFirstIndex() const; virtual qreal maximumOffset() const; @@ -154,8 +171,6 @@ protected: virtual bool event(QEvent *event); virtual QVariant itemChange(GraphicsItemChange change, const QVariant &value); - QVariant cachedData(int index, int role) const; - QtGraphicsListViewPrivate *d_ptr; private: @@ -171,6 +186,7 @@ private: Q_PRIVATE_SLOT(d_func(), void _q_itemsInserted(int index, int count)) Q_PRIVATE_SLOT(d_func(), void _q_itemsRemoved(int index, int count)) Q_PRIVATE_SLOT(d_func(), void _q_selectionsChanged(const QtListSelectionChange &change)) + Q_PRIVATE_SLOT(d_func(), void _q_currentChanged(int current, int previous)) }; QT_END_NAMESPACE |