aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick
diff options
context:
space:
mode:
authorLaszlo Agocs <laszlo.agocs@qt.io>2017-03-28 13:19:29 +0200
committerLaszlo Agocs <laszlo.agocs@qt.io>2017-03-30 09:29:19 +0000
commit4cddb73882ed950f652fd1e079bc4cf8ccde93d5 (patch)
tree9861942e82d92641806b2fa296ed151dbe8a3691 /src/quick
parent83fc08cc6faa5f52a010d7bd821c9606f13d5ae9 (diff)
Add a PathItem autotest for the declarative API
Change-Id: I276c185c93122e5eb05ef6678ab62fa6928f2523 Reviewed-by: Andy Nichols <andy.nichols@qt.io>
Diffstat (limited to 'src/quick')
-rw-r--r--src/quick/items/qquickpathitem.cpp20
-rw-r--r--src/quick/items/qquickpathitem_p.h2
2 files changed, 21 insertions, 1 deletions
diff --git a/src/quick/items/qquickpathitem.cpp b/src/quick/items/qquickpathitem.cpp
index b14fc1caba..fff666c205 100644
--- a/src/quick/items/qquickpathitem.cpp
+++ b/src/quick/items/qquickpathitem.cpp
@@ -1155,6 +1155,20 @@ QQuickPathGradient::QQuickPathGradient(QObject *parent)
{
}
+int QQuickPathGradient::countStops(QQmlListProperty<QObject> *list)
+{
+ QQuickPathGradient *grad = qobject_cast<QQuickPathGradient *>(list->object);
+ Q_ASSERT(grad);
+ return grad->m_stops.count();
+}
+
+QObject *QQuickPathGradient::atStop(QQmlListProperty<QObject> *list, int index)
+{
+ QQuickPathGradient *grad = qobject_cast<QQuickPathGradient *>(list->object);
+ Q_ASSERT(grad);
+ return grad->m_stops.at(index);
+}
+
void QQuickPathGradient::appendStop(QQmlListProperty<QObject> *list, QObject *stop)
{
QQuickPathGradientStop *sstop = qobject_cast<QQuickPathGradientStop *>(stop);
@@ -1178,7 +1192,11 @@ void QQuickPathGradient::appendStop(QQmlListProperty<QObject> *list, QObject *st
QQmlListProperty<QObject> QQuickPathGradient::stops()
{
- return QQmlListProperty<QObject>(this, nullptr, &QQuickPathGradient::appendStop, nullptr, nullptr, nullptr);
+ return QQmlListProperty<QObject>(this, nullptr,
+ &QQuickPathGradient::appendStop,
+ &QQuickPathGradient::countStops,
+ &QQuickPathGradient::atStop,
+ nullptr);
}
QGradientStops QQuickPathGradient::sortedGradientStops() const
diff --git a/src/quick/items/qquickpathitem_p.h b/src/quick/items/qquickpathitem_p.h
index 6d789aadbc..37b23dee6f 100644
--- a/src/quick/items/qquickpathitem_p.h
+++ b/src/quick/items/qquickpathitem_p.h
@@ -114,6 +114,8 @@ signals:
void spreadChanged();
private:
+ static int countStops(QQmlListProperty<QObject> *list);
+ static QObject *atStop(QQmlListProperty<QObject> *list, int index);
static void appendStop(QQmlListProperty<QObject> *list, QObject *stop);
QVector<QObject *> m_stops;