summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKai Koehne <kai.koehne@nokia.com>2009-08-25 10:41:25 (GMT)
committerKai Koehne <kai.koehne@nokia.com>2009-08-25 10:41:25 (GMT)
commit6c00c0208e099fbc583c08a159f0530bf4be198c (patch)
tree0401f22f77c66fdacc346c18e9b35949883f8b68
parent55863a42d80af8f1d8f35e7f43d0171d7f0e9b79 (diff)
parent430e8577845e7722bf8397ce5b37dd83f5de1b2e (diff)
downloadQt-6c00c0208e099fbc583c08a159f0530bf4be198c.zip
Qt-6c00c0208e099fbc583c08a159f0530bf4be198c.tar.gz
Qt-6c00c0208e099fbc583c08a159f0530bf4be198c.tar.bz2
Merge branch 'kinetic-declarativeui' of git@scm.dev.nokia.troll.no:qt/kinetic into kinetic-declarativeui
-rw-r--r--src/declarative/qml/qmlvaluetype.cpp81
-rw-r--r--src/declarative/qml/qmlvaluetype_p.h18
-rw-r--r--src/gui/math3d/qvector3d.cpp8
-rw-r--r--src/gui/math3d/qvector3d.h2
4 files changed, 109 insertions, 0 deletions
diff --git a/src/declarative/qml/qmlvaluetype.cpp b/src/declarative/qml/qmlvaluetype.cpp
index 7af3c56..4ae2070 100644
--- a/src/declarative/qml/qmlvaluetype.cpp
+++ b/src/declarative/qml/qmlvaluetype.cpp
@@ -103,6 +103,16 @@ void QmlPointFValueType::write(QObject *obj, int idx)
QMetaObject::metacall(obj, QMetaObject::WriteProperty, idx, a);
}
+QVariant QmlPointFValueType::value()
+{
+ return QVariant(point);
+}
+
+void QmlPointFValueType::setValue(QVariant value)
+{
+ point = qvariant_cast<QPointF>(value);
+}
+
qreal QmlPointFValueType::x() const
{
return point.x();
@@ -140,6 +150,16 @@ void QmlPointValueType::write(QObject *obj, int idx)
QMetaObject::metacall(obj, QMetaObject::WriteProperty, idx, a);
}
+QVariant QmlPointValueType::value()
+{
+ return QVariant(point);
+}
+
+void QmlPointValueType::setValue(QVariant value)
+{
+ point = qvariant_cast<QPoint>(value);
+}
+
int QmlPointValueType::x() const
{
return point.x();
@@ -177,6 +197,16 @@ void QmlSizeFValueType::write(QObject *obj, int idx)
QMetaObject::metacall(obj, QMetaObject::WriteProperty, idx, a);
}
+QVariant QmlSizeFValueType::value()
+{
+ return QVariant(size);
+}
+
+void QmlSizeFValueType::setValue(QVariant value)
+{
+ size = qvariant_cast<QSizeF>(value);
+}
+
qreal QmlSizeFValueType::width() const
{
return size.width();
@@ -214,6 +244,16 @@ void QmlSizeValueType::write(QObject *obj, int idx)
QMetaObject::metacall(obj, QMetaObject::WriteProperty, idx, a);
}
+QVariant QmlSizeValueType::value()
+{
+ return QVariant(size);
+}
+
+void QmlSizeValueType::setValue(QVariant value)
+{
+ size = qvariant_cast<QSize>(value);
+}
+
int QmlSizeValueType::width() const
{
return size.width();
@@ -251,6 +291,16 @@ void QmlRectFValueType::write(QObject *obj, int idx)
QMetaObject::metacall(obj, QMetaObject::WriteProperty, idx, a);
}
+QVariant QmlRectFValueType::value()
+{
+ return QVariant(rect);
+}
+
+void QmlRectFValueType::setValue(QVariant value)
+{
+ rect = qvariant_cast<QRectF>(value);
+}
+
qreal QmlRectFValueType::x() const
{
return rect.x();
@@ -308,6 +358,16 @@ void QmlRectValueType::write(QObject *obj, int idx)
QMetaObject::metacall(obj, QMetaObject::WriteProperty, idx, a);
}
+QVariant QmlRectValueType::value()
+{
+ return QVariant(rect);
+}
+
+void QmlRectValueType::setValue(QVariant value)
+{
+ rect = qvariant_cast<QRect>(value);
+}
+
int QmlRectValueType::x() const
{
return rect.x();
@@ -365,6 +425,16 @@ void QmlVector3DValueType::write(QObject *obj, int idx)
QMetaObject::metacall(obj, QMetaObject::WriteProperty, idx, a);
}
+QVariant QmlVector3DValueType::value()
+{
+ return QVariant(vector);
+}
+
+void QmlVector3DValueType::setValue(QVariant value)
+{
+ vector = qvariant_cast<QVector3D>(value);
+}
+
qreal QmlVector3DValueType::x() const
{
return vector.x();
@@ -412,6 +482,17 @@ void QmlFontValueType::write(QObject *obj, int idx)
QMetaObject::metacall(obj, QMetaObject::WriteProperty, idx, a);
}
+QVariant QmlFontValueType::value()
+{
+ return QVariant(font);
+}
+
+void QmlFontValueType::setValue(QVariant value)
+{
+ font = qvariant_cast<QFont>(value);
+}
+
+
QString QmlFontValueType::family() const
{
return font.family();
diff --git a/src/declarative/qml/qmlvaluetype_p.h b/src/declarative/qml/qmlvaluetype_p.h
index 7a3620c..a56feec 100644
--- a/src/declarative/qml/qmlvaluetype_p.h
+++ b/src/declarative/qml/qmlvaluetype_p.h
@@ -68,6 +68,8 @@ public:
QmlValueType(QObject *parent = 0);
virtual void read(QObject *, int) = 0;
virtual void write(QObject *, int) = 0;
+ virtual QVariant value() = 0;
+ virtual void setValue(QVariant) = 0;
};
class QmlValueTypeFactory
@@ -91,6 +93,8 @@ public:
virtual void read(QObject *, int);
virtual void write(QObject *, int);
+ virtual QVariant value();
+ virtual void setValue(QVariant value);
qreal x() const;
qreal y() const;
@@ -111,6 +115,8 @@ public:
virtual void read(QObject *, int);
virtual void write(QObject *, int);
+ virtual QVariant value();
+ virtual void setValue(QVariant value);
int x() const;
int y() const;
@@ -131,6 +137,8 @@ public:
virtual void read(QObject *, int);
virtual void write(QObject *, int);
+ virtual QVariant value();
+ virtual void setValue(QVariant value);
qreal width() const;
qreal height() const;
@@ -151,6 +159,8 @@ public:
virtual void read(QObject *, int);
virtual void write(QObject *, int);
+ virtual QVariant value();
+ virtual void setValue(QVariant value);
int width() const;
int height() const;
@@ -173,6 +183,8 @@ public:
virtual void read(QObject *, int);
virtual void write(QObject *, int);
+ virtual QVariant value();
+ virtual void setValue(QVariant value);
qreal x() const;
qreal y() const;
@@ -200,6 +212,8 @@ public:
virtual void read(QObject *, int);
virtual void write(QObject *, int);
+ virtual QVariant value();
+ virtual void setValue(QVariant value);
int x() const;
int y() const;
@@ -226,6 +240,8 @@ public:
virtual void read(QObject *, int);
virtual void write(QObject *, int);
+ virtual QVariant value();
+ virtual void setValue(QVariant value);
qreal x() const;
qreal y() const;
@@ -252,6 +268,8 @@ public:
virtual void read(QObject *, int);
virtual void write(QObject *, int);
+ virtual QVariant value();
+ virtual void setValue(QVariant value);
QString family() const;
void setFamily(const QString &);
diff --git a/src/gui/math3d/qvector3d.cpp b/src/gui/math3d/qvector3d.cpp
index 0e3f4e1..63fda09 100644
--- a/src/gui/math3d/qvector3d.cpp
+++ b/src/gui/math3d/qvector3d.cpp
@@ -282,6 +282,14 @@ void QVector3D::normalize()
*/
/*!
+ Returns the vector as a QVariant
+*/
+QVector3D::operator QVariant () const
+{
+ return QVariant(QVariant::Vector3D, this);
+}
+
+/*!
Returns the dot product of \a v1 and \a v2.
*/
qreal QVector3D::dotProduct(const QVector3D& v1, const QVector3D& v2)
diff --git a/src/gui/math3d/qvector3d.h b/src/gui/math3d/qvector3d.h
index 36292d2..b625946 100644
--- a/src/gui/math3d/qvector3d.h
+++ b/src/gui/math3d/qvector3d.h
@@ -95,6 +95,8 @@ public:
QVector3D &operator*=(const QVector3D& vector);
QVector3D &operator/=(qreal divisor);
+ operator QVariant() const;
+
static qreal dotProduct(const QVector3D& v1, const QVector3D& v2);
static QVector3D crossProduct(const QVector3D& v1, const QVector3D& v2);
static QVector3D normal(const QVector3D& v1, const QVector3D& v2);