Files
qt-creator/src/libs/qmlpuppetcommunication/commands/requestmodelnodepreviewimagecommand.h
Marco Bubke 63022d08ea QmlDesigner: QmlPuppet as standalone tool
The qmlpuppet is now a standalone tool. There is new a library too with
the communication code. That is shared between the designer and the
puppet. It's in a .cmake file so it can be included by the standalone
tool if it is not part of a designer build.

Task-number: QDS-5879
Change-Id: I2bc2a0b463fbb3e0c8c23d182abfd368cf87e968
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2022-11-09 12:29:38 +00:00

64 lines
2.1 KiB
C++

// Copyright (C) 2020 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0 WITH Qt-GPL-exception-1.0
#pragma once
#include <QtCore/qmetatype.h>
#include <QtCore/qdatastream.h>
#include <QtGui/qevent.h>
#include "instancecontainer.h"
namespace QmlDesigner {
class RequestModelNodePreviewImageCommand
{
friend QDataStream &operator>>(QDataStream &in, RequestModelNodePreviewImageCommand &command);
friend QDebug operator <<(QDebug debug, const RequestModelNodePreviewImageCommand &command);
public:
RequestModelNodePreviewImageCommand();
explicit RequestModelNodePreviewImageCommand(qint32 id, const QSize &size,
const QString &componentPath, qint32 renderItemId);
qint32 instanceId() const;
QSize size() const;
QString componentPath() const;
qint32 renderItemId() const;
private:
qint32 m_instanceId;
QSize m_size;
QString m_componentPath;
qint32 m_renderItemId;
};
inline bool operator==(const RequestModelNodePreviewImageCommand &first,
const RequestModelNodePreviewImageCommand &second)
{
return first.instanceId() == second.instanceId()
&& first.size() == second.size()
&& first.componentPath() == second.componentPath()
&& first.renderItemId() == second.renderItemId();
}
inline size_t qHash(const RequestModelNodePreviewImageCommand &key, size_t seed = 0)
{
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
return ::qHash(key.instanceId(), seed)
^ ::qHash(std::make_pair(key.size().width(), key.size().height()), seed)
^ ::qHash(key.componentPath(), seed) ^ ::qHash(key.renderItemId(), seed);
#else
return qHashMulti(seed, key.instanceId(), key.size(), key.componentPath(), key.renderItemId());
#endif
}
QDataStream &operator<<(QDataStream &out, const RequestModelNodePreviewImageCommand &command);
QDataStream &operator>>(QDataStream &in, RequestModelNodePreviewImageCommand &command);
QDebug operator <<(QDebug debug, const RequestModelNodePreviewImageCommand &command);
} // namespace QmlDesigner
Q_DECLARE_METATYPE(QmlDesigner::RequestModelNodePreviewImageCommand)