summaryrefslogtreecommitdiffstats
path: root/src/qgraphicslistview.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/qgraphicslistview.h')
-rw-r--r--src/qgraphicslistview.h22
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