forked from qt-creator/qt-creator
Merge remote-tracking branch 'origin/8.0' into 9.0
resolved conflicts: * doc/qtdesignstudio/src/developers/studio-designer-developer-workflow.qdoc * src/plugins/qmldesigner/components/edit3d/edit3dwidget.cpp * src/plugins/qmldesigner/components/materialbrowser/materialbrowserview.cpp * src/plugins/qmldesigner/components/navigator/choosefrompropertylistdialog.cpp and compile fix in materialbrowserview.cpp Change-Id: I686e7e93ded8ac1afc792942ded47cd9fe4341ed
This commit is contained in:
@@ -11,7 +11,7 @@ namespace Internal {
|
||||
|
||||
DebugMessagesModel::DebugMessagesModel(QmlProfilerModelManager *manager,
|
||||
Timeline::TimelineModelAggregator *parent) :
|
||||
QmlProfilerTimelineModel(manager, DebugMessage, MaximumRangeType, ProfileDebugMessages, parent),
|
||||
QmlProfilerTimelineModel(manager, DebugMessage, UndefinedRangeType, ProfileDebugMessages, parent),
|
||||
m_maximumMsgType(-1)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@ namespace Internal {
|
||||
|
||||
InputEventsModel::InputEventsModel(QmlProfilerModelManager *manager,
|
||||
Timeline::TimelineModelAggregator *parent) :
|
||||
QmlProfilerTimelineModel(manager, Event, MaximumRangeType, ProfileInputEvents, parent),
|
||||
QmlProfilerTimelineModel(manager, Event, UndefinedRangeType, ProfileInputEvents, parent),
|
||||
m_keyTypeId(-1), m_mouseTypeId(-1)
|
||||
{
|
||||
}
|
||||
@@ -128,6 +128,8 @@ int InputEventsModel::collapsedRow(int index) const
|
||||
|
||||
void InputEventsModel::loadEvent(const QmlEvent &event, const QmlEventType &type)
|
||||
{
|
||||
if (type.detailType() >= MaximumInputEventType)
|
||||
return;
|
||||
m_data.insert(insert(event.timestamp(), 0, type.detailType()),
|
||||
Item(static_cast<InputEventType>(event.number<qint32>(0)),
|
||||
event.number<qint32>(1), event.number<qint32>(2)));
|
||||
|
||||
@@ -14,7 +14,7 @@ class InputEventsModel : public QmlProfilerTimelineModel
|
||||
|
||||
public:
|
||||
struct Item {
|
||||
Item(InputEventType type = MaximumInputEventType, int a = 0, int b = 0);
|
||||
Item(InputEventType type = UndefinedInputEventType, int a = 0, int b = 0);
|
||||
InputEventType type;
|
||||
int a;
|
||||
int b;
|
||||
|
||||
@@ -13,7 +13,7 @@ namespace Internal {
|
||||
|
||||
MemoryUsageModel::MemoryUsageModel(QmlProfilerModelManager *manager,
|
||||
Timeline::TimelineModelAggregator *parent) :
|
||||
QmlProfilerTimelineModel(manager, MemoryAllocation, MaximumRangeType, ProfileMemory, parent)
|
||||
QmlProfilerTimelineModel(manager, MemoryAllocation, UndefinedRangeType, ProfileMemory, parent)
|
||||
{
|
||||
// Register additional features. The base class already registers the main feature.
|
||||
// Don't register initializer, finalizer, or clearer as the base class has done so already.
|
||||
@@ -121,7 +121,7 @@ QVariantMap MemoryUsageModel::details(int index) const
|
||||
void MemoryUsageModel::loadEvent(const QmlEvent &event, const QmlEventType &type)
|
||||
{
|
||||
if (type.message() != MemoryAllocation) {
|
||||
if (type.rangeType() != MaximumRangeType) {
|
||||
if (type.rangeType() != UndefinedRangeType) {
|
||||
m_continuation = ContinueNothing;
|
||||
if (event.rangeStage() == RangeStart)
|
||||
m_rangeStack.push(RangeStackFrame(event.typeIndex(), event.timestamp()));
|
||||
|
||||
@@ -13,7 +13,7 @@ namespace Internal {
|
||||
|
||||
PixmapCacheModel::PixmapCacheModel(QmlProfilerModelManager *manager,
|
||||
Timeline::TimelineModelAggregator *parent) :
|
||||
QmlProfilerTimelineModel(manager, PixmapCacheEvent, MaximumRangeType, ProfilePixmapCache,
|
||||
QmlProfilerTimelineModel(manager, PixmapCacheEvent, UndefinedRangeType, ProfilePixmapCache,
|
||||
parent)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@ static ProfileFeature qmlFeatureFromType(Message message, RangeType rangeType, i
|
||||
case AnimationFrame:
|
||||
return ProfileAnimations;
|
||||
default:
|
||||
return MaximumProfileFeature;
|
||||
return UndefinedProfileFeature;
|
||||
}
|
||||
}
|
||||
case PixmapCacheEvent:
|
||||
@@ -29,7 +29,11 @@ static ProfileFeature qmlFeatureFromType(Message message, RangeType rangeType, i
|
||||
case DebugMessage:
|
||||
return ProfileDebugMessages;
|
||||
case Quick3DEvent:
|
||||
return ProfileQuick3D;
|
||||
// Check if it's actually Quick3DEvent since old traces used MaximumMessage
|
||||
// (whose value is now Quick3DEvent value) as undefined value
|
||||
if (rangeType == UndefinedRangeType)
|
||||
return ProfileQuick3D;
|
||||
return featureFromRangeType(rangeType);
|
||||
default:
|
||||
return featureFromRangeType(rangeType);
|
||||
}
|
||||
@@ -46,6 +50,9 @@ QDataStream &operator>>(QDataStream &stream, QmlEventType &type)
|
||||
type.m_message = static_cast<Message>(message);
|
||||
type.m_rangeType = static_cast<RangeType>(rangeType);
|
||||
type.setFeature(qmlFeatureFromType(type.m_message, type.m_rangeType, type.m_detailType));
|
||||
// Update message if qmlFeatureFromType determined it is not Quick3D event
|
||||
if (type.m_message == Quick3DEvent && type.feature() != ProfileQuick3D)
|
||||
type.m_message = UndefinedMessage;
|
||||
return stream;
|
||||
}
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@ class QmlEventType : public Timeline::TraceEventType {
|
||||
public:
|
||||
static const qint32 staticClassId = 0x716d6c74; // 'qmlt';
|
||||
|
||||
QmlEventType(Message message = MaximumMessage, RangeType rangeType = MaximumRangeType,
|
||||
QmlEventType(Message message = UndefinedMessage, RangeType rangeType = UndefinedRangeType,
|
||||
int detailType = -1, const QmlEventLocation &location = QmlEventLocation(),
|
||||
const QString &data = QString(), const QString &displayName = QString());
|
||||
|
||||
|
||||
@@ -21,7 +21,7 @@ namespace Internal {
|
||||
|
||||
QmlProfilerAnimationsModel::QmlProfilerAnimationsModel(QmlProfilerModelManager *manager,
|
||||
Timeline::TimelineModelAggregator *parent) :
|
||||
QmlProfilerTimelineModel(manager, Event, MaximumRangeType, ProfileAnimations, parent)
|
||||
QmlProfilerTimelineModel(manager, Event, UndefinedRangeType, ProfileAnimations, parent)
|
||||
{
|
||||
m_minNextStartTimes[0] = m_minNextStartTimes[1] = 0;
|
||||
}
|
||||
|
||||
@@ -8,7 +8,8 @@
|
||||
namespace QmlProfiler {
|
||||
|
||||
enum Message {
|
||||
Event,
|
||||
UndefinedMessage = 0xff,
|
||||
Event = 0,
|
||||
RangeStart,
|
||||
RangeData,
|
||||
RangeLocation,
|
||||
@@ -24,7 +25,8 @@ enum Message {
|
||||
};
|
||||
|
||||
enum EventType {
|
||||
FramePaint, // unused
|
||||
UndefinedEventType = 0xff,
|
||||
FramePaint = 0, // unused
|
||||
Mouse,
|
||||
Key,
|
||||
AnimationFrame, // new Qt5 paint events
|
||||
@@ -35,7 +37,8 @@ enum EventType {
|
||||
};
|
||||
|
||||
enum Quick3DEventType {
|
||||
Quick3DRenderFrame,
|
||||
UndefinedQuick3DEventType = 0xff,
|
||||
Quick3DRenderFrame = 0,
|
||||
Quick3DSynchronizeFrame,
|
||||
Quick3DPrepareFrame,
|
||||
Quick3DMeshLoad,
|
||||
@@ -50,7 +53,8 @@ enum Quick3DEventType {
|
||||
};
|
||||
|
||||
enum RangeType {
|
||||
Painting, // old Qt4 paint events
|
||||
UndefinedRangeType = 0xff,
|
||||
Painting = 0, // old Qt4 paint events
|
||||
Compiling,
|
||||
Creating,
|
||||
Binding,
|
||||
@@ -61,7 +65,8 @@ enum RangeType {
|
||||
};
|
||||
|
||||
enum BindingType {
|
||||
QmlBinding,
|
||||
UndefinedBindingType = 0xff,
|
||||
QmlBinding = 0,
|
||||
V8Binding,
|
||||
OptimizedBinding,
|
||||
QPainterEvent,
|
||||
@@ -70,7 +75,8 @@ enum BindingType {
|
||||
};
|
||||
|
||||
enum PixmapEventType {
|
||||
PixmapSizeKnown,
|
||||
UndefinedPixmapEventType = 0xff,
|
||||
PixmapSizeKnown = 0,
|
||||
PixmapReferenceCountChanged,
|
||||
PixmapCacheCountChanged,
|
||||
PixmapLoadingStarted,
|
||||
@@ -81,7 +87,8 @@ enum PixmapEventType {
|
||||
};
|
||||
|
||||
enum InputEventType {
|
||||
InputKeyPress,
|
||||
UndefinedInputEventType = 0xff,
|
||||
InputKeyPress = 0,
|
||||
InputKeyRelease,
|
||||
InputKeyUnknown,
|
||||
|
||||
@@ -96,7 +103,8 @@ enum InputEventType {
|
||||
};
|
||||
|
||||
enum SceneGraphFrameType {
|
||||
SceneGraphRendererFrame, // Render Thread
|
||||
UndefinedSceheGraphFrameType = 0xff,
|
||||
SceneGraphRendererFrame = 0, // Render Thread
|
||||
SceneGraphAdaptationLayerFrame, // Render Thread
|
||||
SceneGraphContextFrame, // Render Thread
|
||||
SceneGraphRenderLoopFrame, // Render Thread
|
||||
@@ -111,7 +119,8 @@ enum SceneGraphFrameType {
|
||||
};
|
||||
|
||||
enum MemoryType {
|
||||
HeapPage,
|
||||
UndefinedMemoryType = 0xff,
|
||||
HeapPage = 0,
|
||||
LargeItem,
|
||||
SmallItem,
|
||||
|
||||
@@ -119,14 +128,16 @@ enum MemoryType {
|
||||
};
|
||||
|
||||
enum AnimationThread {
|
||||
GuiThread,
|
||||
UndefinedAnimationThread = 0xff,
|
||||
GuiThread = 0,
|
||||
RenderThread,
|
||||
|
||||
MaximumAnimationThread
|
||||
};
|
||||
|
||||
enum ProfileFeature {
|
||||
ProfileJavaScript,
|
||||
UndefinedProfileFeature = 0xff,
|
||||
ProfileJavaScript = 0,
|
||||
ProfileMemory,
|
||||
ProfilePixmapCache,
|
||||
ProfileSceneGraph,
|
||||
@@ -159,7 +170,7 @@ inline ProfileFeature featureFromRangeType(RangeType range)
|
||||
case Javascript:
|
||||
return ProfileJavaScript;
|
||||
default:
|
||||
return MaximumProfileFeature;
|
||||
return UndefinedProfileFeature;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -377,7 +377,7 @@ QmlProfilerModelManager::rangeFilter(qint64 rangeStart, qint64 rangeEnd) const
|
||||
// Double-check if rangeStart has been crossed. Some versions of Qt send dirty data.
|
||||
qint64 adjustedTimestamp = event.timestamp();
|
||||
if (event.timestamp() < rangeStart && !crossedRangeStart) {
|
||||
if (type.rangeType() != MaximumRangeType) {
|
||||
if (type.rangeType() != UndefinedRangeType) {
|
||||
if (event.rangeStage() == RangeStart)
|
||||
stack.push(event);
|
||||
else if (event.rangeStage() == RangeEnd && !stack.isEmpty())
|
||||
@@ -398,7 +398,7 @@ QmlProfilerModelManager::rangeFilter(qint64 rangeStart, qint64 rangeEnd) const
|
||||
crossedRangeStart = true;
|
||||
}
|
||||
if (event.timestamp() > rangeEnd) {
|
||||
if (type.rangeType() != MaximumRangeType) {
|
||||
if (type.rangeType() != UndefinedRangeType) {
|
||||
if (event.rangeStage() == RangeEnd) {
|
||||
if (stack.isEmpty()) {
|
||||
QmlEvent endEvent(event);
|
||||
|
||||
@@ -23,7 +23,7 @@ namespace Internal {
|
||||
|
||||
QmlProfilerRangeModel::QmlProfilerRangeModel(QmlProfilerModelManager *manager, RangeType range,
|
||||
Timeline::TimelineModelAggregator *parent) :
|
||||
QmlProfilerTimelineModel(manager, MaximumMessage, range, featureFromRangeType(range), parent)
|
||||
QmlProfilerTimelineModel(manager, UndefinedMessage, range, featureFromRangeType(range), parent)
|
||||
{
|
||||
m_expandedRowTypes << -1;
|
||||
}
|
||||
|
||||
@@ -148,7 +148,7 @@ void QmlProfilerTraceClientPrivate::processCurrentEvent()
|
||||
// all ranges are perfectly nested. This is why we can defer the type resolution until either
|
||||
// the range ends or a child range starts. With only the information in RangeStart we wouldn't
|
||||
// be able to uniquely identify the event type.
|
||||
Message rangeStage = currentEvent.type.rangeType() == MaximumRangeType ?
|
||||
Message rangeStage = currentEvent.type.rangeType() == UndefinedRangeType ?
|
||||
currentEvent.type.message() : currentEvent.event.rangeStage();
|
||||
switch (rangeStage) {
|
||||
case RangeStart:
|
||||
@@ -311,7 +311,7 @@ void QmlProfilerTraceClient::setRequestedFeatures(quint64 features)
|
||||
d->currentEvent.event.setTimestamp(context.timestamp > 0 ? context.timestamp : 0);
|
||||
d->currentEvent.event.setTypeIndex(-1);
|
||||
d->currentEvent.event.setString(text);
|
||||
d->currentEvent.type = QmlEventType(DebugMessage, MaximumRangeType, type,
|
||||
d->currentEvent.type = QmlEventType(DebugMessage, UndefinedRangeType, type,
|
||||
QmlEventLocation(context.file, context.line, 1));
|
||||
d->currentEvent.serverTypeId = 0;
|
||||
d->processCurrentEvent();
|
||||
@@ -328,6 +328,8 @@ void QmlProfilerTraceClient::setFlushInterval(quint32 flushInterval)
|
||||
|
||||
bool QmlProfilerTraceClientPrivate::updateFeatures(quint8 feature)
|
||||
{
|
||||
if (feature == UndefinedProfileFeature)
|
||||
return true;
|
||||
quint64 flag = 1ULL << feature;
|
||||
if (!(requestedFeatures & flag))
|
||||
return false;
|
||||
|
||||
@@ -59,7 +59,7 @@ Q_STATIC_ASSERT(sizeof(MESSAGE_STRINGS) == MaximumMessage * sizeof(const char *)
|
||||
|
||||
static QPair<Message, RangeType> qmlTypeAsEnum(const QString &typeString)
|
||||
{
|
||||
QPair<Message, RangeType> ret(MaximumMessage, MaximumRangeType);
|
||||
QPair<Message, RangeType> ret(UndefinedMessage, UndefinedRangeType);
|
||||
|
||||
for (int i = 0; i < MaximumMessage; ++i) {
|
||||
if (typeString == _(MESSAGE_STRINGS[i])) {
|
||||
@@ -75,7 +75,7 @@ static QPair<Message, RangeType> qmlTypeAsEnum(const QString &typeString)
|
||||
}
|
||||
}
|
||||
|
||||
if (ret.first == MaximumMessage && ret.second == MaximumRangeType) {
|
||||
if (ret.first == UndefinedMessage && ret.second == UndefinedRangeType) {
|
||||
bool isNumber = false;
|
||||
int type = typeString.toUInt(&isNumber);
|
||||
if (isNumber && type < MaximumRangeType)
|
||||
@@ -288,7 +288,7 @@ void QmlProfilerTraceFile::loadEventTypes(QXmlStreamReader &stream)
|
||||
|
||||
int typeIndex = -1;
|
||||
|
||||
QPair<Message, RangeType> messageAndRange(MaximumMessage, MaximumRangeType);
|
||||
QPair<Message, RangeType> messageAndRange(UndefinedMessage, UndefinedRangeType);
|
||||
int detailType = -1;
|
||||
QString displayName;
|
||||
QString data;
|
||||
@@ -296,7 +296,7 @@ void QmlProfilerTraceFile::loadEventTypes(QXmlStreamReader &stream)
|
||||
int line = 0, column = 0;
|
||||
|
||||
auto clearType = [&](){
|
||||
messageAndRange = QPair<Message, RangeType>(MaximumMessage, MaximumRangeType);
|
||||
messageAndRange = QPair<Message, RangeType>(UndefinedMessage, UndefinedRangeType);
|
||||
detailType = -1;
|
||||
displayName.clear();
|
||||
data.clear();
|
||||
@@ -368,7 +368,7 @@ void QmlProfilerTraceFile::loadEventTypes(QXmlStreamReader &stream)
|
||||
// confusing), even though they clearly aren't ranges. Convert that to something
|
||||
// sane here.
|
||||
if (detailType == 4) {
|
||||
messageAndRange = QPair<Message, RangeType>(Event, MaximumRangeType);
|
||||
messageAndRange = QPair<Message, RangeType>(Event, UndefinedRangeType);
|
||||
detailType = AnimationFrame;
|
||||
}
|
||||
}
|
||||
@@ -674,13 +674,13 @@ void QmlProfilerTraceFile::saveQtd(QIODevice *device)
|
||||
QStack<QmlEvent> stack;
|
||||
qint64 lastProgressTimestamp = traceStart();
|
||||
modelManager()->replayQmlEvents([&](const QmlEvent &event, const QmlEventType &type) {
|
||||
if (type.rangeType() != MaximumRangeType && event.rangeStage() == RangeStart) {
|
||||
if (type.rangeType() != UndefinedRangeType && event.rangeStage() == RangeStart) {
|
||||
stack.push(event);
|
||||
return;
|
||||
}
|
||||
|
||||
stream.writeStartElement(_("range"));
|
||||
if (type.rangeType() != MaximumRangeType && event.rangeStage() == RangeEnd) {
|
||||
if (type.rangeType() != UndefinedRangeType && event.rangeStage() == RangeEnd) {
|
||||
QmlEvent start = stack.pop();
|
||||
stream.writeAttribute(_("startTime"), QString::number(start.timestamp()));
|
||||
stream.writeAttribute(_("duration"),
|
||||
|
||||
@@ -14,10 +14,10 @@ QDataStream &operator>>(QDataStream &stream, QmlTypedEvent &event)
|
||||
|
||||
stream >> time >> messageType;
|
||||
|
||||
if (messageType < 0 || messageType > MaximumMessage)
|
||||
messageType = MaximumMessage;
|
||||
if (messageType < 0 || messageType >= MaximumMessage)
|
||||
messageType = UndefinedMessage;
|
||||
|
||||
RangeType rangeType = MaximumRangeType;
|
||||
RangeType rangeType = UndefinedRangeType;
|
||||
if (!stream.atEnd()) {
|
||||
stream >> subtype;
|
||||
if (subtype >= 0 && subtype < MaximumRangeType)
|
||||
@@ -32,7 +32,9 @@ QDataStream &operator>>(QDataStream &stream, QmlTypedEvent &event)
|
||||
|
||||
switch (messageType) {
|
||||
case Event: {
|
||||
event.type = QmlEventType(static_cast<Message>(messageType), MaximumRangeType, subtype);
|
||||
if (subtype >= MaximumEventType)
|
||||
subtype = UndefinedEventType;
|
||||
event.type = QmlEventType(static_cast<Message>(messageType), UndefinedRangeType, subtype);
|
||||
switch (subtype) {
|
||||
case StartTrace:
|
||||
case EndTrace: {
|
||||
@@ -76,7 +78,7 @@ QDataStream &operator>>(QDataStream &stream, QmlTypedEvent &event)
|
||||
break;
|
||||
}
|
||||
case Complete: {
|
||||
event.type = QmlEventType(static_cast<Message>(messageType), MaximumRangeType, subtype);
|
||||
event.type = QmlEventType(static_cast<Message>(messageType), UndefinedRangeType, subtype);
|
||||
break;
|
||||
}
|
||||
case SceneGraphFrame: {
|
||||
@@ -88,7 +90,7 @@ QDataStream &operator>>(QDataStream &stream, QmlTypedEvent &event)
|
||||
params.push_back(param);
|
||||
}
|
||||
|
||||
event.type = QmlEventType(static_cast<Message>(messageType), MaximumRangeType, subtype);
|
||||
event.type = QmlEventType(static_cast<Message>(messageType), UndefinedRangeType, subtype);
|
||||
event.event.setNumbers<QVarLengthArray<qint64>, qint64>(params);
|
||||
break;
|
||||
}
|
||||
@@ -103,7 +105,7 @@ QDataStream &operator>>(QDataStream &stream, QmlTypedEvent &event)
|
||||
refcount = 1;
|
||||
}
|
||||
|
||||
event.type = QmlEventType(static_cast<Message>(messageType), MaximumRangeType, subtype,
|
||||
event.type = QmlEventType(static_cast<Message>(messageType), UndefinedRangeType, subtype,
|
||||
QmlEventLocation(filename, 0, 0));
|
||||
event.event.setNumbers<qint32>({width, height, refcount});
|
||||
break;
|
||||
@@ -112,7 +114,7 @@ QDataStream &operator>>(QDataStream &stream, QmlTypedEvent &event)
|
||||
qint64 delta;
|
||||
stream >> delta;
|
||||
|
||||
event.type = QmlEventType(static_cast<Message>(messageType), MaximumRangeType, subtype);
|
||||
event.type = QmlEventType(static_cast<Message>(messageType), UndefinedRangeType, subtype);
|
||||
event.event.setNumbers<qint64>({delta});
|
||||
break;
|
||||
}
|
||||
@@ -125,7 +127,7 @@ QDataStream &operator>>(QDataStream &stream, QmlTypedEvent &event)
|
||||
// otherwise it's the old binding type of 4 bytes
|
||||
}
|
||||
|
||||
event.type = QmlEventType(MaximumMessage, rangeType, -1);
|
||||
event.type = QmlEventType(UndefinedMessage, rangeType, -1);
|
||||
event.event.setRangeStage(RangeStart);
|
||||
break;
|
||||
}
|
||||
@@ -133,7 +135,7 @@ QDataStream &operator>>(QDataStream &stream, QmlTypedEvent &event)
|
||||
QString data;
|
||||
stream >> data;
|
||||
|
||||
event.type = QmlEventType(MaximumMessage, rangeType, -1, QmlEventLocation(), data);
|
||||
event.type = QmlEventType(UndefinedMessage, rangeType, -1, QmlEventLocation(), data);
|
||||
event.event.setRangeStage(RangeData);
|
||||
if (!stream.atEnd())
|
||||
stream >> event.serverTypeId;
|
||||
@@ -151,13 +153,13 @@ QDataStream &operator>>(QDataStream &stream, QmlTypedEvent &event)
|
||||
stream >> event.serverTypeId;
|
||||
}
|
||||
|
||||
event.type = QmlEventType(MaximumMessage, rangeType, -1,
|
||||
event.type = QmlEventType(UndefinedMessage, rangeType, -1,
|
||||
QmlEventLocation(filename, line, column));
|
||||
event.event.setRangeStage(RangeLocation);
|
||||
break;
|
||||
}
|
||||
case RangeEnd: {
|
||||
event.type = QmlEventType(MaximumMessage, rangeType, -1);
|
||||
event.type = QmlEventType(UndefinedMessage, rangeType, -1);
|
||||
event.event.setRangeStage(RangeEnd);
|
||||
break;
|
||||
}
|
||||
@@ -170,13 +172,13 @@ QDataStream &operator>>(QDataStream &stream, QmlTypedEvent &event)
|
||||
stream >> param;
|
||||
params.push_back(param);
|
||||
}
|
||||
event.type = QmlEventType(static_cast<Message>(messageType), MaximumRangeType, subtype);
|
||||
event.type = QmlEventType(static_cast<Message>(messageType), UndefinedRangeType, subtype);
|
||||
event.event.setNumbers<QVarLengthArray<qint64>, qint64>(params);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
event.event.setNumbers<char>({});
|
||||
event.type = QmlEventType(static_cast<Message>(messageType), MaximumRangeType, subtype);
|
||||
event.type = QmlEventType(static_cast<Message>(messageType), UndefinedRangeType, subtype);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ namespace Internal {
|
||||
|
||||
Quick3DModel::Quick3DModel(QmlProfilerModelManager *manager,
|
||||
Timeline::TimelineModelAggregator *parent) :
|
||||
QmlProfilerTimelineModel(manager, Quick3DEvent, MaximumRangeType, ProfileQuick3D, parent),
|
||||
QmlProfilerTimelineModel(manager, Quick3DEvent, UndefinedRangeType, ProfileQuick3D, parent),
|
||||
m_maximumMsgType(-1)
|
||||
{
|
||||
}
|
||||
@@ -135,7 +135,9 @@ int Quick3DModel::collapsedRow(int index) const
|
||||
|
||||
void Quick3DModel::loadEvent(const QmlEvent &event, const QmlEventType &type)
|
||||
{
|
||||
auto detailType = type.detailType();
|
||||
int detailType = type.detailType();
|
||||
if (detailType >= MaximumQuick3DFrameType)
|
||||
return;
|
||||
qint64 eventDuration = event.number<qint64>(0);
|
||||
qint64 eventTime = event.timestamp() - eventDuration;
|
||||
QVector<quint64> numbers = event.numbers<QVector<quint64>>();
|
||||
|
||||
@@ -56,7 +56,7 @@ Q_STATIC_ASSERT(sizeof(StageLabels) ==
|
||||
|
||||
SceneGraphTimelineModel::SceneGraphTimelineModel(QmlProfilerModelManager *manager,
|
||||
Timeline::TimelineModelAggregator *parent) :
|
||||
QmlProfilerTimelineModel(manager, SceneGraphFrame, MaximumRangeType, ProfileSceneGraph, parent)
|
||||
QmlProfilerTimelineModel(manager, SceneGraphFrame, UndefinedRangeType, ProfileSceneGraph, parent)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
Binary file not shown.
@@ -24,7 +24,7 @@ void DebugMessagesModelTest::initTestCase()
|
||||
QmlEvent event;
|
||||
event.setTimestamp(i);
|
||||
event.setString(QString::fromLatin1("message %1").arg(i));
|
||||
QmlEventType type(DebugMessage, MaximumRangeType, i % (QtMsgType::QtInfoMsg + 1),
|
||||
QmlEventType type(DebugMessage, UndefinedRangeType, i % (QtMsgType::QtInfoMsg + 1),
|
||||
QmlEventLocation("somefile.js", i, 10 - i));
|
||||
event.setTypeIndex(manager.numEventTypes());
|
||||
manager.appendEventType(std::move(type));
|
||||
|
||||
@@ -34,7 +34,7 @@ int FlameGraphModelTest::generateData(QmlProfilerModelManager *manager,
|
||||
QmlEvent event;
|
||||
if (i < 5) {
|
||||
typeIndex = manager->appendEventType(
|
||||
QmlEventType(MaximumMessage,
|
||||
QmlEventType(UndefinedMessage,
|
||||
static_cast<RangeType>(static_cast<int>(Javascript) - i), -1,
|
||||
QmlEventLocation("somefile.js", i, 20 - i),
|
||||
QString("funcfunc")));
|
||||
|
||||
@@ -20,8 +20,8 @@ static InputEventType inputType(int i)
|
||||
InputEventsModelTest::InputEventsModelTest(QObject *parent) :
|
||||
QObject(parent), model(&manager, &aggregator)
|
||||
{
|
||||
keyTypeId = manager.appendEventType(QmlEventType(Event, MaximumRangeType, Key));
|
||||
mouseTypeId = manager.appendEventType(QmlEventType(Event, MaximumRangeType, Mouse));
|
||||
keyTypeId = manager.appendEventType(QmlEventType(Event, UndefinedRangeType, Key));
|
||||
mouseTypeId = manager.appendEventType(QmlEventType(Event, UndefinedRangeType, Mouse));
|
||||
}
|
||||
|
||||
void InputEventsModelTest::initTestCase()
|
||||
|
||||
@@ -20,11 +20,11 @@ void MemoryUsageModelTest::initTestCase()
|
||||
|
||||
|
||||
heapPageTypeId = manager.numEventTypes();
|
||||
manager.appendEventType(QmlEventType(MemoryAllocation, MaximumRangeType, HeapPage));
|
||||
manager.appendEventType(QmlEventType(MemoryAllocation, UndefinedRangeType, HeapPage));
|
||||
smallItemTypeId = manager.numEventTypes();
|
||||
manager.appendEventType(QmlEventType(MemoryAllocation, MaximumRangeType, SmallItem));
|
||||
manager.appendEventType(QmlEventType(MemoryAllocation, UndefinedRangeType, SmallItem));
|
||||
largeItemTypeId = manager.numEventTypes();
|
||||
manager.appendEventType(QmlEventType(MemoryAllocation, MaximumRangeType, LargeItem));
|
||||
manager.appendEventType(QmlEventType(MemoryAllocation, UndefinedRangeType, LargeItem));
|
||||
|
||||
auto addMemoryEvents = [&]() {
|
||||
QmlEvent event;
|
||||
@@ -53,7 +53,7 @@ void MemoryUsageModelTest::initTestCase()
|
||||
addMemoryEvents();
|
||||
|
||||
rangeTypeId = manager.numEventTypes();
|
||||
manager.appendEventType(QmlEventType(MaximumMessage, Javascript, -1,
|
||||
manager.appendEventType(QmlEventType(UndefinedMessage, Javascript, -1,
|
||||
QmlEventLocation(QString("somefile.js"), 10, 20),
|
||||
QString("funcfunc")));
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@ void PixmapCacheModelTest::initTestCase()
|
||||
|
||||
for (int i = 0; i < MaximumPixmapEventType; ++i) {
|
||||
eventTypeIndices[i] = manager.numEventTypes();
|
||||
manager.appendEventType(QmlEventType(PixmapCacheEvent, MaximumRangeType, i,
|
||||
manager.appendEventType(QmlEventType(PixmapCacheEvent, UndefinedRangeType, i,
|
||||
QmlEventLocation("dings.png", 0, 0)));
|
||||
}
|
||||
|
||||
@@ -37,7 +37,7 @@ void PixmapCacheModelTest::initTestCase()
|
||||
|
||||
for (int i = 0; i < MaximumPixmapEventType; ++i) {
|
||||
eventTypeIndices[i + MaximumPixmapEventType] = manager.numEventTypes();
|
||||
manager.appendEventType(QmlEventType(PixmapCacheEvent, MaximumRangeType, i,
|
||||
manager.appendEventType(QmlEventType(PixmapCacheEvent, UndefinedRangeType, i,
|
||||
QmlEventLocation("blah.png", 0, 0)));
|
||||
}
|
||||
|
||||
|
||||
@@ -15,13 +15,13 @@ QmlEventTypeTest::QmlEventTypeTest(QObject *parent) : QObject(parent)
|
||||
void QmlEventTypeTest::testAccessors()
|
||||
{
|
||||
QmlEventType type;
|
||||
QCOMPARE(type.message(), MaximumMessage);
|
||||
QCOMPARE(type.rangeType(), MaximumRangeType);
|
||||
QCOMPARE(type.message(), UndefinedMessage);
|
||||
QCOMPARE(type.rangeType(), UndefinedMessage);
|
||||
QCOMPARE(type.detailType(), -1);
|
||||
QVERIFY(!type.location().isValid());
|
||||
QVERIFY(type.data().isEmpty());
|
||||
QVERIFY(type.displayName().isEmpty());
|
||||
QCOMPARE(static_cast<ProfileFeature>(type.feature()), MaximumProfileFeature);
|
||||
QCOMPARE(static_cast<ProfileFeature>(type.feature()), UndefinedProfileFeature);
|
||||
|
||||
type.setLocation(QmlEventLocation("blah.js", 12, 13));
|
||||
QCOMPARE(type.location().filename(), QString("blah.js"));
|
||||
@@ -34,9 +34,9 @@ void QmlEventTypeTest::testAccessors()
|
||||
type.setDisplayName("disdis");
|
||||
QCOMPARE(type.displayName(), QString("disdis"));
|
||||
|
||||
QmlEventType type2(MaximumMessage, Javascript, 12, QmlEventLocation("lala.js", 2, 3), "nehhh",
|
||||
QmlEventType type2(UndefinedMessage, Javascript, 12, QmlEventLocation("lala.js", 2, 3), "nehhh",
|
||||
"brbr");
|
||||
QCOMPARE(type2.message(), MaximumMessage);
|
||||
QCOMPARE(type2.message(), UndefinedMessage);
|
||||
QCOMPARE(type2.rangeType(), Javascript);
|
||||
QCOMPARE(type2.detailType(), 12);
|
||||
QCOMPARE(type2.location(), QmlEventLocation("lala.js", 2, 3));
|
||||
@@ -49,23 +49,23 @@ void QmlEventTypeTest::testFeature()
|
||||
{
|
||||
const quint8 features[][MaximumEventType] = {
|
||||
// Event
|
||||
{MaximumProfileFeature, ProfileInputEvents, ProfileInputEvents,
|
||||
ProfileAnimations, MaximumProfileFeature, MaximumProfileFeature},
|
||||
{UndefinedProfileFeature, ProfileInputEvents, ProfileInputEvents,
|
||||
ProfileAnimations, UndefinedProfileFeature, UndefinedProfileFeature},
|
||||
// RangeStart
|
||||
{MaximumProfileFeature, MaximumProfileFeature, MaximumProfileFeature,
|
||||
MaximumProfileFeature, MaximumProfileFeature, MaximumProfileFeature},
|
||||
{UndefinedProfileFeature, UndefinedProfileFeature, UndefinedProfileFeature,
|
||||
UndefinedProfileFeature, UndefinedProfileFeature, UndefinedProfileFeature},
|
||||
// RangeData
|
||||
{MaximumProfileFeature, MaximumProfileFeature, MaximumProfileFeature,
|
||||
MaximumProfileFeature, MaximumProfileFeature, MaximumProfileFeature},
|
||||
{UndefinedProfileFeature, UndefinedProfileFeature, UndefinedProfileFeature,
|
||||
UndefinedProfileFeature, UndefinedProfileFeature, UndefinedProfileFeature},
|
||||
// RangeLocation
|
||||
{MaximumProfileFeature, MaximumProfileFeature, MaximumProfileFeature,
|
||||
MaximumProfileFeature, MaximumProfileFeature, MaximumProfileFeature},
|
||||
{UndefinedProfileFeature, UndefinedProfileFeature, UndefinedProfileFeature,
|
||||
UndefinedProfileFeature, UndefinedProfileFeature, UndefinedProfileFeature},
|
||||
// RangeEnd
|
||||
{MaximumProfileFeature, MaximumProfileFeature, MaximumProfileFeature,
|
||||
MaximumProfileFeature, MaximumProfileFeature, MaximumProfileFeature},
|
||||
{UndefinedProfileFeature, UndefinedProfileFeature, UndefinedProfileFeature,
|
||||
UndefinedProfileFeature, UndefinedProfileFeature, UndefinedProfileFeature},
|
||||
// Complete
|
||||
{MaximumProfileFeature, MaximumProfileFeature, MaximumProfileFeature,
|
||||
MaximumProfileFeature, MaximumProfileFeature, MaximumProfileFeature},
|
||||
{UndefinedProfileFeature, UndefinedProfileFeature, UndefinedProfileFeature,
|
||||
UndefinedProfileFeature, UndefinedProfileFeature, UndefinedProfileFeature},
|
||||
// PixmapCacheEvent
|
||||
{ProfilePixmapCache, ProfilePixmapCache, ProfilePixmapCache,
|
||||
ProfilePixmapCache, ProfilePixmapCache, ProfilePixmapCache},
|
||||
@@ -85,13 +85,13 @@ void QmlEventTypeTest::testFeature()
|
||||
|
||||
for (int i = 0; i < MaximumMessage; ++i) {
|
||||
for (int j = 0; j < MaximumEventType; ++j) {
|
||||
QmlEventType type(static_cast<Message>(i), MaximumRangeType, j);
|
||||
QmlEventType type(static_cast<Message>(i), UndefinedRangeType, j);
|
||||
QCOMPARE(type.feature(), features[i][j]);
|
||||
}
|
||||
}
|
||||
|
||||
for (int i = 0; i < MaximumRangeType; ++i) {
|
||||
QmlEventType type(MaximumMessage, static_cast<RangeType>(i));
|
||||
QmlEventType type(UndefinedMessage, static_cast<RangeType>(i));
|
||||
QCOMPARE(static_cast<ProfileFeature>(type.feature()),
|
||||
featureFromRangeType(static_cast<RangeType>(i)));
|
||||
}
|
||||
@@ -99,7 +99,7 @@ void QmlEventTypeTest::testFeature()
|
||||
|
||||
void QmlEventTypeTest::testStreamOps()
|
||||
{
|
||||
QmlEventType type(MaximumMessage, Javascript, -1, QmlEventLocation("socken.js", 12, 13),
|
||||
QmlEventType type(UndefinedMessage, Javascript, -1, QmlEventLocation("socken.js", 12, 13),
|
||||
"lalala", "lelele");
|
||||
|
||||
QBuffer wbuffer;
|
||||
|
||||
@@ -25,7 +25,7 @@ void QmlProfilerAnimationsModelTest::initTestCase()
|
||||
|
||||
QmlEvent event;
|
||||
event.setTypeIndex(manager.appendEventType(
|
||||
QmlEventType(Event, MaximumRangeType, AnimationFrame)));
|
||||
QmlEventType(Event, UndefinedRangeType, AnimationFrame)));
|
||||
|
||||
for (int i = 0; i < 10; ++i) {
|
||||
event.setTimestamp(i);
|
||||
|
||||
@@ -27,7 +27,7 @@ DummyModel::DummyModel(QmlProfilerModelManager *manager,
|
||||
|
||||
void DummyModel::loadData()
|
||||
{
|
||||
QmlEventType type(MaximumMessage, Binding);
|
||||
QmlEventType type(UndefinedMessage, Binding);
|
||||
const int typeIndex = modelManager()->appendEventType(QmlEventType(type));
|
||||
QCOMPARE(typeIndex, 0);
|
||||
|
||||
|
||||
@@ -57,9 +57,13 @@ void QmlProfilerTraceClientTest::testMessageReceived()
|
||||
|
||||
modelManager.replayQmlEvents([&](const QmlEvent &event, const QmlEventType &type) {
|
||||
qint64 timestamp;
|
||||
qint32 message;
|
||||
qint32 rangeType;
|
||||
quint8 message;
|
||||
quint8 rangeType;
|
||||
checkStream >> timestamp >> message >> rangeType;
|
||||
QVERIFY(message != MaximumMessage);
|
||||
QVERIFY(rangeType != MaximumRangeType);
|
||||
QVERIFY(type.message() != MaximumMessage);
|
||||
QVERIFY(type.rangeType() != MaximumRangeType);
|
||||
QCOMPARE(event.timestamp(), timestamp);
|
||||
QCOMPARE(type.message(), static_cast<Message>(message));
|
||||
QCOMPARE(type.rangeType(), static_cast<RangeType>(rangeType));
|
||||
|
||||
Reference in New Issue
Block a user