forked from qt-creator/qt-creator
QmlDesigner: Inspect components for existing states
For each created items we retrieve a list of the names of all existing states. Task-number: QDS-1978 Change-Id: I8e85e439fce3c6204cb8bcf69f6be847cc8dae5c Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
This commit is contained in:
@@ -34,6 +34,7 @@ enum InformationName
|
||||
{
|
||||
NoName,
|
||||
NoInformationChange = NoName,
|
||||
AllStates,
|
||||
Size,
|
||||
BoundingRect,
|
||||
Transform,
|
||||
|
||||
@@ -1061,6 +1061,7 @@ static QVector<InformationContainer> createInformationVector(const QList<ServerN
|
||||
informationVector.append(InformationContainer(instance.instanceId(), PenWidth, instance.penWidth()));
|
||||
informationVector.append(InformationContainer(instance.instanceId(), IsAnchoredByChildren, instance.isAnchoredByChildren()));
|
||||
informationVector.append(InformationContainer(instance.instanceId(), IsAnchoredBySibling, instance.isAnchoredBySibling()));
|
||||
informationVector.append(InformationContainer(instance.instanceId(), AllStates, instance.allStates()));
|
||||
|
||||
informationVector.append(InformationContainer(instance.instanceId(), HasAnchor, PropertyName("anchors.fill"), instance.hasAnchor("anchors.fill")));
|
||||
informationVector.append(InformationContainer(instance.instanceId(), HasAnchor, PropertyName("anchors.centerIn"), instance.hasAnchor("anchors.centerIn")));
|
||||
|
||||
@@ -871,6 +871,11 @@ void ObjectNodeInstance::deactivateState()
|
||||
{
|
||||
}
|
||||
|
||||
QStringList ObjectNodeInstance::allStates() const
|
||||
{
|
||||
return {};
|
||||
}
|
||||
|
||||
void ObjectNodeInstance::populateResetHashes()
|
||||
{
|
||||
QmlPrivateGate::registerCustomData(object());
|
||||
|
||||
@@ -148,6 +148,7 @@ public:
|
||||
|
||||
virtual void activateState();
|
||||
virtual void deactivateState();
|
||||
virtual QStringList allStates() const;
|
||||
|
||||
void populateResetHashes();
|
||||
bool hasValidResetBinding(const PropertyName &propertyName) const;
|
||||
|
||||
@@ -232,6 +232,20 @@ QList<QQuickItem *> QuickItemNodeInstance::allItemsRecursive() const
|
||||
return itemList;
|
||||
}
|
||||
|
||||
QStringList QuickItemNodeInstance::allStates() const
|
||||
{
|
||||
QStringList list;
|
||||
|
||||
QList<QObject*> stateList = DesignerSupport::statesForItem(quickItem());
|
||||
for (QObject *state : stateList) {
|
||||
QQmlProperty property(state, "name");
|
||||
if (property.isValid())
|
||||
list.append(property.read().toString());
|
||||
}
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
QRectF QuickItemNodeInstance::contentItemBoundingBox() const
|
||||
{
|
||||
if (contentItem()) {
|
||||
|
||||
@@ -96,6 +96,7 @@ public:
|
||||
void doComponentComplete() override;
|
||||
|
||||
QList<QQuickItem*> allItemsRecursive() const override;
|
||||
QStringList allStates() const override;
|
||||
|
||||
protected:
|
||||
explicit QuickItemNodeInstance(QQuickItem*);
|
||||
|
||||
@@ -661,6 +661,14 @@ QList<ServerNodeInstance> ServerNodeInstance::stateInstances() const
|
||||
return m_nodeInstance->stateInstances();
|
||||
}
|
||||
|
||||
QStringList ServerNodeInstance::allStates() const
|
||||
{
|
||||
if (isValid())
|
||||
return m_nodeInstance->allStates();
|
||||
|
||||
return {};
|
||||
}
|
||||
|
||||
Internal::ObjectNodeInstance::Pointer ServerNodeInstance::internalInstance() const
|
||||
{
|
||||
return m_nodeInstance;
|
||||
|
||||
@@ -164,6 +164,7 @@ public:
|
||||
QSharedPointer<Internal::ObjectNodeInstance> internalInstance() const;
|
||||
|
||||
QList<ServerNodeInstance> stateInstances() const;
|
||||
QStringList allStates() const;
|
||||
|
||||
static bool isSubclassOf(QObject *object, const QByteArray &superTypeName);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user