Ref T423, function to recalculate all aircraft (used when aircraft is moved or such)

This commit is contained in:
Klaus Basan
2018-11-06 01:27:26 +01:00
parent 2d4cdc8010
commit 8cf7f676fa
6 changed files with 23 additions and 0 deletions

View File

@@ -242,6 +242,9 @@ namespace BlackCore
//! Follow aircraft im simulator view
virtual bool followAircraft(const BlackMisc::Aviation::CCallsign &callsign) = 0;
//! Recalculate all aircraft
virtual void recalculateAllAircraft() = 0;
//! Reset model by matching it again
virtual bool resetToModelMatchingAircraft(const BlackMisc::Aviation::CCallsign &callsign) = 0;

View File

@@ -254,6 +254,12 @@ namespace BlackCore
return false;
}
//! \copydoc IContextSimulator::recalculateAllAircraft
virtual void recalculateAllAircraft() override
{
logEmptyContextWarning(Q_FUNC_INFO);
}
//! \copydoc IContextSimulator::resetToModelMatchingAircraft
virtual bool resetToModelMatchingAircraft(const BlackMisc::Aviation::CCallsign &callsign) override
{

View File

@@ -874,6 +874,13 @@ namespace BlackCore
return m_simulatorPlugin.second->followAircraft(callsign);
}
void CContextSimulator::recalculateAllAircraft()
{
if (m_debugEnabled) { CLogMessage(this, CLogCategory::contextSlot()).debug() << Q_FUNC_INFO; }
if (!m_simulatorPlugin.second) { return; }
return m_simulatorPlugin.second->recalculateAllAircraft();
}
bool CContextSimulator::resetToModelMatchingAircraft(const CCallsign &callsign)
{
CSimulatedAircraft aircraft = this->getAircraftInRangeForCallsign(callsign);

View File

@@ -102,6 +102,7 @@ namespace BlackCore
virtual BlackMisc::CPixmap iconForModel(const QString &modelString) const override;
virtual void highlightAircraft(const BlackMisc::Simulation::CSimulatedAircraft &aircraftToHighlight, bool enableHighlight, const BlackMisc::PhysicalQuantities::CTime &displayTime) override;
virtual bool followAircraft(const BlackMisc::Aviation::CCallsign &callsign) override;
virtual void recalculateAllAircraft() override;
virtual bool resetToModelMatchingAircraft(const BlackMisc::Aviation::CCallsign &callsign) override;
virtual void setWeatherActivated(bool activated) override;
virtual void requestWeatherGrid(const BlackMisc::Weather::CWeatherGrid &weatherGrid, const BlackMisc::CIdentifier &identifier) override;

View File

@@ -241,6 +241,11 @@ namespace BlackCore
return m_dBusInterface->callDBusRet<bool>(QLatin1String("followAircraft"), callsign);
}
void CContextSimulatorProxy::recalculateAllAircraft()
{
m_dBusInterface->callDBus(QLatin1String("recalculateAllAircraft"));
}
bool CContextSimulatorProxy::resetToModelMatchingAircraft(const CCallsign &callsign)
{
return m_dBusInterface->callDBusRet<bool>(QLatin1String("resetToModelMatchingAircraft"), callsign, callsign);

View File

@@ -86,6 +86,7 @@ namespace BlackCore
virtual BlackMisc::CPixmap iconForModel(const QString &modelString) const override;
virtual void highlightAircraft(const BlackMisc::Simulation::CSimulatedAircraft &aircraftToHighlight, bool enableHighlight, const BlackMisc::PhysicalQuantities::CTime &displayTime) override;
virtual bool followAircraft(const BlackMisc::Aviation::CCallsign &callsign) override;
virtual void recalculateAllAircraft() override;
virtual bool resetToModelMatchingAircraft(const BlackMisc::Aviation::CCallsign &callsign) override;
virtual void setWeatherActivated(bool activated) override;
virtual void requestWeatherGrid(const BlackMisc::Weather::CWeatherGrid &weatherGrid, const BlackMisc::CIdentifier &identifier) override;