2022-08-19 15:59:36 +02:00
|
|
|
// Copyright (C) 2020 The Qt Company Ltd.
|
|
|
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0 WITH Qt-GPL-exception-1.0
|
2019-11-13 11:16:55 +01:00
|
|
|
|
2020-02-11 11:33:25 +02:00
|
|
|
#include "view3dactioncommand.h"
|
2019-11-13 11:16:55 +01:00
|
|
|
|
|
|
|
#include <QDebug>
|
2019-12-11 21:29:10 +02:00
|
|
|
#include <QDataStream>
|
2019-11-13 11:16:55 +01:00
|
|
|
|
|
|
|
namespace QmlDesigner {
|
|
|
|
|
2022-09-14 11:46:08 +02:00
|
|
|
View3DActionCommand::View3DActionCommand(View3DActionType type, const QVariant &value)
|
2020-02-11 11:33:25 +02:00
|
|
|
: m_type(type)
|
2022-05-31 16:19:29 +03:00
|
|
|
, m_value(value)
|
2019-11-13 11:16:55 +01:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2020-02-11 11:33:25 +02:00
|
|
|
bool View3DActionCommand::isEnabled() const
|
2019-11-13 11:16:55 +01:00
|
|
|
{
|
2022-05-31 16:19:29 +03:00
|
|
|
return m_value.toBool();
|
|
|
|
}
|
|
|
|
|
|
|
|
QVariant View3DActionCommand::value() const
|
|
|
|
{
|
|
|
|
return m_value;
|
2019-11-13 11:16:55 +01:00
|
|
|
}
|
|
|
|
|
2022-09-14 11:46:08 +02:00
|
|
|
View3DActionType View3DActionCommand::type() const
|
2019-11-13 11:16:55 +01:00
|
|
|
{
|
2020-02-11 11:33:25 +02:00
|
|
|
return m_type;
|
|
|
|
}
|
|
|
|
|
2021-10-19 10:04:15 +03:00
|
|
|
int View3DActionCommand::position() const
|
|
|
|
{
|
2022-05-31 16:19:29 +03:00
|
|
|
bool ok = false;
|
|
|
|
int result = m_value.toInt(&ok);
|
|
|
|
if (!ok) {
|
|
|
|
qWarning() << "View3DActionCommand: returning a position that is not int; command type = "
|
|
|
|
<< m_type;
|
|
|
|
}
|
|
|
|
|
|
|
|
return result;
|
2021-10-19 10:04:15 +03:00
|
|
|
}
|
|
|
|
|
2020-02-11 11:33:25 +02:00
|
|
|
QDataStream &operator<<(QDataStream &out, const View3DActionCommand &command)
|
|
|
|
{
|
2022-05-31 16:19:29 +03:00
|
|
|
out << command.value();
|
2022-09-14 11:46:08 +02:00
|
|
|
out << command.type();
|
2019-11-13 11:16:55 +01:00
|
|
|
|
|
|
|
return out;
|
|
|
|
}
|
|
|
|
|
2020-02-11 11:33:25 +02:00
|
|
|
QDataStream &operator>>(QDataStream &in, View3DActionCommand &command)
|
2019-11-13 11:16:55 +01:00
|
|
|
{
|
2022-09-14 11:46:08 +02:00
|
|
|
in >> command.m_value;
|
|
|
|
in >> command.m_type;
|
2019-11-13 11:16:55 +01:00
|
|
|
|
|
|
|
return in;
|
|
|
|
}
|
|
|
|
|
2020-02-11 11:33:25 +02:00
|
|
|
QDebug operator<<(QDebug debug, const View3DActionCommand &command)
|
2019-11-13 11:16:55 +01:00
|
|
|
{
|
2020-02-11 11:33:25 +02:00
|
|
|
return debug.nospace() << "View3DActionCommand(type: "
|
|
|
|
<< command.m_type << ","
|
2022-05-31 16:19:29 +03:00
|
|
|
<< command.m_value << ")\n";
|
2019-11-13 11:16:55 +01:00
|
|
|
}
|
|
|
|
|
2022-09-14 11:46:08 +02:00
|
|
|
template<typename Enumeration>
|
|
|
|
constexpr std::underlying_type_t<Enumeration> to_underlying(Enumeration enumeration) noexcept
|
|
|
|
{
|
|
|
|
static_assert(std::is_enum_v<Enumeration>, "to_underlying expect an enumeration");
|
|
|
|
return static_cast<std::underlying_type_t<Enumeration>>(enumeration);
|
|
|
|
}
|
|
|
|
|
|
|
|
QDebug operator<<(QDebug debug, View3DActionType type)
|
|
|
|
{
|
|
|
|
return debug.nospace() << to_underlying(type);
|
|
|
|
}
|
|
|
|
|
2019-11-13 11:16:55 +01:00
|
|
|
} // namespace QmlDesigner
|