Add QPolygonF to metatype system.
authorJędrzej Nowacki <jedrzej.nowacki@nokia.com>
Wed, 26 Oct 2011 11:48:40 +0000 (13:48 +0200)
committerQt by Nokia <qt-info@nokia.com>
Wed, 9 Nov 2011 09:12:18 +0000 (10:12 +0100)
That was strange that QPolygon was know to QMetaType class but QPolygonF
not.

Change-Id: I67bb99644b8b1d0fe1aec730619d8048cb78219b
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
src/corelib/kernel/qmetatype.cpp
src/corelib/kernel/qmetatype.h
src/corelib/kernel/qvariant.h
src/gui/kernel/qguivariant.cpp
tests/auto/corelib/kernel/qvariant/tst_qvariant.cpp

index e462be5..f7ce4f1 100644 (file)
@@ -142,6 +142,7 @@ QT_BEGIN_NAMESPACE
     \value QTime QTime
     \value QVariantList QVariantList
     \value QPolygon QPolygon
+    \value QPolygonF QPolygonF
     \value QColor QColor
     \value QSizeF QSizeF
     \value QRectF QRectF
@@ -293,6 +294,7 @@ static const struct { const char * typeName; int typeNameLength; int type; } typ
     QT_ADD_STATIC_METATYPE("QVector3D", QMetaType::QVector3D),
     QT_ADD_STATIC_METATYPE("QVector4D", QMetaType::QVector4D),
     QT_ADD_STATIC_METATYPE("QQuaternion", QMetaType::QQuaternion),
+    QT_ADD_STATIC_METATYPE("QPolygonF", QMetaType::QPolygonF),
 
     /* All Widgets types */
     QT_ADD_STATIC_METATYPE("QIcon", QMetaType::QIcon),
@@ -786,6 +788,7 @@ bool QMetaType::save(QDataStream &stream, int type, const void *data)
     case QMetaType::QPalette:
     case QMetaType::QImage:
     case QMetaType::QPolygon:
+    case QMetaType::QPolygonF:
     case QMetaType::QRegion:
     case QMetaType::QBitmap:
     case QMetaType::QCursor:
@@ -992,6 +995,7 @@ bool QMetaType::load(QDataStream &stream, int type, void *data)
     case QMetaType::QPalette:
     case QMetaType::QImage:
     case QMetaType::QPolygon:
+    case QMetaType::QPolygonF:
     case QMetaType::QRegion:
     case QMetaType::QBitmap:
     case QMetaType::QCursor:
index 23f35ce..7dacc83 100644 (file)
@@ -135,6 +135,7 @@ QT_MODULE(Core)
     F(QVector3D, 82, QVector3D) \
     F(QVector4D, 83, QVector4D) \
     F(QQuaternion, 84, QQuaternion) \
+    F(QPolygonF, 85, QPolygonF) \
 
 #define QT_FOR_EACH_STATIC_WIDGETS_CLASS(F)\
     F(QIcon, 120, QIcon) \
@@ -185,7 +186,7 @@ public:
 
         LastCoreType = QEasingCurve,
         FirstGuiType = QFont,
-        LastGuiType = QQuaternion,
+        LastGuiType = QPolygonF,
         FirstWidgetsType = QIcon,
         LastWidgetsType = QSizePolicy,
         FirstCoreExtType = VoidStar,
index ee1a2ad..ea333c1 100644 (file)
@@ -148,7 +148,8 @@ class Q_CORE_EXPORT QVariant
         Vector3D = 82,
         Vector4D = 83,
         Quaternion = 84,
-        LastGuiType = Quaternion,
+        PolygonF = 85,
+        LastGuiType = PolygonF,
 
         Icon = 120,
         SizePolicy = 121,
index 2bb7524..78d431f 100644 (file)
@@ -549,6 +549,7 @@ Q_DECL_METATYPE_HELPER(QVector4D)
 #ifndef QT_NO_QUATERNION
 Q_DECL_METATYPE_HELPER(QQuaternion)
 #endif
+Q_DECL_METATYPE_HELPER(QPolygonF)
 
 #ifdef QT_NO_DATASTREAM
 #  define Q_IMPL_METATYPE_HELPER(TYPE) \
@@ -616,10 +617,11 @@ static const QMetaTypeGuiHelper qVariantGuiHelper[] = {
     {0, 0, 0, 0, 0, 0, 0},
 #endif
 #ifndef QT_NO_QUATERNION
-    Q_IMPL_METATYPE_HELPER(QQuaternion)
+    Q_IMPL_METATYPE_HELPER(QQuaternion),
 #else
-    {0, 0, 0, 0, 0, 0, 0}
+    {0, 0, 0, 0, 0, 0, 0},
 #endif
+    Q_IMPL_METATYPE_HELPER(QPolygonF)
 };
 
 static const QVariant::Handler *qt_guivariant_last_handler = 0;
index 21bdfa7..6ec7dd3 100644 (file)
@@ -1914,7 +1914,7 @@ void tst_QVariant::typeToName()
     QCOMPARE( QVariant::typeToName( v.type() ), (const char*)0 ); // Invalid
     // assumes that QVariant::Type contains consecutive values
 
-    int max = QVariant::Quaternion;
+    int max = QVariant::LastGuiType;
     for ( int t = 1; t <= max; t++ ) {
         const char *n = QVariant::typeToName( (QVariant::Type)t );
         if (n)