Allow to alter model set simulator in pilot client

* selector can be read only
* functions in context to obtain model set from loader/matcher, this will not be used when a plugin driver is present
* adjusted UI
This commit is contained in:
Klaus Basan
2018-02-13 03:57:46 +01:00
parent 9009045dd0
commit 8dc25fbad7
11 changed files with 139 additions and 2 deletions

View File

@@ -148,6 +148,13 @@ namespace BlackCore
//! \note might be slow since list can be big
virtual BlackMisc::Simulation::CAircraftModelList getModelSet() const = 0;
//! Get the model set loader simulator directly
virtual BlackMisc::Simulation::CSimulatorInfo getModelSetLoaderSimulator() const = 0;
//! Set the model set loader simulator directly
//! \note for testing purposes
virtual void setModelSetLoaderSimulator(const BlackMisc::Simulation::CSimulatorInfo &simulator) = 0;
//! Simulators which have an initialized model set
virtual BlackMisc::Simulation::CSimulatorInfo simulatorsWithInitializedModelSet() const = 0;

View File

@@ -87,6 +87,20 @@ namespace BlackCore
return BlackMisc::Simulation::CSimulatorInfo();
}
//! \copydoc IContextSimulator::getModelSetLoaderSimulator
virtual BlackMisc::Simulation::CSimulatorInfo getModelSetLoaderSimulator() const override
{
logEmptyContextWarning(Q_FUNC_INFO);
return BlackMisc::Simulation::CSimulatorInfo();
}
//! \copydoc IContextSimulator::setModelSetLoaderSimulator
virtual void setModelSetLoaderSimulator(const BlackMisc::Simulation::CSimulatorInfo &simulator) override
{
Q_UNUSED(simulator);
logEmptyContextWarning(Q_FUNC_INFO);
}
//! \copydoc IContextSimulator::getModelSetStrings
virtual QStringList getModelSetStrings() const override
{
@@ -94,7 +108,7 @@ namespace BlackCore
return QStringList();
}
//! \copydoc IContextSimulator::getModelSetStrings
//! \copydoc IContextSimulator::getModelSetCompleterStrings
virtual QStringList getModelSetCompleterStrings(bool sorted) const override
{
Q_UNUSED(sorted);

View File

@@ -163,6 +163,21 @@ namespace BlackCore
return m_aircraftMatcher.getModelSet();
}
CSimulatorInfo CContextSimulator::getModelSetLoaderSimulator() const
{
if (m_debugEnabled) { CLogMessage(this, CLogCategory::contextSlot()).debug() << Q_FUNC_INFO; }
return m_modelSetLoader.getSimulator();
}
void CContextSimulator::setModelSetLoaderSimulator(const CSimulatorInfo &simulator)
{
Q_ASSERT_X(simulator.isSingleSimulator(), Q_FUNC_INFO, "Need single simulator");
if (m_debugEnabled) { CLogMessage(this, CLogCategory::contextSlot()).debug() << Q_FUNC_INFO; }
if (this->isSimulatorAvailable()) { return; }
m_modelSetLoader.setSimulator(simulator);
m_aircraftMatcher.setModelSet(m_modelSetLoader.getAircraftModels(), simulator);
}
CSimulatorInfo CContextSimulator::simulatorsWithInitializedModelSet() const
{
if (m_debugEnabled) { CLogMessage(this, CLogCategory::contextSlot()).debug() << Q_FUNC_INFO; }

View File

@@ -84,6 +84,8 @@ namespace BlackCore
virtual BlackMisc::Simulation::CSimulatorInternals getSimulatorInternals() const override;
virtual BlackMisc::Aviation::CAirportList getAirportsInRange() const override;
virtual BlackMisc::Simulation::CAircraftModelList getModelSet() const override;
virtual BlackMisc::Simulation::CSimulatorInfo getModelSetLoaderSimulator() const override;
virtual void setModelSetLoaderSimulator(const BlackMisc::Simulation::CSimulatorInfo &simulator) override;
virtual BlackMisc::Simulation::CSimulatorInfo simulatorsWithInitializedModelSet() const override;
virtual QStringList getModelSetStrings() const override;
virtual QStringList getModelSetCompleterStrings(bool sorted) const override;

View File

@@ -107,6 +107,16 @@ namespace BlackCore
return m_dBusInterface->callDBusRet<BlackMisc::Simulation::CSimulatorInfo>(QLatin1String("simulatorsWithInitializedModelSet"));
}
CSimulatorInfo CContextSimulatorProxy::getModelSetLoaderSimulator() const
{
return m_dBusInterface->callDBusRet<BlackMisc::Simulation::CSimulatorInfo>(QLatin1String("getModelSetLoaderSimulator"));
}
void CContextSimulatorProxy::setModelSetLoaderSimulator(const CSimulatorInfo &simulator)
{
m_dBusInterface->callDBus(QLatin1String("setModelSetLoaderSimulator"), simulator);
}
QStringList CContextSimulatorProxy::getModelSetStrings() const
{
return m_dBusInterface->callDBusRet<QStringList>(QLatin1String("getModelSetStrings"));

View File

@@ -65,6 +65,8 @@ namespace BlackCore
virtual BlackMisc::Aviation::CAirportList getAirportsInRange() const override;
virtual BlackMisc::Simulation::CAircraftModelList getModelSet() const override;
virtual BlackMisc::Simulation::CSimulatorInfo simulatorsWithInitializedModelSet() const override;
virtual BlackMisc::Simulation::CSimulatorInfo getModelSetLoaderSimulator() const override;
virtual void setModelSetLoaderSimulator(const BlackMisc::Simulation::CSimulatorInfo &simulator) override;
virtual QStringList getModelSetStrings() const override;
virtual QStringList getModelSetCompleterStrings(bool sorted) const override;
virtual BlackMisc::Simulation::CAircraftModelList getModelSetModelsStartingWith(const QString &modelString) const override;