107 lines
3.5 KiB
C++
Executable File
107 lines
3.5 KiB
C++
Executable File
/**
|
|
* @RDE_HEADER@
|
|
* Main Test UI for ADLER WebsocketSimulator
|
|
* $Id$
|
|
* $HeadURL$
|
|
* $Author$
|
|
* Created by Patric Karwat, ESZS, 2025-03-03
|
|
*/
|
|
|
|
#pragma once
|
|
#include <QTimer>
|
|
#include <QWidget>
|
|
|
|
namespace Ui
|
|
{
|
|
class ICDTest;
|
|
}
|
|
namespace AdlerJson
|
|
{
|
|
struct EXTelegramBase;
|
|
enum class Szenarstatus;
|
|
} // namespace AdlerJson
|
|
namespace AdlerWebSocketSimulator
|
|
{
|
|
class ICDTest : public QWidget
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
explicit ICDTest(QWidget *parent = nullptr);
|
|
~ICDTest();
|
|
void initParty(int partyId, const QString &name, int saaId);
|
|
void messsageFromProxy(const QString &message);
|
|
|
|
signals:
|
|
void messsageToProxy(const QString &message);
|
|
void doRestart();
|
|
|
|
private slots:
|
|
void generateConnectMessage();
|
|
void generateConnectMessageStandalone();
|
|
|
|
void sendDirectInputMessage();
|
|
void generateDisconnectMessage();
|
|
void generateTechnischeQuittierung();
|
|
void generateStatusMessageStop();
|
|
void generateStatusMessagePlanned();
|
|
void generateStatusMessageInactive();
|
|
void generateStatusMessageActive();
|
|
void generateStatusMessage(AdlerJson::Szenarstatus status);
|
|
void generateConnectionTestMessage();
|
|
// fire
|
|
void generateEXFQBABBFK(); // Planungsdaten
|
|
void generateEXFQBABBFK_Gmlrs(); // Planungsdaten Gmlrs
|
|
void generateEXFQBABBFK_Dm72(); // Planungsdaten DM72
|
|
void generateEXFQBABBFK_ESG(); // Planungsdaten Original ESG-Telegramm
|
|
void generateEXFQBABBFK_SMART_ESG(); // Planungsdaten SMART Original ESG-Telegramm
|
|
void generateEXFQFN(); // Feuern
|
|
void generateEXFQFN_Gmlrs(); // Feuern Gmlrs
|
|
void generateEXFQFN_Dm72(); // Feuern DM72
|
|
void generateEXFQFN_ESG(); // Feuern Original ESG-Telegramm
|
|
void generateFlugbahndaten_ESG();
|
|
|
|
void generateEXFH(); // Feuer Halt / Einstellen
|
|
void generateEXSQFS(); // Stellungsmeldung Feuerstellung
|
|
void generateEXSQWS(); // Stellungsmeldung Waffensystem
|
|
void generateEXSQWS_Gmlrs(); // Stellungsmeldung Waffensystem Gmlrs
|
|
void generateEXSQWS_dm72(); // Stellungsmeldung Waffensystem DM72
|
|
void generateEXSQWS_ESG(); // Stellungsmeldung Waffensystem
|
|
// dont fire
|
|
void generateEXFQnFN(); // Nicht Feuern -> wird ausgeführt wenn Feuerhalt ausgeführt wurde
|
|
// special EXSQWS
|
|
void generateEXSQWS_8MTP(); // Stellungsmeldung Waffensystem
|
|
|
|
void generateEXSQLP(); // Stellungsmeldung Ladeplatz
|
|
void generateEXRES(); // Senden Erkundungsergebnisse
|
|
void generateEXHQK(); // Fuehrungslinien (Koordinierungsmassnahmen zur Feuerunterstuetzung)
|
|
void generateEXHQ_G_ALLE_EX_L24(); // EX-HQ(G) Aus Jira-Punkt E01562_388
|
|
void generateEXHQ_K_ALLE_EX_L25(); // EX-HQ(K) Aus Jira-Punkt E01562_388
|
|
void generateEXHQG(); // Fuehrungslinien und Grenzen
|
|
void generateEXAQ(); // Freitextmeldung
|
|
void generateEXFlugbahnberechnung(); // Flugbahnberechnung
|
|
void generateEXFlugbahndaten(); // Flugbahndaten
|
|
void onSendHeartbeatChanged();
|
|
|
|
private:
|
|
void generateConnectionPage();
|
|
void generateEsgPage();
|
|
void generateFirePage();
|
|
void generatePositionReportsPage();
|
|
void generateTrajectoryGenerationPage();
|
|
void generateTextMessagePage();
|
|
void generateErkundungsergebnissePage();
|
|
void generateStatusPage();
|
|
void generateEXSQWS_1WS(const QString &verein, const QString &kenner);
|
|
|
|
private:
|
|
Ui::ICDTest *m_ui;
|
|
int m_partyId{0};
|
|
int m_saaId{0};
|
|
QTimer m_heartbeatTimer;
|
|
QString m_lastFeuerkampfReferenz;
|
|
QString m_fixedReference;
|
|
};
|
|
|
|
} // namespace AdlerWebSocketSimulator
|