Files
qt5-legatus-legacy/Lts/Plugins/AudioVideoManagement/Gui/Eloka/avm_eloka_model.h
T
2026-08-13 18:33:10 +02:00

70 lines
1.5 KiB
C++
Executable File

/**
* @RDE_HEADER@
* Model for electronic warfare (Eloka)
* $Id$
* $HeadURL$
* $Author$
* Created by Astrid Mueller, SGAS, 2017-10-18
*/
#pragma once
#include <LtsWidgets/lts_abstract_table_model.h>
#include <LtsSession/lts_session.h>
#include <Plugins/AudioVideoManagement/avm_data_plugin_interface.h>
#include <AudioVideoManagement/logger.h>
#include <AudioVideoManagement/ava_types.h>
#include <ParticipantManagement/ppm_dtc.h>
namespace AudioVideoManagement
{
enum class ElokaCircuitType
{
Cnr = 1,
Tvc = 2,
Announcement = 3
};
struct ElokaData
{
QString internalName;
QString displayName;
QString action;
qint64 startTime = 0;
qint32 id = 0;
qint32 exerciseId = 0;
qint32 party = 0;
ElokaCircuitType circuitType = ElokaCircuitType::Cnr;
AvaElokaMode mode = AvaElokaMode::EndlessLoop;
};
// --------------------------------------------------------
// ElokaModel
// --------------------------------------------------------
class ElokaModel : public LtsWidgets::LtsAbstractTableModel<ElokaData>
{
Q_OBJECT
public:
enum Columns
{
Party,
RadioCircuit,
Action,
EndlessPlayback,
StartTime
};
ElokaModel(LtsSession::LtsSession *session, QObject *parent = nullptr);
QVariant data(const QModelIndex &index, int role) const override;
private:
LOGGER_T &m_logger;
std::shared_ptr<ParticipantManagement::Interface::Dtc> m_ppmDtc;
};
} // namespace