81 lines
2.3 KiB
C++
Executable File
81 lines
2.3 KiB
C++
Executable File
/**
|
|
* @RDE_HEADER@
|
|
* The ElokaDialog shows all electronic warfare and offers options to creating, updating and deleting
|
|
* $Id$
|
|
* $HeadURL$
|
|
* $Author$
|
|
* Created by Astrid Mueller, SGAS, 2017-10-17
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include <set>
|
|
|
|
#include <LtsWidgets/lts_dialog.h>
|
|
|
|
#include <AudioVideoManagement/logger.h>
|
|
#include <AudioVideoManagement/avm_dtc.h>
|
|
#include <AudioVideoManagement/ava_types.h>
|
|
#include <AudioVideoManagement/list_response_collector.h>
|
|
|
|
#include <avm_eloka_model.h>
|
|
|
|
namespace Ui
|
|
{
|
|
class ElokaDialog;
|
|
}
|
|
|
|
namespace AudioVideoManagement
|
|
{
|
|
|
|
class AvaSession;
|
|
class StreamNameMapping;
|
|
|
|
class ElokaDialog : public LtsWidgets::LtsDialog
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
ElokaDialog(LtsSession::LtsSession *session, AvaSession *avaSession, Interface::Dtc *avmDtc, StreamNameMapping *streamNameMapping,
|
|
const QString &menuGroup, QWidget *parent = nullptr);
|
|
~ElokaDialog();
|
|
|
|
private slots:
|
|
void onAvaSessionEstablished();
|
|
void onAvaSessionDisconnected();
|
|
|
|
void onAddClicked();
|
|
void onEditClicked();
|
|
void onRemoveClicked();
|
|
void onSelectionChanged();
|
|
void onPrint();
|
|
|
|
private:
|
|
void retranslate() override;
|
|
void setAvaSessionStatus(bool established);
|
|
void getUsedRadioCircuits();
|
|
bool isCnr(ElokaData& data, const QMultiMap<qint32, ElokaCircuitType>& userProfile);
|
|
bool isTvc(ElokaData& data, const QMultiMap<qint32, ElokaCircuitType>& userProfile);
|
|
bool isAnnouncement(ElokaData& data);
|
|
void onQueryElokaResponse(const QVector<AvaEloka> &&eloka);
|
|
void tableColumnOrganiserSetting() override;
|
|
|
|
|
|
private:
|
|
Ui::ElokaDialog *m_ui;
|
|
QString m_menuGroup;
|
|
|
|
ElokaModel *m_elokaModel;
|
|
LtsSession::LtsSession *m_session;
|
|
AvaSession *m_avaSession;
|
|
QueryElokaListCollector m_elokaListCollector;
|
|
StreamNameMapping *m_streamNameMapping;
|
|
Interface::Dtc *m_avmDtc;
|
|
bool m_avaSessionEstablished;
|
|
std::vector<qint32> m_usedCnr;
|
|
std::vector<qint32> m_usedTvc;
|
|
std::vector<qint32> m_usedAnnouncement;
|
|
LOGGER_T m_logger;
|
|
};
|
|
} // namespace
|