Continues migration with DDS, Common
This commit is contained in:
1 parent
9b15cee841
commit
fa48db111e
668 files changed
+111841
-2
No files matched your search
Executable
+187
@@ -0,0 +1,187 @@
|
||||
#pragma once
|
||||
|
||||
#include <LtsScriptTimeline/ltsscripttimeline_export.h>
|
||||
#include "track_entry_painters.h"
|
||||
|
||||
#include <QJsonObject>
|
||||
#include <QObject>
|
||||
|
||||
namespace LtsScriptTimeline
|
||||
{
|
||||
|
||||
class LTSSCRIPTTIMELINE_EXPORT TrackEntry : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit TrackEntry(const TrackEntryType &tet = TrackEntryType::INVALID)
|
||||
: QObject()
|
||||
, m_topicId(-1)
|
||||
, m_startTime(-1)
|
||||
, m_length(-1)
|
||||
, m_type(tet)
|
||||
, isSet(false)
|
||||
, index(-1)
|
||||
, x(-1)
|
||||
, y(-1)
|
||||
, h(-1)
|
||||
, w(-1)
|
||||
{}
|
||||
|
||||
explicit TrackEntry(int topicId,
|
||||
int startTime,
|
||||
int length,
|
||||
LtsScriptTimeline::TrackEntryType type,
|
||||
const QJsonObject &detailData,
|
||||
const QString &channelName,
|
||||
const QString &description)
|
||||
: QObject()
|
||||
, m_topicId(topicId)
|
||||
, m_startTime(startTime)
|
||||
, m_length(length)
|
||||
, m_type(type)
|
||||
, isSet(false)
|
||||
, index(-1)
|
||||
, x(-1)
|
||||
, y(-1)
|
||||
, h(-1)
|
||||
, w(-1)
|
||||
, m_detailData(detailData)
|
||||
, m_channelName(channelName)
|
||||
|
||||
, m_description(description)
|
||||
{}
|
||||
|
||||
|
||||
explicit TrackEntry(const TrackEntry &te)
|
||||
: QObject()
|
||||
, m_topicId(te.m_topicId)
|
||||
, m_startTime(te.m_startTime)
|
||||
, m_length(te.m_length)
|
||||
, m_type(te.m_type)
|
||||
, isSet(te.isSet)
|
||||
, index(te.index)
|
||||
, x(te.x)
|
||||
, y(te.y)
|
||||
, h(te.h)
|
||||
, w(te.w)
|
||||
, m_detailData(te.m_detailData)
|
||||
, m_channelName(te.m_channelName)
|
||||
, m_description(te.m_description)
|
||||
, m_filterParentChannel(te.m_filterParentChannel)
|
||||
{}
|
||||
|
||||
explicit TrackEntry(TrackEntry *te)
|
||||
: QObject()
|
||||
, m_topicId(te->m_topicId)
|
||||
, m_startTime(te->m_startTime)
|
||||
, m_length(te->m_length)
|
||||
, m_type(te->m_type)
|
||||
, isSet(te->isSet)
|
||||
, index(te->index)
|
||||
, x(te->x)
|
||||
, y(te->y)
|
||||
, h(te->h)
|
||||
, w(te->w)
|
||||
, m_detailData(te->m_detailData)
|
||||
, m_channelName(te->m_channelName)
|
||||
, m_description(te->m_description)
|
||||
, m_filterParentChannel(te->m_filterParentChannel)
|
||||
{}
|
||||
|
||||
TrackEntry(const TrackEntryType &tet, int length)
|
||||
: QObject()
|
||||
, m_topicId(-1)
|
||||
, m_startTime(-1)
|
||||
, m_length(length)
|
||||
, m_type(tet)
|
||||
, isSet(false)
|
||||
, index(-1)
|
||||
, x(-1)
|
||||
, y(-1)
|
||||
, h(-1)
|
||||
, w(-1)
|
||||
{}
|
||||
|
||||
~TrackEntry()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
TrackEntry &operator=(const TrackEntry &other)
|
||||
{
|
||||
this->m_topicId = other.m_topicId;
|
||||
this->m_startTime = other.m_startTime;
|
||||
this->m_length = other.m_length;
|
||||
this->m_type = other.m_type;
|
||||
this->isSet = other.isSet;
|
||||
this->index = other.index;
|
||||
this->x = other.x;
|
||||
this->y = other.y;
|
||||
this->h = other.h;
|
||||
this->w = other.w;
|
||||
this->m_detailData = other.m_detailData;
|
||||
this->m_channelName = other.m_channelName;
|
||||
this->m_filterParentChannel = other.m_filterParentChannel;
|
||||
this->m_description = other.m_description;
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
int m_topicId;
|
||||
int m_startTime;
|
||||
int m_length;
|
||||
TrackEntryType m_type;
|
||||
bool isSet;
|
||||
int index;
|
||||
|
||||
|
||||
double x;
|
||||
double y;
|
||||
double h;
|
||||
double w;
|
||||
|
||||
QJsonObject m_detailData;
|
||||
QString m_channelName;
|
||||
QString m_description;
|
||||
QString m_filterParentChannel;
|
||||
|
||||
QJsonObject toJson() const
|
||||
{
|
||||
return QJsonObject({{QStringLiteral("topicId"), m_topicId},
|
||||
{QStringLiteral("startTime"), m_startTime},
|
||||
{QStringLiteral("length"), m_length},
|
||||
{QStringLiteral("type"), static_cast<int>(m_type)},
|
||||
{QStringLiteral("isSet"), isSet},
|
||||
{QStringLiteral("index"), index},
|
||||
{QStringLiteral("x"), x},
|
||||
{QStringLiteral("y"), y},
|
||||
{QStringLiteral("w"), w},
|
||||
{QStringLiteral("h"), h},
|
||||
{QStringLiteral("detailData"), m_detailData},
|
||||
{QStringLiteral("channelName"), m_channelName},
|
||||
{QStringLiteral("description"), m_description},
|
||||
{QStringLiteral("filterParentChannel"), m_filterParentChannel}
|
||||
});
|
||||
}
|
||||
|
||||
void fromJson(const QJsonObject &obj)
|
||||
{
|
||||
m_topicId = obj[QStringLiteral("topicId")].toInt();
|
||||
m_startTime = obj[QStringLiteral("startTime")].toInt(-1);
|
||||
m_length = obj[QStringLiteral("length")].toInt(-1);
|
||||
m_type = static_cast<TrackEntryType>(obj[QStringLiteral("type")].toInt());
|
||||
isSet = obj[QStringLiteral("isSet")].toBool();
|
||||
index = obj[QStringLiteral("index")].toInt();
|
||||
x = obj[QStringLiteral("x")].toDouble();
|
||||
y = obj[QStringLiteral("y")].toDouble();
|
||||
w = obj[QStringLiteral("w")].toDouble();
|
||||
h = obj[QStringLiteral("h")].toDouble();
|
||||
m_detailData = obj[QStringLiteral("detailData")].toObject();
|
||||
m_channelName = obj[QStringLiteral("channelName")].toString();
|
||||
m_description = obj[QStringLiteral("description")].toString();
|
||||
m_filterParentChannel = obj[QStringLiteral("filterParentChannel")].toString();
|
||||
}
|
||||
};
|
||||
|
||||
}
|
||||
Reference in new issue
Block a user