// Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0 WITH Qt-GPL-exception-1.0 #pragma once #include "objectnodeinstance.h" #include #include namespace QmlDesigner { namespace Internal { class QmlPropertyChangesNodeInstance; class QmlPropertyChangesNodeInstance : public ObjectNodeInstance { public: using Pointer = QSharedPointer; using WeakPointer = QWeakPointer; static Pointer create(QObject *objectToBeWrapped); void setPropertyVariant(const PropertyName &name, const QVariant &value) override; void setPropertyBinding(const PropertyName &name, const QString &expression) override; QVariant property(const PropertyName &name) const override; void resetProperty(const PropertyName &name) override; void reparent(const ObjectNodeInstance::Pointer &oldParentInstance, const PropertyName &oldParentProperty, const ObjectNodeInstance::Pointer &newParentInstance, const PropertyName &newParentProperty) override; protected: QmlPropertyChangesNodeInstance(QObject *object); }; } // namespace Internal } // namespace QmlDesigner //QML_DECLARE_TYPE(QmlDesigner::Internal::QmlPropertyChangesObject)