forked from qt-creator/qt-creator
QmlDesigner: Tracing shows the node model relationship
Task-number: QDS-11952 Change-Id: I02769f07f3eadbe7f3e4095203619924cd545579 Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
This commit is contained in:
@@ -51,15 +51,19 @@ public:
|
|||||||
using Pointer = std::shared_ptr<InternalNode>;
|
using Pointer = std::shared_ptr<InternalNode>;
|
||||||
using WeakPointer = std::weak_ptr<InternalNode>;
|
using WeakPointer = std::weak_ptr<InternalNode>;
|
||||||
|
|
||||||
explicit InternalNode(TypeName typeName, int majorVersion, int minorVersion, qint32 internalId)
|
explicit InternalNode(TypeName typeName,
|
||||||
|
int majorVersion,
|
||||||
|
int minorVersion,
|
||||||
|
qint32 internalId,
|
||||||
|
ModelTracing::Category::FlowTokenType flowTraceToken)
|
||||||
: typeName(std::move(typeName))
|
: typeName(std::move(typeName))
|
||||||
, majorVersion(majorVersion)
|
, majorVersion(majorVersion)
|
||||||
, minorVersion(minorVersion)
|
, minorVersion(minorVersion)
|
||||||
, isValid(true)
|
, isValid(true)
|
||||||
, internalId(internalId)
|
, internalId(internalId)
|
||||||
, traceToken(ModelTracing::category().beginAsynchronous("InternalNode"_t,
|
, traceToken(flowTraceToken.beginAsynchronous("InternalNode"_t,
|
||||||
keyValue("type", typeName),
|
keyValue("type", typeName),
|
||||||
keyValue("internal id", internalId)))
|
keyValue("internal id", internalId)))
|
||||||
{}
|
{}
|
||||||
|
|
||||||
InternalNodeAbstractProperty::Pointer parentProperty() const { return m_parentProperty.lock(); }
|
InternalNodeAbstractProperty::Pointer parentProperty() const { return m_parentProperty.lock(); }
|
||||||
|
@@ -295,7 +295,11 @@ InternalNodePointer ModelPrivate::createNode(const TypeName &typeName,
|
|||||||
if (!isRootNode)
|
if (!isRootNode)
|
||||||
internalId = m_internalIdCounter++;
|
internalId = m_internalIdCounter++;
|
||||||
|
|
||||||
auto newNode = std::make_shared<InternalNode>(typeName, majorVersion, minorVersion, internalId);
|
auto newNode = std::make_shared<InternalNode>(typeName,
|
||||||
|
majorVersion,
|
||||||
|
minorVersion,
|
||||||
|
internalId,
|
||||||
|
m_traceToken.tickWithFlow("create node"_t));
|
||||||
|
|
||||||
setTypeId(newNode.get(), typeName);
|
setTypeId(newNode.get(), typeName);
|
||||||
|
|
||||||
|
@@ -5,6 +5,8 @@
|
|||||||
|
|
||||||
#include "qmldesignercorelib_global.h"
|
#include "qmldesignercorelib_global.h"
|
||||||
|
|
||||||
|
#include <tracing/qmldesignertracing.h>
|
||||||
|
|
||||||
#include "abstractview.h"
|
#include "abstractview.h"
|
||||||
#ifndef QDS_USE_PROJECTSTORAGE
|
#ifndef QDS_USE_PROJECTSTORAGE
|
||||||
# include "metainfo.h"
|
# include "metainfo.h"
|
||||||
@@ -37,6 +39,8 @@ class NodeMetaInfoPrivate;
|
|||||||
|
|
||||||
namespace Internal {
|
namespace Internal {
|
||||||
|
|
||||||
|
using namespace NanotraceHR::Literals;
|
||||||
|
|
||||||
class InternalNode;
|
class InternalNode;
|
||||||
class InternalProperty;
|
class InternalProperty;
|
||||||
class InternalBindingProperty;
|
class InternalBindingProperty;
|
||||||
@@ -353,6 +357,8 @@ private:
|
|||||||
QPointer<NodeInstanceView> m_nodeInstanceView;
|
QPointer<NodeInstanceView> m_nodeInstanceView;
|
||||||
QPointer<Model> m_metaInfoProxyModel;
|
QPointer<Model> m_metaInfoProxyModel;
|
||||||
QHash<TypeName, std::shared_ptr<NodeMetaInfoPrivate>> m_nodeMetaInfoCache;
|
QHash<TypeName, std::shared_ptr<NodeMetaInfoPrivate>> m_nodeMetaInfoCache;
|
||||||
|
ModelTracing::AsynchronousToken m_traceToken = ModelTracing::category().beginAsynchronous(
|
||||||
|
"Model"_t);
|
||||||
bool m_writeLock = false;
|
bool m_writeLock = false;
|
||||||
qint32 m_internalIdCounter = 1;
|
qint32 m_internalIdCounter = 1;
|
||||||
};
|
};
|
||||||
|
Reference in New Issue
Block a user