1 /**************************************************************************** 2 ** 3 ** Copyright (C) 2016 The Qt Company Ltd. 4 ** Contact: https://www.qt.io/licensing/ 5 ** 6 ** This file is part of Qt Creator. 7 ** 8 ** Commercial License Usage 9 ** Licensees holding valid commercial Qt licenses may use this file in 10 ** accordance with the commercial license agreement provided with the 11 ** Software or, alternatively, in accordance with the terms contained in 12 ** a written agreement between you and The Qt Company. For licensing terms 13 ** and conditions see https://www.qt.io/terms-conditions. For further 14 ** information use the contact form at https://www.qt.io/contact-us. 15 ** 16 ** GNU General Public License Usage 17 ** Alternatively, this file may be used under the terms of the GNU 18 ** General Public License version 3 as published by the Free Software 19 ** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT 20 ** included in the packaging of this file. Please review the following 21 ** information to ensure the GNU General Public License requirements will 22 ** be met: https://www.gnu.org/licenses/gpl-3.0.html. 23 ** 24 ****************************************************************************/ 25 26 #pragma once 27 28 // Enumeration describing a type. 29 enum KnownType 30 { 31 KT_Unknown =0, 32 // Flags to be used in type values. 33 KT_POD_Type = 0x10000, 34 KT_Qt_Type = 0x20000, 35 KT_Qt_PrimitiveType = 0x40000, 36 KT_Qt_MovableType = 0x80000, 37 KT_STL_Type = 0x100000, 38 KT_ContainerType = 0x200000, 39 KT_HasSimpleDumper = 0x400000, 40 KT_HasComplexDumper = 0x800000, // Non-container complex dumper 41 KT_Editable = 0x1000000, // Editable complex type 42 // Types: PODs 43 KT_Char = KT_POD_Type + 1, 44 KT_UnsignedChar = KT_POD_Type + 2, 45 KT_IntType = KT_POD_Type + 3, // any signed short, long, int 46 KT_UnsignedIntType = KT_POD_Type + 4, // any unsigned int 47 KT_FloatType = KT_POD_Type + 5, // float, double 48 KT_POD_PointerType = KT_POD_Type + 6, // pointer to some POD 49 KT_PointerType = KT_POD_Type + 7, // pointer to class or complex type 50 // Types: Qt Basic 51 KT_QChar = KT_Qt_Type + KT_Qt_MovableType + KT_HasSimpleDumper + 1, 52 KT_QByteArray = KT_Qt_Type + KT_Editable + KT_Qt_MovableType + KT_HasComplexDumper + KT_HasSimpleDumper + 2, 53 KT_QString = KT_Qt_Type + KT_Editable + KT_Qt_MovableType + KT_HasSimpleDumper + 3, 54 KT_QColor = KT_Qt_Type + KT_HasSimpleDumper + 4, 55 KT_QFlags = KT_Qt_Type + KT_HasSimpleDumper + 5, 56 KT_QDate = KT_Qt_Type + KT_Qt_MovableType + KT_HasSimpleDumper + 6, 57 KT_QTime = KT_Qt_Type + KT_Qt_MovableType + KT_HasSimpleDumper + 7, 58 KT_QPoint = KT_Qt_Type + KT_Qt_MovableType + KT_HasSimpleDumper + 8, 59 KT_QPointF = KT_Qt_Type +KT_Qt_MovableType + KT_HasSimpleDumper + 9, 60 KT_QSize = KT_Qt_Type + KT_Qt_MovableType + KT_HasSimpleDumper + 11, 61 KT_QSizeF = KT_Qt_Type + KT_Qt_MovableType + KT_HasSimpleDumper + 12, 62 KT_QLine = KT_Qt_Type + KT_Qt_MovableType + KT_HasSimpleDumper + 13, 63 KT_QLineF = KT_Qt_Type + KT_Qt_MovableType + KT_HasSimpleDumper + 14, 64 KT_QRect = KT_Qt_Type + KT_Qt_MovableType + KT_HasSimpleDumper + 15, 65 KT_QRectF = KT_Qt_Type + KT_Qt_MovableType + KT_HasSimpleDumper + 16, 66 KT_QVariant = KT_Qt_Type + KT_Qt_MovableType + KT_HasSimpleDumper + KT_HasComplexDumper + 17, 67 KT_QBasicAtomicInt = KT_Qt_Type + KT_HasSimpleDumper + 18, 68 KT_QAtomicInt = KT_Qt_Type + KT_HasSimpleDumper + 19, 69 KT_QStringRef = KT_Qt_Type + KT_HasSimpleDumper + 20, 70 KT_QTextCursor = KT_Qt_Type + KT_HasSimpleDumper + 21, 71 KT_QObject = KT_Qt_Type + KT_HasSimpleDumper + KT_HasComplexDumper + 20, 72 KT_QWindow = KT_Qt_Type + KT_HasSimpleDumper + KT_HasComplexDumper + 21, 73 KT_QWidget = KT_Qt_Type + KT_HasSimpleDumper + KT_HasComplexDumper + 22, 74 KT_QSharedPointer = KT_Qt_Type + KT_HasSimpleDumper + KT_HasComplexDumper + 23, 75 KT_QRegion = KT_Qt_Type + KT_HasSimpleDumper + KT_HasComplexDumper + 24, 76 KT_QWeakPointer = KT_Qt_Type + KT_HasSimpleDumper + KT_HasComplexDumper + 25, 77 // Types: Various QT movable types 78 KT_QPen = KT_Qt_Type + KT_Qt_MovableType + 30, 79 KT_QUrl = KT_Qt_Type + KT_Qt_MovableType + 31 + KT_HasSimpleDumper, 80 KT_QIcon = KT_Qt_Type + KT_Qt_MovableType + 32, 81 KT_QBrush = KT_Qt_Type + KT_Qt_MovableType + 33, 82 KT_QPixmap = KT_Qt_Type + KT_HasSimpleDumper + KT_Qt_MovableType + 34, 83 KT_QImage = KT_Qt_Type + KT_HasSimpleDumper + KT_Qt_MovableType + 35, 84 KT_QLocale = KT_Qt_Type + KT_Qt_MovableType + 36, 85 KT_QMatrix = KT_Qt_Type + KT_Qt_MovableType + 37, 86 KT_QRegExp = KT_Qt_Type + KT_Qt_MovableType + KT_HasSimpleDumper + 38, 87 KT_QMargins = KT_Qt_Type + KT_Qt_MovableType + 39, 88 KT_QXmltem = KT_Qt_Type + KT_Qt_MovableType + 40, 89 KT_QXmlName = KT_Qt_Type + KT_Qt_MovableType + 41, 90 KT_QBitArray = KT_Qt_Type + KT_Qt_MovableType + 42, 91 KT_QDateTime = KT_Qt_Type + KT_Qt_MovableType + KT_HasSimpleDumper + 43, 92 KT_QFileInfo = KT_Qt_Type + KT_Qt_MovableType + KT_HasSimpleDumper + 44, 93 KT_QMetaEnum = KT_Qt_Type + KT_Qt_MovableType + 45, 94 KT_QVector2D = KT_Qt_Type + KT_Qt_MovableType + 46, 95 KT_QVector3D = KT_Qt_Type + KT_Qt_MovableType + 47, 96 KT_QVector4D = KT_Qt_Type + KT_Qt_MovableType + 48, 97 KT_QMatrix4x4 = KT_Qt_Type + KT_Qt_MovableType + 49, 98 KT_QTextBlock = KT_Qt_Type + KT_Qt_MovableType + 50, 99 KT_QTransform = KT_Qt_Type + KT_Qt_MovableType + 51, 100 KT_QBasicTimer = KT_Qt_Type + KT_Qt_MovableType + 52, 101 KT_QMetaMethod = KT_Qt_Type + KT_Qt_MovableType + 53, 102 KT_QModelIndex = KT_Qt_Type + KT_Qt_MovableType + 54, 103 KT_QQuaternion = KT_Qt_Type + KT_Qt_MovableType + 55, 104 KT_QScriptItem = KT_Qt_Type + KT_Qt_MovableType + 56, 105 KT_QKeySequence = KT_Qt_Type + KT_Qt_MovableType + 57, 106 KT_QTextFragment = KT_Qt_Type + KT_Qt_MovableType + 58, 107 KT_QTreeViewItem = KT_Qt_Type + KT_Qt_MovableType + 59, 108 KT_QMetaClassInfo = KT_Qt_Type + KT_Qt_MovableType + 60, 109 KT_QNetworkCookie = KT_Qt_Type + KT_Qt_MovableType + 61, 110 KT_QHashDummyValue = KT_Qt_Type + KT_Qt_MovableType + 62, 111 KT_QSourceLocation = KT_Qt_Type + KT_Qt_MovableType + 63, 112 KT_QNetworkProxyQuery = KT_Qt_Type + KT_Qt_MovableType + 64, 113 KT_QXmlNodeModelIndex = KT_Qt_Type + KT_Qt_MovableType + 65, 114 KT_QItemSelectionRange = KT_Qt_Type + KT_Qt_MovableType + 66, 115 KT_QPaintBufferCommand = KT_Qt_Type + KT_Qt_MovableType + 67, 116 KT_QTextHtmlParserNode = KT_Qt_Type + KT_Qt_MovableType + 68, 117 KT_QXmlStreamAttribute = KT_Qt_Type + KT_Qt_MovableType + 69, 118 KT_QTextBlock_iterator = KT_Qt_Type + KT_Qt_MovableType + 70, 119 KT_QTextFrame_iterator = KT_Qt_Type + KT_Qt_MovableType + 71, 120 KT_QPersistentModelIndex = KT_Qt_Type + KT_Qt_MovableType + 72, 121 KT_QObjectPrivate_Sender = KT_Qt_Type + KT_Qt_MovableType + 73, 122 KT_QPatternist_AtomicValue = KT_Qt_Type + KT_Qt_MovableType + 74, 123 KT_QPatternist_Cardinality = KT_Qt_Type + KT_Qt_MovableType + 75, 124 KT_QObjectPrivate_Connection = KT_Qt_Type + KT_Qt_MovableType + 76, 125 KT_QPatternist_ItemCacheCell = KT_Qt_Type + KT_Qt_MovableType + 77, 126 KT_QPatternist_ItemType_Ptr = KT_Qt_Type + KT_Qt_MovableType + 78, 127 KT_QPatternist_NamePool_Ptr = KT_Qt_Type + KT_Qt_MovableType + 79, 128 KT_QXmlStreamEntityDeclaration = KT_Qt_Type + KT_Qt_MovableType + 80, 129 KT_QPatternist_Expression_Ptr = KT_Qt_Type + KT_Qt_MovableType + 81, 130 KT_QXmlStreamNotationDeclaration = KT_Qt_Type + KT_Qt_MovableType + 82, 131 KT_QPatternist_SequenceType_Ptr = KT_Qt_Type + KT_Qt_MovableType + 83, 132 KT_QXmlStreamNamespaceDeclaration = KT_Qt_Type + KT_Qt_MovableType + 84, 133 KT_QPatternist_Item_Iterator_Ptr = KT_Qt_Type + KT_Qt_MovableType + 85, 134 KT_QPatternist_ItemSequenceCacheCell = KT_Qt_Type + KT_Qt_MovableType + 86, 135 KT_QNetworkHeadersPrivate_RawHeaderPair = KT_Qt_Type + KT_Qt_MovableType + 87, 136 KT_QPatternist_AccelTree_BasicNodeData = KT_Qt_Type + KT_Qt_MovableType + 88, 137 KT_QFile = KT_Qt_Type + KT_HasSimpleDumper + 89, 138 KT_QDir = KT_Qt_Type + KT_HasSimpleDumper + 90, 139 KT_QScriptValue = KT_Qt_Type + KT_HasSimpleDumper + 91, 140 KT_QHostAddress = KT_Qt_Type + KT_HasSimpleDumper + 92, 141 KT_QProcess = KT_Qt_Type + KT_HasSimpleDumper + 93, 142 KT_QTimeZone = KT_Qt_Type + KT_HasSimpleDumper + 94, 143 KT_QIPv6Address = KT_Qt_Type + KT_HasSimpleDumper + 95, 144 // Types: Qt primitive types 145 KT_QFixed = KT_Qt_Type + KT_Qt_PrimitiveType + 90, 146 KT_QTextItem = KT_Qt_Type + KT_Qt_PrimitiveType + 91, 147 KT_QFixedSize = KT_Qt_Type + KT_Qt_PrimitiveType + 92, 148 KT_QFixedPoint = KT_Qt_Type + KT_Qt_PrimitiveType + 93, 149 KT_QScriptLine = KT_Qt_Type + KT_Qt_PrimitiveType + 94, 150 KT_QScriptAnalysis = KT_Qt_Type + KT_Qt_PrimitiveType + 95, 151 KT_QTextUndoCommand = KT_Qt_Type + KT_Qt_PrimitiveType + 96, 152 KT_QGlyphJustification = KT_Qt_Type + KT_Qt_PrimitiveType + 97, 153 KT_QPainterPath_Element = KT_Qt_Type + KT_Qt_PrimitiveType + 98, 154 // Types: Qt Containers 155 KT_QStringList = KT_Qt_Type + KT_ContainerType + KT_HasSimpleDumper + 1, 156 KT_QList = KT_Qt_Type + KT_ContainerType + KT_HasSimpleDumper + 2, 157 KT_QLinkedList = KT_Qt_Type + KT_ContainerType + KT_HasSimpleDumper + 3, 158 KT_QVector = KT_Qt_Type + KT_ContainerType + KT_HasSimpleDumper + 4, 159 KT_QStack = KT_Qt_Type + KT_ContainerType + KT_HasSimpleDumper + 5, 160 KT_QQueue = KT_Qt_Type + KT_ContainerType + KT_HasSimpleDumper + 6, 161 KT_QSet = KT_Qt_Type + KT_ContainerType + KT_HasSimpleDumper + 7, 162 KT_QHash = KT_Qt_Type + KT_ContainerType + KT_HasSimpleDumper + 8, 163 KT_QMultiHash = KT_Qt_Type + KT_ContainerType + KT_HasSimpleDumper + 9, 164 KT_QMap = KT_Qt_Type + KT_ContainerType + KT_HasSimpleDumper + 10, 165 KT_QMultiMap = KT_Qt_Type + KT_ContainerType + KT_HasSimpleDumper + 11, 166 // Types: STL 167 KT_StdString = KT_STL_Type + KT_Editable + KT_HasSimpleDumper + 1, 168 KT_StdWString = KT_STL_Type + KT_Editable + KT_HasSimpleDumper + 2, 169 KT_StdComplex = KT_STL_Type + KT_HasSimpleDumper + 3, 170 // Types: STL containers 171 KT_StdVector = KT_STL_Type + KT_ContainerType + KT_HasSimpleDumper + 1, 172 KT_StdList = KT_STL_Type + KT_ContainerType + KT_HasSimpleDumper + 2, 173 KT_StdStack = KT_STL_Type + KT_ContainerType + KT_HasSimpleDumper + 3, 174 KT_StdDeque = KT_STL_Type + KT_ContainerType + KT_HasSimpleDumper + 4, 175 KT_StdSet = KT_STL_Type + KT_ContainerType + KT_HasSimpleDumper + 5, 176 KT_StdMultiSet = KT_STL_Type + KT_ContainerType + KT_HasSimpleDumper + 6, 177 KT_StdUnorderedSet = KT_STL_Type + KT_ContainerType + KT_HasSimpleDumper + 7, 178 KT_StdUnorderedMultiSet = KT_STL_Type + KT_ContainerType + KT_HasSimpleDumper + 8, 179 KT_StdMap = KT_STL_Type + KT_ContainerType + KT_HasSimpleDumper + 9, 180 KT_StdMultiMap = KT_STL_Type + KT_ContainerType + KT_HasSimpleDumper + 10, 181 KT_StdUnorderedMap = KT_STL_Type + KT_ContainerType + KT_HasSimpleDumper + 11, 182 KT_StdUnorderedMultiMap = KT_STL_Type + KT_ContainerType + KT_HasSimpleDumper + 12, 183 KT_StdArray = KT_STL_Type + KT_ContainerType + KT_HasSimpleDumper + 13, 184 KT_StdValArray = KT_STL_Type + KT_ContainerType + KT_HasSimpleDumper + 14 185 186 }; 187