From 89d4d9dde80af3928761620ef73d1faac6fa9054 Mon Sep 17 00:00:00 2001 From: Ivailo Monev Date: Sun, 22 Dec 2019 01:52:45 +0000 Subject: [PATCH] make QMetaType::Float core type and reorder enums while at it Signed-off-by: Ivailo Monev asd --- src/core/kernel/qmetatype.cpp | 99 +++++++++++++++++++++---------------------- src/core/kernel/qmetatype.h | 29 ++++++------- src/core/kernel/qvariant.cpp | 4 +- 3 files changed, 65 insertions(+), 67 deletions(-) diff --git a/src/core/kernel/qmetatype.cpp b/src/core/kernel/qmetatype.cpp index 9cc862fbe..26cd8cc93 100644 --- a/src/core/kernel/qmetatype.cpp +++ b/src/core/kernel/qmetatype.cpp @@ -115,60 +115,54 @@ QT_BEGIN_NAMESPACE \value Bool \c bool \value Int \c int \value UInt \c{unsigned int} + \value LongLong LongLong + \value ULongLong ULongLong \value Double \c double + \value Float \c float \value QChar QChar \value QString QString + \value QStringList QStringList \value QByteArray QByteArray - - \value VoidStar \c{void *} - \value Long \c{long} - \value LongLong LongLong - \value Short \c{short} - \value Char \c{char} - \value ULong \c{unsigned long} - \value ULongLong ULongLong - \value UShort \c{unsigned short} - \value UChar \c{unsigned char} - \value Float \c float - \value QObjectStar QObject * - \value QWidgetStar QWidget * - \value QVariant QVariant - - \value QCursor QCursor + \value QBitArray QBitArray \value QDate QDate - \value QSize QSize \value QTime QTime - \value QVariantList QVariantList - \value QPolygon QPolygon - \value QColor QColor - \value QSizeF QSizeF + \value QDateTime QDateTime + \value QUrl QUrl + \value QLocale QLocale + \value QRect QRect \value QRectF QRectF + \value QSize QSize + \value QSizeF QSizeF \value QLine QLine - \value QTextLength QTextLength - \value QStringList QStringList - \value QVariantMap QVariantMap - \value QVariantHash QVariantHash - \value QIcon QIcon - \value QPen QPen \value QLineF QLineF - \value QTextFormat QTextFormat - \value QRect QRect \value QPoint QPoint - \value QUrl QUrl - \value QRegExp QRegExp - \value QDateTime QDateTime \value QPointF QPointF - \value QPalette QPalette + \value QRegExp QRegExp + \value QEasingCurve QEasingCurve + \value QJsonValue QJsonValue + \value QJsonObject QJsonObject + \value QJsonArray QJsonArray + \value QJsonDocument QJsonDocument + \value QVariantHash QVariantHash + \value QVariantList QVariantList + \value QVariantMap QVariantMap + \value QFont QFont + \value QPixmap QPixmap \value QBrush QBrush - \value QRegion QRegion - \value QBitArray QBitArray + \value QColor QColor + \value QPalette QPalette + \value QIcon QIcon \value QImage QImage - \value QKeySequence QKeySequence - \value QSizePolicy QSizePolicy - \value QPixmap QPixmap - \value QLocale QLocale + \value QPolygon QPolygon + \value QRegion QRegion \value QBitmap QBitmap + \value QCursor QCursor + \value QSizePolicy QSizePolicy + \value QKeySequence QKeySequence + \value QPen QPen + \value QTextLength QTextLength + \value QTextFormat QTextFormat \value QMatrix QMatrix \value QTransform QTransform \value QMatrix4x4 QMatrix4x4 @@ -176,11 +170,17 @@ QT_BEGIN_NAMESPACE \value QVector3D QVector3D \value QVector4D QVector4D \value QQuaternion QQuaternion - \value QEasingCurve QEasingCurve - \value QJsonValue QJsonValue - \value QJsonObject QJsonObject - \value QJsonArray QJsonArray - \value QJsonDocument QJsonDocument + + \value VoidStar \c{void *} + \value Long \c{long} + \value Short \c{short} + \value Char \c{char} + \value ULong \c{unsigned long} + \value UShort \c{unsigned short} + \value UChar \c{unsigned char} + \value QObjectStar QObject * + \value QWidgetStar QWidget * + \value QVariant QVariant \value User Base value for user types @@ -245,9 +245,8 @@ static const struct MetaTypeTblData { QT_ADD_STATIC_METATYPE("qlonglong", QMetaType::LongLong), QT_ADD_STATIC_METATYPE("qulonglong", QMetaType::ULongLong), QT_ADD_STATIC_METATYPE("double", QMetaType::Double), + QT_ADD_STATIC_METATYPE("float", QMetaType::Float), QT_ADD_STATIC_METATYPE("QChar", QMetaType::QChar), - QT_ADD_STATIC_METATYPE("QVariantMap", QMetaType::QVariantMap), - QT_ADD_STATIC_METATYPE("QVariantList", QMetaType::QVariantList), QT_ADD_STATIC_METATYPE("QString", QMetaType::QString), QT_ADD_STATIC_METATYPE("QStringList", QMetaType::QStringList), QT_ADD_STATIC_METATYPE("QByteArray", QMetaType::QByteArray), @@ -266,12 +265,14 @@ static const struct MetaTypeTblData { QT_ADD_STATIC_METATYPE("QPoint", QMetaType::QPoint), QT_ADD_STATIC_METATYPE("QPointF", QMetaType::QPointF), QT_ADD_STATIC_METATYPE("QRegExp", QMetaType::QRegExp), - QT_ADD_STATIC_METATYPE("QVariantHash", QMetaType::QVariantHash), QT_ADD_STATIC_METATYPE("QEasingCurve", QMetaType::QEasingCurve), QT_ADD_STATIC_METATYPE("QJsonValue", QMetaType:: QJsonValue), QT_ADD_STATIC_METATYPE("QJsonObject", QMetaType::QJsonObject), QT_ADD_STATIC_METATYPE("QJsonArray", QMetaType::QJsonArray), QT_ADD_STATIC_METATYPE("QJsonDocument", QMetaType::QJsonDocument), + QT_ADD_STATIC_METATYPE("QVariantHash", QMetaType::QVariantHash), + QT_ADD_STATIC_METATYPE("QVariantList", QMetaType::QVariantList), + QT_ADD_STATIC_METATYPE("QVariantMap", QMetaType::QVariantMap), /* All GUI types */ QT_ADD_STATIC_METATYPE("QFont", QMetaType::QFont), @@ -306,7 +307,6 @@ static const struct MetaTypeTblData { QT_ADD_STATIC_METATYPE("ulong", QMetaType::ULong), QT_ADD_STATIC_METATYPE("ushort", QMetaType::UShort), QT_ADD_STATIC_METATYPE("uchar", QMetaType::UChar), - QT_ADD_STATIC_METATYPE("float", QMetaType::Float), QT_ADD_STATIC_METATYPE("QObject*", QMetaType::QObjectStar), QT_ADD_STATIC_METATYPE("QWidget*", QMetaType::QWidgetStar), QT_ADD_STATIC_METATYPE("QVariant", QMetaType::QVariant), @@ -327,10 +327,9 @@ static const struct MetaTypeTblData { QT_ADD_STATIC_METATYPE("quint32", QMetaType::UInt), QT_ADD_STATIC_METATYPE("qint64", QMetaType::LongLong), QT_ADD_STATIC_METATYPE("quint64", QMetaType::ULongLong), + QT_ADD_STATIC_METATYPE("QHash", QMetaType::QVariantHash), QT_ADD_STATIC_METATYPE("QList", QMetaType::QVariantList), QT_ADD_STATIC_METATYPE("QMap", QMetaType::QVariantMap), - QT_ADD_STATIC_METATYPE("QHash", QMetaType::QVariantHash), - // let QMetaTypeId2 figure out the type at compile time QT_ADD_STATIC_METATYPE("qreal", QMetaType::QReal), }; static const qint16 MetaTypeTblSize = sizeof(MetaTypeTbl) / sizeof(MetaTypeTblData); diff --git a/src/core/kernel/qmetatype.h b/src/core/kernel/qmetatype.h index cb01d3a43..2ee9e7225 100644 --- a/src/core/kernel/qmetatype.h +++ b/src/core/kernel/qmetatype.h @@ -54,15 +54,14 @@ public: enum Type { // these are merged with QVariant Void = 0, Bool = 1, Int = 2, UInt = 3, LongLong = 4, ULongLong = 5, - Double = 6, QChar = 7, QVariantMap = 8, QVariantList = 9, - QString = 10, QStringList = 11, QByteArray = 12, - QBitArray = 13, QDate = 14, QTime = 15, QDateTime = 16, QUrl = 17, - QLocale = 18, QRect = 19, QRectF = 20, QSize = 21, QSizeF = 22, - QLine = 23, QLineF = 24, QPoint = 25, QPointF = 26, QRegExp = 27, - QVariantHash = 28, QEasingCurve = 29, QJsonValue = 30, - QJsonObject = 31, QJsonArray = 32, QJsonDocument = 33, - LastCoreType = QJsonDocument, - + Double = 6, Float = 7, QChar = 8, QString = 9, QStringList = 10, + QByteArray = 11, QBitArray = 12, QDate = 13, QTime = 14, + QDateTime = 15, QUrl = 16, QLocale = 17, QRect = 18, QRectF = 19, + QSize = 20, QSizeF = 21, QLine = 22, QLineF = 23, QPoint = 24, + QPointF = 25, QRegExp = 26, QEasingCurve = 27, QJsonValue = 28, + QJsonObject = 29, QJsonArray = 30, QJsonDocument = 31, + QVariantHash = 32, QVariantList = 33, QVariantMap = 34, + LastCoreType = QVariantMap, FirstGuiType = 64 /* QFont */, QFont = 64, QPixmap = 65, QBrush = 66, QColor = 67, QPalette = 68, @@ -75,8 +74,8 @@ public: FirstCoreExtType = 128 /* VoidStar */, VoidStar = 128, Long = 129, Short = 130, Char = 131, ULong = 132, - UShort = 133, UChar = 134, Float = 135, QObjectStar = 136, QWidgetStar = 137, - QVariant = 138, + UShort = 133, UChar = 134, QObjectStar = 135, QWidgetStar = 136, + QVariant = 137, LastCoreExtType = QVariant, // This logic must match the one in qglobal.h @@ -319,9 +318,8 @@ Q_DECLARE_BUILTIN_METATYPE(uint, UInt) Q_DECLARE_BUILTIN_METATYPE(qlonglong, LongLong) Q_DECLARE_BUILTIN_METATYPE(qulonglong, ULongLong) Q_DECLARE_BUILTIN_METATYPE(double, Double) +Q_DECLARE_BUILTIN_METATYPE(float, Float) Q_DECLARE_BUILTIN_METATYPE(QChar, QChar) -// QVariantMap -// QVariantList Q_DECLARE_BUILTIN_METATYPE(QString, QString) Q_DECLARE_BUILTIN_METATYPE(QStringList, QStringList) Q_DECLARE_BUILTIN_METATYPE(QByteArray, QByteArray) @@ -342,12 +340,14 @@ Q_DECLARE_BUILTIN_METATYPE(QPointF, QPointF) #ifndef QT_NO_REGEXP Q_DECLARE_BUILTIN_METATYPE(QRegExp, QRegExp) #endif -// QVariantHash Q_DECLARE_BUILTIN_METATYPE(QEasingCurve, QEasingCurve) Q_DECLARE_BUILTIN_METATYPE(QJsonValue, QJsonValue) Q_DECLARE_BUILTIN_METATYPE(QJsonObject, QJsonObject) Q_DECLARE_BUILTIN_METATYPE(QJsonArray, QJsonArray) Q_DECLARE_BUILTIN_METATYPE(QJsonDocument, QJsonDocument) +// QVariantHash +// QVariantList +// QVariantMap Q_DECLARE_BUILTIN_METATYPE(QFont, QFont) Q_DECLARE_BUILTIN_METATYPE(QPixmap, QPixmap) @@ -381,7 +381,6 @@ Q_DECLARE_BUILTIN_METATYPE(signed char, Char) Q_DECLARE_BUILTIN_METATYPE(ulong, ULong) Q_DECLARE_BUILTIN_METATYPE(ushort, UShort) Q_DECLARE_BUILTIN_METATYPE(uchar, UChar) -Q_DECLARE_BUILTIN_METATYPE(float, Float) Q_DECLARE_BUILTIN_METATYPE(QObject *, QObjectStar) Q_DECLARE_BUILTIN_METATYPE(QWidget *, QWidgetStar) Q_DECLARE_BUILTIN_METATYPE(QVariant, QVariant) diff --git a/src/core/kernel/qvariant.cpp b/src/core/kernel/qvariant.cpp index 6c691b10b..b6f43e5b3 100644 --- a/src/core/kernel/qvariant.cpp +++ b/src/core/kernel/qvariant.cpp @@ -3232,8 +3232,8 @@ bool QVariant::convert(Type t) static inline bool qIsNumericType(int tp) { - return (tp >= QVariant::Bool && tp <= QVariant::Double) - || (tp >= QMetaType::Long && tp <= QVariant::Float); + return (tp >= QVariant::Bool && tp <= QVariant::Float) + || (tp >= QMetaType::Long && tp <= QMetaType::UChar); } static inline bool qIsFloatingPoint(int tp) -- 2.11.0