Ref T289, adjusted log.display after ISimulator merge

This commit is contained in:
Klaus Basan
2018-07-11 23:40:10 +02:00
parent 46ac34507f
commit b98a405ed2
5 changed files with 62 additions and 56 deletions

View File

@@ -75,20 +75,20 @@ namespace BlackGui
// void // void
} }
void CInterpolationLogDisplay::setSimulator(CSimulatorCommon *simulatorCommon) void CInterpolationLogDisplay::setSimulator(ISimulator *simulator)
{ {
if (simulatorCommon && simulatorCommon == m_simulatorCommon) { return; } // same if (simulator && simulator == m_simulator) { return; } // same
if (m_simulatorCommon) if (m_simulator)
{ {
this->disconnect(m_simulatorCommon); this->disconnect(m_simulator);
m_simulatorCommon->disconnect(this); m_simulator->disconnect(this);
} }
m_simulatorCommon = simulatorCommon; m_simulator = simulator;
if (!simulatorCommon) { return; } if (!simulator) { return; }
connect(m_simulatorCommon, &CSimulatorCommon::receivedRequestedElevation, this, &CInterpolationLogDisplay::onElevationReceived, Qt::QueuedConnection); connect(m_simulator, &ISimulator::receivedRequestedElevation, this, &CInterpolationLogDisplay::onElevationReceived, Qt::QueuedConnection);
connect(m_simulatorCommon, &CSimulatorCommon::requestedElevation, this, &CInterpolationLogDisplay::onElevationRequested, Qt::QueuedConnection); connect(m_simulator, &ISimulator::requestedElevation, this, &CInterpolationLogDisplay::onElevationRequested, Qt::QueuedConnection);
connect(m_simulatorCommon, &CSimulatorCommon::destroyed, this, &CInterpolationLogDisplay::onSimulatorUnloaded); connect(m_simulator, &ISimulator::destroyed, this, &CInterpolationLogDisplay::onSimulatorUnloaded);
connect(m_simulatorCommon, &CSimulatorCommon::simulatorStatusChanged, this, &CInterpolationLogDisplay::onSimulatorStatusChanged); connect(m_simulator, &ISimulator::simulatorStatusChanged, this, &CInterpolationLogDisplay::onSimulatorStatusChanged);
} }
void CInterpolationLogDisplay::setAirspaceMonitor(CAirspaceMonitor *airspaceMonitor) void CInterpolationLogDisplay::setAirspaceMonitor(CAirspaceMonitor *airspaceMonitor)
@@ -110,14 +110,14 @@ namespace BlackGui
ui->led_Updating->blink(250); ui->led_Updating->blink(250);
if (!this->checkLogPrerequisites()) if (!this->checkLogPrerequisites())
{ {
ui->le_SimulatorSpecific->setText(m_simulatorCommon->getStatisticsSimulatorSpecific()); ui->le_SimulatorSpecific->setText(m_simulator->getStatisticsSimulatorSpecific());
return; return;
} }
// only display visible tab // only display visible tab
if (ui->tw_LogTabs->currentWidget() == ui->tb_TextLog) if (ui->tw_LogTabs->currentWidget() == ui->tb_TextLog)
{ {
const QString log = m_simulatorCommon->latestLoggedDataFormatted(m_callsign); const QString log = m_simulator->latestLoggedDataFormatted(m_callsign);
ui->te_TextLog->setText(log); ui->te_TextLog->setText(log);
} }
else if (ui->tw_LogTabs->currentWidget() == ui->tb_DataFlow) else if (ui->tw_LogTabs->currentWidget() == ui->tb_DataFlow)
@@ -128,18 +128,18 @@ namespace BlackGui
static const QString msTimeStr("%1ms"); static const QString msTimeStr("%1ms");
static const QString updateTimes("%1ms avg: %2ms max: %3ms"); static const QString updateTimes("%1ms avg: %2ms max: %3ms");
const QString avgUpdateTimeRounded = QString::number(m_simulatorCommon->getStatisticsAverageUpdateTimeMs(), 'f', 2); const QString avgUpdateTimeRounded = QString::number(m_simulator->getStatisticsAverageUpdateTimeMs(), 'f', 2);
ui->le_UpdateTimes->setText(updateTimes. ui->le_UpdateTimes->setText(updateTimes.
arg(m_simulatorCommon->getStatisticsCurrentUpdateTimeMs()). arg(m_simulator->getStatisticsCurrentUpdateTimeMs()).
arg(avgUpdateTimeRounded). arg(avgUpdateTimeRounded).
arg(m_simulatorCommon->getStatisticsMaxUpdateTimeMs())); arg(m_simulator->getStatisticsMaxUpdateTimeMs()));
ui->le_UpdateTimes->home(false); ui->le_UpdateTimes->home(false);
ui->le_UpdateCount->setText(QString::number(m_simulatorCommon->getStatisticsUpdateRuns())); ui->le_UpdateCount->setText(QString::number(m_simulator->getStatisticsUpdateRuns()));
ui->le_UpdateReqTime->setText(msTimeStr.arg(m_simulatorCommon->getStatisticsAircraftUpdatedRequestedDeltaMs())); ui->le_UpdateReqTime->setText(msTimeStr.arg(m_simulator->getStatisticsAircraftUpdatedRequestedDeltaMs()));
ui->le_Limited->setText(m_simulatorCommon->updateAircraftLimitationInfo()); ui->le_Limited->setText(m_simulator->updateAircraftLimitationInfo());
ui->le_SimulatorSpecific->setText(m_simulatorCommon->getStatisticsSimulatorSpecific()); ui->le_SimulatorSpecific->setText(m_simulator->getStatisticsSimulatorSpecific());
ui->le_SimulatorSpecific->home(false); ui->le_SimulatorSpecific->home(false);
const CClient client = m_airspaceMonitor->getClientOrDefaultForCallsign(m_callsign); const CClient client = m_airspaceMonitor->getClientOrDefaultForCallsign(m_callsign);
@@ -154,14 +154,14 @@ namespace BlackGui
{ {
if (!this->checkLogPrerequisites()) { return; } if (!this->checkLogPrerequisites()) { return; }
const SituationLog sLog = m_simulatorCommon->interpolationLogger().getLastSituationLog(); const SituationLog sLog = m_simulator->interpolationLogger().getLastSituationLog();
ui->te_LastInterpolatedSituation->setText(sLog.situationCurrent.toQString(true)); ui->te_LastInterpolatedSituation->setText(sLog.situationCurrent.toQString(true));
ui->te_SituationChange->setText(sLog.change.toQString(true)); ui->te_SituationChange->setText(sLog.change.toQString(true));
ui->le_SceneryOffset->setText(sLog.change.getGuessedSceneryDeviation().valueRoundedWithUnit(CLengthUnit::ft(), 1)); ui->le_SceneryOffset->setText(sLog.change.getGuessedSceneryDeviation().valueRoundedWithUnit(CLengthUnit::ft(), 1));
ui->le_SceneryOffsetCG->setText(sLog.change.getGuessedSceneryDeviationCG().valueRoundedWithUnit(CLengthUnit::ft(), 1)); ui->le_SceneryOffsetCG->setText(sLog.change.getGuessedSceneryDeviationCG().valueRoundedWithUnit(CLengthUnit::ft(), 1));
const PartsLog pLog = m_simulatorCommon->interpolationLogger().getLastPartsLog(); const PartsLog pLog = m_simulator->interpolationLogger().getLastPartsLog();
ui->te_LastInterpolatedParts->setText(pLog.parts.toQString(true)); ui->te_LastInterpolatedParts->setText(pLog.parts.toQString(true));
} }
@@ -175,7 +175,7 @@ namespace BlackGui
void CInterpolationLogDisplay::onCallsignEntered() void CInterpolationLogDisplay::onCallsignEntered()
{ {
const CCallsign cs = ui->comp_CallsignCompleter->getCallsign(); const CCallsign cs = ui->comp_CallsignCompleter->getCallsign();
if (!m_simulatorCommon) if (!m_simulator)
{ {
this->stop(); this->stop();
return; return;
@@ -185,7 +185,7 @@ namespace BlackGui
// clear last callsign // clear last callsign
if (!m_callsign.isEmpty()) if (!m_callsign.isEmpty())
{ {
m_simulatorCommon->setLogInterpolation(false, m_callsign); // stop logging "old" callsign m_simulator->setLogInterpolation(false, m_callsign); // stop logging "old" callsign
m_callsign = CCallsign(); // clear callsign m_callsign = CCallsign(); // clear callsign
this->clear(); this->clear();
} }
@@ -198,7 +198,7 @@ namespace BlackGui
} }
m_callsign = cs; m_callsign = cs;
m_simulatorCommon->setLogInterpolation(true, cs); m_simulator->setLogInterpolation(true, cs);
if (!this->start()) if (!this->start())
{ {
this->initPartsView(); this->initPartsView();
@@ -224,8 +224,8 @@ namespace BlackGui
void CInterpolationLogDisplay::followInSimulator() void CInterpolationLogDisplay::followInSimulator()
{ {
if (m_callsign.isEmpty()) { return; } if (m_callsign.isEmpty()) { return; }
if (!m_simulatorCommon) { return; } if (!m_simulator) { return; }
m_simulatorCommon->followAircraft(m_callsign); m_simulator->followAircraft(m_callsign);
} }
bool CInterpolationLogDisplay::start() bool CInterpolationLogDisplay::start()
@@ -251,7 +251,7 @@ namespace BlackGui
bool CInterpolationLogDisplay::logCallsign(const CCallsign &cs) const bool CInterpolationLogDisplay::logCallsign(const CCallsign &cs) const
{ {
if (!sGui || sGui->isShuttingDown()) { return false; } if (!sGui || sGui->isShuttingDown()) { return false; }
if (!m_airspaceMonitor || !m_simulatorCommon || m_callsign.isEmpty()) { return false; } if (!m_airspaceMonitor || !m_simulator || m_callsign.isEmpty()) { return false; }
if (cs != m_callsign) { return false; } if (cs != m_callsign) { return false; }
return true; return true;
} }
@@ -259,13 +259,13 @@ namespace BlackGui
void CInterpolationLogDisplay::onAboutToShutdown() void CInterpolationLogDisplay::onAboutToShutdown()
{ {
m_updateTimer.stop(); m_updateTimer.stop();
m_simulatorCommon = nullptr; m_simulator = nullptr;
} }
void CInterpolationLogDisplay::onSimulatorUnloaded() void CInterpolationLogDisplay::onSimulatorUnloaded()
{ {
m_updateTimer.stop(); m_updateTimer.stop();
m_simulatorCommon = nullptr; m_simulator = nullptr;
this->resetStatistics(); this->resetStatistics();
} }
@@ -315,7 +315,7 @@ namespace BlackGui
void CInterpolationLogDisplay::onInjectElevation() void CInterpolationLogDisplay::onInjectElevation()
{ {
if (!m_simulatorCommon) { return; } if (!m_simulator) { return; }
const QString elv = ui->le_InjectElevation->text().trimmed(); const QString elv = ui->le_InjectElevation->text().trimmed();
if (elv.isEmpty()) { return; } if (elv.isEmpty()) { return; }
@@ -326,17 +326,17 @@ namespace BlackGui
alt.parseFromString(elv); alt.parseFromString(elv);
const CElevationPlane ep(situations.latestAdjustedObject(), alt, CElevationPlane::singlePointRadius()); const CElevationPlane ep(situations.latestAdjustedObject(), alt, CElevationPlane::singlePointRadius());
m_simulatorCommon->callbackReceivedRequestedElevation(ep, m_callsign); m_simulator->callbackReceivedRequestedElevation(ep, m_callsign);
} }
void CInterpolationLogDisplay::resetStatistics() void CInterpolationLogDisplay::resetStatistics()
{ {
if (m_simulatorCommon) { m_simulatorCommon->resetAircraftStatistics(); } if (m_simulator) { m_simulator->resetAircraftStatistics(); }
} }
void CInterpolationLogDisplay::resetLastSentValues() void CInterpolationLogDisplay::resetLastSentValues()
{ {
if (m_simulatorCommon) { m_simulatorCommon->resetLastSentValues(); } if (m_simulator) { m_simulator->resetLastSentValues(); }
} }
void CInterpolationLogDisplay::clear() void CInterpolationLogDisplay::clear()
@@ -368,7 +368,7 @@ namespace BlackGui
break; break;
} }
const bool canUpdateLog = m_airspaceMonitor && m_simulatorCommon && m_simulatorCommon->isConnected() && !m_simulatorCommon->isShuttingDown(); const bool canUpdateLog = m_airspaceMonitor && m_simulator && m_simulator->isConnected() && !m_simulator->isShuttingDown();
if (!canUpdateLog) if (!canUpdateLog)
{ {
static const CStatusMessage ms = CStatusMessage(this).validationError("No airspace monitor or simulator or shutting down"); static const CStatusMessage ms = CStatusMessage(this).validationError("No airspace monitor or simulator or shutting down");
@@ -376,7 +376,7 @@ namespace BlackGui
break; break;
} }
if (!m_simulatorCommon->getLogCallsigns().contains(m_callsign)) if (!m_simulator->getLogCallsigns().contains(m_callsign))
{ {
static const CStatusMessage ms = CStatusMessage(this).validationError("No longer logging callsign"); static const CStatusMessage ms = CStatusMessage(this).validationError("No longer logging callsign");
m = ms; m = ms;
@@ -422,8 +422,8 @@ namespace BlackGui
void CInterpolationLogDisplay::requestElevation(const CAircraftSituation &situation) void CInterpolationLogDisplay::requestElevation(const CAircraftSituation &situation)
{ {
if (!m_simulatorCommon) { return; } if (!m_simulator) { return; }
m_simulatorCommon->requestElevationBySituation(situation); m_simulator->requestElevationBySituation(situation);
} }
void CInterpolationLogDisplay::linkWithAirspaceMonitor() void CInterpolationLogDisplay::linkWithAirspaceMonitor()

View File

@@ -14,7 +14,7 @@
#include "blackgui/overlaymessagesframe.h" #include "blackgui/overlaymessagesframe.h"
#include "blackgui/blackguiexport.h" #include "blackgui/blackguiexport.h"
#include "blackcore/simulatorcommon.h" #include "blackcore/simulator.h"
#include "blackmisc/aviation/callsign.h" #include "blackmisc/aviation/callsign.h"
#include "blackmisc/identifiable.h" #include "blackmisc/identifiable.h"
#include <QFrame> #include <QFrame>
@@ -54,7 +54,7 @@ namespace BlackGui
virtual ~CInterpolationLogDisplay(); virtual ~CInterpolationLogDisplay();
//! Set simulator //! Set simulator
void setSimulator(BlackCore::CSimulatorCommon *simulatorCommon); void setSimulator(BlackCore::ISimulator *simulator);
//! Set corresponding airspace monitor //! Set corresponding airspace monitor
void setAirspaceMonitor(BlackCore::CAirspaceMonitor *airspaceMonitor); void setAirspaceMonitor(BlackCore::CAirspaceMonitor *airspaceMonitor);
@@ -105,22 +105,22 @@ namespace BlackGui
//! \copydoc BlackCore::CAirspaceMonitor::addedAircraftSituation //! \copydoc BlackCore::CAirspaceMonitor::addedAircraftSituation
void onPartsAdded(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Aviation::CAircraftParts &parts); void onPartsAdded(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Aviation::CAircraftParts &parts);
//! \copydoc BlackCore::CSimulatorCommon::simulatorStatusChanged //! \copydoc BlackCore::ISimulator::simulatorStatusChanged
void onSimulatorStatusChanged(BlackCore::ISimulator::SimulatorStatus status); void onSimulatorStatusChanged(BlackCore::ISimulator::SimulatorStatus status);
//! \copydoc BlackCore::CSimulatorCommon::receivedRequestedElevation //! \copydoc BlackCore::ISimulator::receivedRequestedElevation
void onElevationReceived(const BlackMisc::Geo::CElevationPlane &plane, const BlackMisc::Aviation::CCallsign &callsign); void onElevationReceived(const BlackMisc::Geo::CElevationPlane &plane, const BlackMisc::Aviation::CCallsign &callsign);
//! \copydoc BlackCore::CSimulatorCommon::requestedElevation //! \copydoc BlackCore::ISimulator::requestedElevation
void onElevationRequested(const BlackMisc::Aviation::CCallsign &callsign); void onElevationRequested(const BlackMisc::Aviation::CCallsign &callsign);
//! Call the callback of requested elevations as it would come from the simulator //! Call the callback of requested elevations as it would come from the simulator
void onInjectElevation(); void onInjectElevation();
//! \copydoc BlackCore::CSimulatorCommon::resetAircraftStatistics //! \copydoc BlackCore::ISimulator::resetAircraftStatistics
void resetStatistics(); void resetStatistics();
//! \copydoc BlackCore::CSimulatorCommon::resetLastSentValues //! \copydoc BlackCore::ISimulator::resetLastSentValues
void resetLastSentValues(); void resetLastSentValues();
//! Clear //! Clear
@@ -143,7 +143,7 @@ namespace BlackGui
QScopedPointer<Ui::CInterpolationLogDisplay> ui; QScopedPointer<Ui::CInterpolationLogDisplay> ui;
QTimer m_updateTimer; QTimer m_updateTimer;
QPointer<BlackCore::CSimulatorCommon> m_simulatorCommon; //!< related simulator QPointer<BlackCore::ISimulator> m_simulator; //!< related simulator
QPointer<BlackCore::CAirspaceMonitor> m_airspaceMonitor; //!< related airspace monitor QPointer<BlackCore::CAirspaceMonitor> m_airspaceMonitor; //!< related airspace monitor
BlackMisc::Aviation::CCallsign m_callsign; //!< current callsign BlackMisc::Aviation::CCallsign m_callsign; //!< current callsign
int m_elvRequested = 0; //!< counted via signal int m_elvRequested = 0; //!< counted via signal

View File

@@ -241,7 +241,7 @@
<item> <item>
<widget class="QTabWidget" name="tw_LogTabs"> <widget class="QTabWidget" name="tw_LogTabs">
<property name="currentIndex"> <property name="currentIndex">
<number>2</number> <number>0</number>
</property> </property>
<widget class="QWidget" name="tb_DataFlow"> <widget class="QWidget" name="tb_DataFlow">
<attribute name="title"> <attribute name="title">
@@ -404,6 +404,9 @@
</item> </item>
<item row="0" column="8"> <item row="0" column="8">
<widget class="QLabel" name="lbl_SceneryOffsetCG"> <widget class="QLabel" name="lbl_SceneryOffsetCG">
<property name="toolTip">
<string>Scenery offset-CG</string>
</property>
<property name="text"> <property name="text">
<string>Off-CG:</string> <string>Off-CG:</string>
</property> </property>
@@ -445,8 +448,11 @@
</item> </item>
<item row="0" column="6"> <item row="0" column="6">
<widget class="QLabel" name="lbl_Offset"> <widget class="QLabel" name="lbl_Offset">
<property name="toolTip">
<string>Scenery offset</string>
</property>
<property name="text"> <property name="text">
<string>Offset:</string> <string>Off.:</string>
</property> </property>
</widget> </widget>
</item> </item>

View File

@@ -9,7 +9,7 @@
#include "interpolationlogdisplaydialog.h" #include "interpolationlogdisplaydialog.h"
#include "ui_interpolationlogdisplaydialog.h" #include "ui_interpolationlogdisplaydialog.h"
#include "blackcore/simulatorcommon.h" #include "blackcore/simulator.h"
using namespace BlackCore; using namespace BlackCore;
@@ -17,13 +17,13 @@ namespace BlackGui
{ {
namespace Components namespace Components
{ {
CInterpolationLogDisplayDialog::CInterpolationLogDisplayDialog(CSimulatorCommon *simulatorCommon, CAirspaceMonitor *airspaceMonitor, QWidget *parent) : CInterpolationLogDisplayDialog::CInterpolationLogDisplayDialog(ISimulator *simulator, CAirspaceMonitor *airspaceMonitor, QWidget *parent) :
QDialog(parent), QDialog(parent),
ui(new Ui::CInterpolationLogDisplayDialog) ui(new Ui::CInterpolationLogDisplayDialog)
{ {
ui->setupUi(this); ui->setupUi(this);
this->setWindowFlags(this->windowFlags() & ~Qt::WindowContextHelpButtonHint); this->setWindowFlags(this->windowFlags() & ~Qt::WindowContextHelpButtonHint);
this->setSimulator(simulatorCommon); this->setSimulator(simulator);
if (airspaceMonitor) if (airspaceMonitor)
{ {
@@ -41,9 +41,9 @@ namespace BlackGui
ui->comp_InterpolationLogDisplay->setParent(nullptr); ui->comp_InterpolationLogDisplay->setParent(nullptr);
} }
void CInterpolationLogDisplayDialog::setSimulator(CSimulatorCommon *simulatorCommon) void CInterpolationLogDisplayDialog::setSimulator(ISimulator *simulator)
{ {
ui->comp_InterpolationLogDisplay->setSimulator(simulatorCommon); ui->comp_InterpolationLogDisplay->setSimulator(simulator);
} }
void CInterpolationLogDisplayDialog::setAirspaceMonitor(CAirspaceMonitor *airspaceMonitor) void CInterpolationLogDisplayDialog::setAirspaceMonitor(CAirspaceMonitor *airspaceMonitor)

View File

@@ -18,7 +18,7 @@
namespace BlackCore namespace BlackCore
{ {
class CSimulatorCommon; class ISimulator;
class CAirspaceMonitor; class CAirspaceMonitor;
} }
namespace Ui { class CInterpolationLogDisplayDialog; } namespace Ui { class CInterpolationLogDisplayDialog; }
@@ -36,14 +36,14 @@ namespace BlackGui
public: public:
//! Constructor //! Constructor
explicit CInterpolationLogDisplayDialog( explicit CInterpolationLogDisplayDialog(
BlackCore::CSimulatorCommon *simulatorCommon, BlackCore::CAirspaceMonitor *airspaceMonitor, BlackCore::ISimulator *simulator, BlackCore::CAirspaceMonitor *airspaceMonitor,
QWidget *parent = nullptr); QWidget *parent = nullptr);
//! Destructor //! Destructor
virtual ~CInterpolationLogDisplayDialog(); virtual ~CInterpolationLogDisplayDialog();
//! Set simulator //! Set simulator
void setSimulator(BlackCore::CSimulatorCommon *simulatorCommon); void setSimulator(BlackCore::ISimulator *simulator);
//! Set airspace monitor //! Set airspace monitor
void setAirspaceMonitor(BlackCore::CAirspaceMonitor *airspaceMonitor); void setAirspaceMonitor(BlackCore::CAirspaceMonitor *airspaceMonitor);