// Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 #pragma once #include #include #include #include #include #include "instancecontainer.h" #include "reparentcontainer.h" #include "idcontainer.h" #include "mockuptypecontainer.h" #include "propertyvaluecontainer.h" #include "propertybindingcontainer.h" #include "addimportcontainer.h" namespace QmlDesigner { class CreateSceneCommand { public: CreateSceneCommand() = default; explicit CreateSceneCommand(const QList &instanceContainer, const QList &reparentContainer, const QList &idVector, const QList &valueChangeVector, const QList &bindingChangeVector, const QList &auxiliaryChangeVector, const QList &importVector, const QList &mockupTypeVector, const QUrl &fileUrl, const QUrl &resourceUrl, const QHash &edit3dToolStates, const QString &language, qint32 stateInstanceId) : instances(instanceContainer) , reparentInstances(reparentContainer) , ids(idVector) , valueChanges(valueChangeVector) , bindingChanges(bindingChangeVector) , auxiliaryChanges(auxiliaryChangeVector) , imports(importVector) , mockupTypes(mockupTypeVector) , fileUrl(fileUrl) , resourceUrl(resourceUrl) , edit3dToolStates(edit3dToolStates) , language(language) , stateInstanceId{stateInstanceId} {} friend QDataStream &operator<<(QDataStream &out, const CreateSceneCommand &command) { out << command.instances; out << command.reparentInstances; out << command.ids; out << command.valueChanges; out << command.bindingChanges; out << command.auxiliaryChanges; out << command.imports; out << command.mockupTypes; out << command.fileUrl; out << command.resourceUrl; out << command.edit3dToolStates; out << command.language; out << command.stateInstanceId; return out; } friend QDataStream &operator>>(QDataStream &in, CreateSceneCommand &command) { in >> command.instances; in >> command.reparentInstances; in >> command.ids; in >> command.valueChanges; in >> command.bindingChanges; in >> command.auxiliaryChanges; in >> command.imports; in >> command.mockupTypes; in >> command.fileUrl; in >> command.resourceUrl; in >> command.edit3dToolStates; in >> command.language; in >> command.stateInstanceId; return in; } public: QList instances; QList reparentInstances; QList ids; QList valueChanges; QList bindingChanges; QList auxiliaryChanges; QList imports; QList mockupTypes; QUrl fileUrl; QUrl resourceUrl; QHash edit3dToolStates; QString language; qint32 stateInstanceId = 0; }; QDebug operator<<(QDebug debug, const CreateSceneCommand &command); } // namespace QmlDesigner Q_DECLARE_METATYPE(QmlDesigner::CreateSceneCommand)