Ref T380, test function and UI (internals) to test ATIS

This commit is contained in:
Klaus Basan
2018-10-02 02:21:28 +02:00
parent 5c925fbf67
commit ec32e3163b
9 changed files with 105 additions and 12 deletions

View File

@@ -322,6 +322,9 @@ namespace BlackCore
//! Inject a text message as received
virtual void testReceivedTextMessages(const BlackMisc::Network::CTextMessageList &textMessages) = 0;
//! Inject an ATIS
virtual void testReceivedAtisMessage(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Aviation::CInformationMessage &msg) = 0;
//! Request parts for callsign (from another client)
virtual void testRequestAircraftConfig(const BlackMisc::Aviation::CCallsign &callsign) = 0;

View File

@@ -284,6 +284,15 @@ namespace BlackCore
return false;
}
//! \copydoc IContextNetwork::testReceivedAtisMessage
virtual void testReceivedAtisMessage(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Aviation::CInformationMessage &msg) override
{
Q_UNUSED(callsign);
Q_UNUSED(msg);
logEmptyContextWarning(Q_FUNC_INFO);
}
//! \copydoc IContextNetwork::parseCommandLine
virtual bool parseCommandLine(const QString &commandLine, const BlackMisc::CIdentifier &originator) override
{

View File

@@ -972,6 +972,15 @@ namespace BlackCore
m_airspace->testAddAircraftParts(callsign, parts, incremental);
}
void CContextNetwork::testReceivedAtisMessage(const CCallsign &callsign, const CInformationMessage &msg)
{
if (this->isDebugEnabled()) { CLogMessage(this, CLogCategory::contextSlot()).debug() << Q_FUNC_INFO << callsign.asString(); }
if (this->network())
{
emit this->network()->atisReplyReceived(callsign, msg);
}
}
void CContextNetwork::testReceivedTextMessages(const CTextMessageList &textMessages)
{
if (this->isDebugEnabled()) { CLogMessage(this, CLogCategory::contextSlot()).debug() << Q_FUNC_INFO << textMessages.toQString(); }

View File

@@ -255,6 +255,7 @@ namespace BlackCore
virtual QString getLibraryInfo(bool detailed) const override;
virtual void testCreateDummyOnlineAtcStations(int number) override;
virtual void testAddAircraftParts(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Aviation::CAircraftParts &parts, bool incremental) override;
virtual void testReceivedAtisMessage(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Aviation::CInformationMessage &msg) override;
virtual void testReceivedTextMessages(const BlackMisc::Network::CTextMessageList &textMessages) override;
virtual void testRequestAircraftConfig(const BlackMisc::Aviation::CCallsign &callsign) override;
//! @}

View File

@@ -308,6 +308,11 @@ namespace BlackCore
m_dBusInterface->callDBus(QLatin1String("testReceivedTextMessages"), textMessages);
}
void CContextNetworkProxy::testReceivedAtisMessage(const CCallsign &callsign, const CInformationMessage &msg)
{
m_dBusInterface->callDBus(QLatin1String("testReceivedAtisMessage"), callsign, msg);
}
void CContextNetworkProxy::testRequestAircraftConfig(const CCallsign &callsign)
{
m_dBusInterface->callDBus(QLatin1String("testRequestAircraftConfig"), callsign);

View File

@@ -126,6 +126,7 @@ namespace BlackCore
virtual void testCreateDummyOnlineAtcStations(int number) override;
virtual void testAddAircraftParts(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Aviation::CAircraftParts &parts, bool incremental) override;
virtual void testReceivedTextMessages(const BlackMisc::Network::CTextMessageList &textMessages) override;
virtual void testReceivedAtisMessage(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Aviation::CInformationMessage &msg) override;
virtual void testRequestAircraftConfig(const BlackMisc::Aviation::CCallsign &callsign) override;
virtual bool testAddAltitudeOffset(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::PhysicalQuantities::CLength &offset = BlackMisc::PhysicalQuantities::CLength::null()) override;
//! @}

View File

@@ -63,6 +63,7 @@ namespace BlackGui
ui->le_TxtMsgFrom->setValidator(new CUpperCaseValidator(ui->le_TxtMsgFrom));
ui->le_TxtMsgTo->setValidator(new CUpperCaseValidator(ui->le_TxtMsgFrom));
ui->le_AtisCallsign->setValidator(new CUpperCaseValidator(ui->le_AtisCallsign));
connect(ui->pb_SendAircraftPartsGui, &QPushButton::pressed, this, &CInternalsComponent::sendAircraftParts);
connect(ui->pb_SendAircraftPartsJson, &QPushButton::pressed, this, &CInternalsComponent::sendAircraftParts);
@@ -83,6 +84,8 @@ namespace BlackGui
connect(ui->pb_RequestFromNetwork, &QPushButton::pressed, this, &CInternalsComponent::requestPartsFromNetwork);
connect(ui->pb_DisplayLog, &QPushButton::pressed, this, &CInternalsComponent::displayLogInSimulator);
connect(ui->pb_SendAtis, &QPushButton::pressed, this, &CInternalsComponent::sendAtis);
connect(ui->comp_RemoteAircraftSelector, &CRemoteAircraftSelector::changedCallsign, this, &CInternalsComponent::selectorChanged);
this->contextFlagsToGui();
}
@@ -204,6 +207,18 @@ namespace BlackGui
sGui->getIContextNetwork()->testReceivedTextMessages(CTextMessageList({ tm }));
}
void CInternalsComponent::sendAtis()
{
if (!sGui || !sGui->getIContextNetwork()) { return; }
if (ui->le_AtisCallsign->text().isEmpty()) { return; }
if (ui->pte_Atis->toPlainText().isEmpty()) { return; }
const CCallsign cs(ui->le_AtisCallsign->text());
const QString text(ui->pte_Atis->toPlainText());
const CInformationMessage im(CInformationMessage::ATIS, text);
sGui->getIContextNetwork()->testReceivedAtisMessage(cs, im);
}
void CInternalsComponent::logStatusMessage()
{
if (ui->le_StatusMessage->text().isEmpty()) { return; }

View File

@@ -56,6 +56,9 @@ namespace BlackGui
//! Send the text message
void sendTextMessage();
//! Send ATIS
void sendAtis();
//! Send a dummy status message
void logStatusMessage();

View File

@@ -6,8 +6,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>360</width>
<height>590</height>
<width>306</width>
<height>690</height>
</rect>
</property>
<property name="windowTitle">
@@ -239,17 +239,34 @@
</widget>
</item>
<item>
<spacer name="vs_DebugWidget">
<property name="orientation">
<enum>Qt::Vertical</enum>
<widget class="QGroupBox" name="gb_Atis">
<property name="title">
<string>ATIS</string>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
<layout class="QGridLayout" name="gridLayout_2">
<item row="0" column="1">
<widget class="QPushButton" name="pb_SendAtis">
<property name="text">
<string>send</string>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QLineEdit" name="le_AtisCallsign">
<property name="placeholderText">
<string>callsign</string>
</property>
</widget>
</item>
<item row="1" column="0" colspan="2">
<widget class="QPlainTextEdit" name="pte_Atis">
<property name="placeholderText">
<string>ATIS</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
@@ -597,6 +614,36 @@
<container>1</container>
</customwidget>
</customwidgets>
<tabstops>
<tabstop>tw_Internals</tabstop>
<tabstop>cb_DebugContextAudio</tabstop>
<tabstop>cb_DebugContextNetwork</tabstop>
<tabstop>cb_DebugContextOwnAircraft</tabstop>
<tabstop>cb_DebugContextSimulator</tabstop>
<tabstop>cb_DebugContextApplication</tabstop>
<tabstop>le_StatusMessage</tabstop>
<tabstop>tb_LogStatusMessage</tabstop>
<tabstop>rb_StatusMessageInfo</tabstop>
<tabstop>rb_StatusMessageWarning</tabstop>
<tabstop>rb_StatusMessageError</tabstop>
<tabstop>le_TxtMsgFrom</tabstop>
<tabstop>le_TxtMsgTo</tabstop>
<tabstop>dsb_TxtMsgFrequency</tabstop>
<tabstop>pb_SendTextMessage</tabstop>
<tabstop>pte_TxtMsg</tabstop>
<tabstop>le_AtisCallsign</tabstop>
<tabstop>pb_SendAtis</tabstop>
<tabstop>pte_Atis</tabstop>
<tabstop>pb_LatestInterpolationLog</tabstop>
<tabstop>pb_LatestPartsLog</tabstop>
<tabstop>pb_DisplayLog</tabstop>
<tabstop>pb_RequestFromNetwork</tabstop>
<tabstop>tb_History</tabstop>
<tabstop>pb_SendAircraftPartsGui</tabstop>
<tabstop>cb_AircraftPartsIncremental</tabstop>
<tabstop>pb_SendAircraftPartsJson</tabstop>
<tabstop>pb_CurrentParts</tabstop>
</tabstops>
<resources>
<include location="../../blackmisc/blackmisc.qrc"/>
</resources>