⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 qmetatype.h

📁 奇趣公司比较新的qt/emd版本
💻 H
字号:
/******************************************************************************** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.**** This file is part of the QtCore module of the Qt Toolkit.**** This file may be used under the terms of the GNU General Public** License version 2.0 as published by the Free Software Foundation** and appearing in the file LICENSE.GPL included in the packaging of** this file.  Please review the following information to ensure GNU** General Public Licensing requirements will be met:** http://trolltech.com/products/qt/licenses/licensing/opensource/**** If you are unsure which license is appropriate for your use, please** review the following information:** http://trolltech.com/products/qt/licenses/licensing/licensingoverview** or contact the sales department at sales@trolltech.com.**** In addition, as a special exception, Trolltech gives you certain** additional rights. These rights are described in the Trolltech GPL** Exception version 1.0, which can be found at** http://www.trolltech.com/products/qt/gplexception/ and in the file** GPL_EXCEPTION.txt in this package.**** In addition, as a special exception, Trolltech, as the sole copyright** holder for Qt Designer, grants users of the Qt/Eclipse Integration** plug-in the right for the Qt/Eclipse Integration to link to** functionality provided by Qt Designer and its related libraries.**** Trolltech reserves all rights not expressly granted herein.**** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.******************************************************************************/#ifndef QMETATYPE_H#define QMETATYPE_H#include <QtCore/qglobal.h>#include <QtCore/qatomic.h>#ifndef QT_NO_DATASTREAM#include <QtCore/qdatastream.h>#endif#ifdef Bool#error qmetatype.h must be included before any header file that defines Bool#endifQT_BEGIN_HEADERQT_MODULE(Core)class Q_CORE_EXPORT QMetaType {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,        LastCoreType = 27 /* QRegExp */,        FirstGuiType = 63 /* QColorGroup */,#ifdef QT3_SUPPORT        QColorGroup = 63,#endif        QFont = 64, QPixmap = 65, QBrush = 66, QColor = 67, QPalette = 68,        QIcon = 69, QImage = 70, QPolygon = 71, QRegion = 72, QBitmap = 73,        QCursor = 74, QSizePolicy = 75, QKeySequence = 76, QPen = 77,        QTextLength = 78, QTextFormat = 79, QMatrix = 80, QTransform = 81,        LastGuiType = 81 /* QTransform */,        FirstCoreExtType = 128 /* VoidStar */,        VoidStar = 128, Long = 129, Short = 130, Char = 131, ULong = 132,        UShort = 133, UChar = 134, Float = 135, QObjectStar = 136, QWidgetStar = 137,        LastCoreExtType = 137 /* QWidgetStar */,        User = 256    };    typedef void (*Destructor)(void *);    typedef void *(*Constructor)(const void *);#ifndef QT_NO_DATASTREAM    typedef void (*SaveOperator)(QDataStream &, const void *);    typedef void (*LoadOperator)(QDataStream &, void *);    static void registerStreamOperators(const char *typeName, SaveOperator saveOp,                                        LoadOperator loadOp);#endif    static int registerType(const char *typeName, Destructor destructor,                            Constructor constructor);    static int type(const char *typeName);    static const char *typeName(int type);    static bool isRegistered(int type);    static void *construct(int type, const void *copy = 0);    static void destroy(int type, void *data);#ifndef QT_NO_DATASTREAM    static bool save(QDataStream &stream, int type, const void *data);    static bool load(QDataStream &stream, int type, void *data);#endif};template <typename T>void qMetaTypeDeleteHelper(T *t){    delete t;}template <typename T>void *qMetaTypeConstructHelper(const T *t){    if (!t)        return new T;    return new T(*static_cast<const T*>(t));}#ifndef QT_NO_DATASTREAMtemplate <typename T>void qMetaTypeSaveHelper(QDataStream &stream, const T *t){    stream << *t;}template <typename T>void qMetaTypeLoadHelper(QDataStream &stream, T *t){    stream >> *t;}#endif // QT_NO_DATASTREAMtemplate <typename T>int qRegisterMetaType(const char *typeName#ifndef qdoc    , T * /* dummy */ = 0#endif){    typedef void*(*ConstructPtr)(const T*);    ConstructPtr cptr = qMetaTypeConstructHelper<T>;    typedef void(*DeletePtr)(T*);    DeletePtr dptr = qMetaTypeDeleteHelper<T>;    return QMetaType::registerType(typeName, reinterpret_cast<QMetaType::Destructor>(dptr),                                   reinterpret_cast<QMetaType::Constructor>(cptr));}#ifndef QT_NO_DATASTREAMtemplate <typename T>void qRegisterMetaTypeStreamOperators(const char *typeName#ifndef qdoc    , T * /* dummy */ = 0#endif){    typedef void(*SavePtr)(QDataStream &, const T *);    typedef void(*LoadPtr)(QDataStream &, T *);    SavePtr sptr = qMetaTypeSaveHelper<T>;    LoadPtr lptr = qMetaTypeLoadHelper<T>;    qRegisterMetaType<T>(typeName);    QMetaType::registerStreamOperators(typeName, reinterpret_cast<QMetaType::SaveOperator>(sptr),                                       reinterpret_cast<QMetaType::LoadOperator>(lptr));}#endiftemplate <typename T>struct QMetaTypeId{    enum { Defined = 0 };};template <typename T>struct QMetaTypeId2{    enum { Defined = QMetaTypeId<T>::Defined };    static inline int qt_metatype_id() { return QMetaTypeId<T>::qt_metatype_id(); }};template <typename T>inline int qMetaTypeId(#ifndef qdoc    T * /* dummy */ = 0#endif){    return QMetaTypeId2<T>::qt_metatype_id();}template <typename T>inline int qRegisterMetaType(#if !defined(qdoc) && !defined(Q_CC_SUN)    T * dummy = 0#endif){#ifdef Q_CC_SUN    return qMetaTypeId(static_cast<T *>(0));#else    return qMetaTypeId(dummy);#endif}#define Q_DECLARE_METATYPE(TYPE) \template <> \struct QMetaTypeId< TYPE > \{ \    enum { Defined = 1 }; \    static int qt_metatype_id() \    { \        static QBasicAtomic metatype_id = Q_ATOMIC_INIT(0);     \        if (!metatype_id)                                       \            metatype_id = qRegisterMetaType< TYPE >(#TYPE);     \        return metatype_id;                                     \    } \};#define Q_DECLARE_BUILTIN_METATYPE(TYPE, NAME) \template<> struct QMetaTypeId2<TYPE> \{ \    enum { Defined = 1, MetaType = QMetaType::NAME }; \    static inline int qt_metatype_id() { return QMetaType::NAME; } \};class QString;class QByteArray;class QChar;class QStringList;class QBitArray;class QDate;class QTime;class QDateTime;class QUrl;class QLocale;class QRect;class QRectF;class QSize;class QSizeF;class QLine;class QLineF;class QPoint;class QPointF;#ifndef QT_NO_REGEXPclass QRegExp;#endifclass QWidget;class QObject;#ifdef QT3_SUPPORTclass QColorGroup;#endifclass QFont;class QPixmap;class QBrush;class QColor;class QPalette;class QIcon;class QImage;class QPolygon;class QRegion;class QBitmap;class QCursor;class QSizePolicy;class QKeySequence;class QPen;class QTextLength;class QTextFormat;class QMatrix;class QTransform;Q_DECLARE_BUILTIN_METATYPE(QString, QString)Q_DECLARE_BUILTIN_METATYPE(int, Int)Q_DECLARE_BUILTIN_METATYPE(uint, UInt)Q_DECLARE_BUILTIN_METATYPE(bool, Bool)Q_DECLARE_BUILTIN_METATYPE(double, Double)Q_DECLARE_BUILTIN_METATYPE(QByteArray, QByteArray)Q_DECLARE_BUILTIN_METATYPE(QChar, QChar)Q_DECLARE_BUILTIN_METATYPE(long, Long)Q_DECLARE_BUILTIN_METATYPE(short, Short)Q_DECLARE_BUILTIN_METATYPE(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(void *, VoidStar)Q_DECLARE_BUILTIN_METATYPE(qlonglong, LongLong)Q_DECLARE_BUILTIN_METATYPE(qulonglong, ULongLong)Q_DECLARE_BUILTIN_METATYPE(QStringList, QStringList)Q_DECLARE_BUILTIN_METATYPE(QBitArray, QBitArray)Q_DECLARE_BUILTIN_METATYPE(QDate, QDate)Q_DECLARE_BUILTIN_METATYPE(QTime, QTime)Q_DECLARE_BUILTIN_METATYPE(QDateTime, QDateTime)Q_DECLARE_BUILTIN_METATYPE(QUrl, QUrl)Q_DECLARE_BUILTIN_METATYPE(QLocale, QLocale)Q_DECLARE_BUILTIN_METATYPE(QRect, QRect)Q_DECLARE_BUILTIN_METATYPE(QRectF, QRectF)Q_DECLARE_BUILTIN_METATYPE(QSize, QSize)Q_DECLARE_BUILTIN_METATYPE(QSizeF, QSizeF)Q_DECLARE_BUILTIN_METATYPE(QLine, QLine)Q_DECLARE_BUILTIN_METATYPE(QLineF, QLineF)Q_DECLARE_BUILTIN_METATYPE(QPoint, QPoint)Q_DECLARE_BUILTIN_METATYPE(QPointF, QPointF)#ifndef QT_NO_REGEXPQ_DECLARE_BUILTIN_METATYPE(QRegExp, QRegExp)#endif#ifdef QT3_SUPPORTQ_DECLARE_BUILTIN_METATYPE(QColorGroup, QColorGroup)#endifQ_DECLARE_BUILTIN_METATYPE(QFont, QFont)Q_DECLARE_BUILTIN_METATYPE(QPixmap, QPixmap)Q_DECLARE_BUILTIN_METATYPE(QBrush, QBrush)Q_DECLARE_BUILTIN_METATYPE(QColor, QColor)Q_DECLARE_BUILTIN_METATYPE(QPalette, QPalette)Q_DECLARE_BUILTIN_METATYPE(QIcon, QIcon)Q_DECLARE_BUILTIN_METATYPE(QImage, QImage)Q_DECLARE_BUILTIN_METATYPE(QPolygon, QPolygon)Q_DECLARE_BUILTIN_METATYPE(QRegion, QRegion)Q_DECLARE_BUILTIN_METATYPE(QBitmap, QBitmap)Q_DECLARE_BUILTIN_METATYPE(QCursor, QCursor)Q_DECLARE_BUILTIN_METATYPE(QSizePolicy, QSizePolicy)Q_DECLARE_BUILTIN_METATYPE(QKeySequence, QKeySequence)Q_DECLARE_BUILTIN_METATYPE(QPen, QPen)Q_DECLARE_BUILTIN_METATYPE(QTextLength, QTextLength)Q_DECLARE_BUILTIN_METATYPE(QTextFormat, QTextFormat)Q_DECLARE_BUILTIN_METATYPE(QMatrix, QMatrix)Q_DECLARE_BUILTIN_METATYPE(QTransform, QTransform)QT_END_HEADER#endif // QMETATYPE_H

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -