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 //! Inject a text message as received
virtual void testReceivedTextMessages(const BlackMisc::Network::CTextMessageList &textMessages) = 0; 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) //! Request parts for callsign (from another client)
virtual void testRequestAircraftConfig(const BlackMisc::Aviation::CCallsign &callsign) = 0; virtual void testRequestAircraftConfig(const BlackMisc::Aviation::CCallsign &callsign) = 0;

View File

@@ -284,6 +284,15 @@ namespace BlackCore
return false; 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 //! \copydoc IContextNetwork::parseCommandLine
virtual bool parseCommandLine(const QString &commandLine, const BlackMisc::CIdentifier &originator) override 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); 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) void CContextNetwork::testReceivedTextMessages(const CTextMessageList &textMessages)
{ {
if (this->isDebugEnabled()) { CLogMessage(this, CLogCategory::contextSlot()).debug() << Q_FUNC_INFO << textMessages.toQString(); } 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 QString getLibraryInfo(bool detailed) const override;
virtual void testCreateDummyOnlineAtcStations(int number) 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 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 testReceivedTextMessages(const BlackMisc::Network::CTextMessageList &textMessages) override;
virtual void testRequestAircraftConfig(const BlackMisc::Aviation::CCallsign &callsign) override; virtual void testRequestAircraftConfig(const BlackMisc::Aviation::CCallsign &callsign) override;
//! @} //! @}

View File

@@ -308,6 +308,11 @@ namespace BlackCore
m_dBusInterface->callDBus(QLatin1String("testReceivedTextMessages"), textMessages); 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) void CContextNetworkProxy::testRequestAircraftConfig(const CCallsign &callsign)
{ {
m_dBusInterface->callDBus(QLatin1String("testRequestAircraftConfig"), callsign); m_dBusInterface->callDBus(QLatin1String("testRequestAircraftConfig"), callsign);

View File

@@ -126,6 +126,7 @@ namespace BlackCore
virtual void testCreateDummyOnlineAtcStations(int number) 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 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 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 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; 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_TxtMsgFrom->setValidator(new CUpperCaseValidator(ui->le_TxtMsgFrom));
ui->le_TxtMsgTo->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_SendAircraftPartsGui, &QPushButton::pressed, this, &CInternalsComponent::sendAircraftParts);
connect(ui->pb_SendAircraftPartsJson, &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_RequestFromNetwork, &QPushButton::pressed, this, &CInternalsComponent::requestPartsFromNetwork);
connect(ui->pb_DisplayLog, &QPushButton::pressed, this, &CInternalsComponent::displayLogInSimulator); 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); connect(ui->comp_RemoteAircraftSelector, &CRemoteAircraftSelector::changedCallsign, this, &CInternalsComponent::selectorChanged);
this->contextFlagsToGui(); this->contextFlagsToGui();
} }
@@ -204,6 +207,18 @@ namespace BlackGui
sGui->getIContextNetwork()->testReceivedTextMessages(CTextMessageList({ tm })); 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() void CInternalsComponent::logStatusMessage()
{ {
if (ui->le_StatusMessage->text().isEmpty()) { return; } if (ui->le_StatusMessage->text().isEmpty()) { return; }

View File

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

View File

@@ -6,8 +6,8 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>360</width> <width>306</width>
<height>590</height> <height>690</height>
</rect> </rect>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
@@ -239,17 +239,34 @@
</widget> </widget>
</item> </item>
<item> <item>
<spacer name="vs_DebugWidget"> <widget class="QGroupBox" name="gb_Atis">
<property name="orientation"> <property name="title">
<enum>Qt::Vertical</enum> <string>ATIS</string>
</property> </property>
<property name="sizeHint" stdset="0"> <layout class="QGridLayout" name="gridLayout_2">
<size> <item row="0" column="1">
<width>20</width> <widget class="QPushButton" name="pb_SendAtis">
<height>40</height> <property name="text">
</size> <string>send</string>
</property> </property>
</spacer> </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> </item>
</layout> </layout>
</widget> </widget>
@@ -597,6 +614,36 @@
<container>1</container> <container>1</container>
</customwidget> </customwidget>
</customwidgets> </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> <resources>
<include location="../../blackmisc/blackmisc.qrc"/> <include location="../../blackmisc/blackmisc.qrc"/>
</resources> </resources>