70 lines
1.5 KiB
C++
Executable File
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
|