refs #780, improved model string completion

* added signatures for completer string (when send via context size matters)
* support of all instaled models in completer
* added BLACKMISC_EXPORT in model cache classes
This commit is contained in:
Klaus Basan
2016-10-27 01:03:36 +02:00
parent 14f3eadc08
commit 1678ca8919
11 changed files with 70 additions and 24 deletions

View File

@@ -150,6 +150,9 @@ namespace BlackCore
//! Model strings
virtual QStringList getModelSetStrings() const = 0;
//! Model set completer string
virtual QStringList getModelSetCompleterStrings(bool sorted) const = 0;
//! Set time synchronization between simulator and user's computer time
//! \remarks not all drivers implement this, e.g. if it is an intrinsic simulator feature
virtual bool setTimeSynchronization(bool enable, const BlackMisc::PhysicalQuantities::CTime &offset) = 0;

View File

@@ -87,6 +87,14 @@ namespace BlackCore
return QStringList();
}
//! \copydoc IContextSimulator::getModelSetStrings
virtual QStringList getModelSetCompleterStrings(bool sorted) const override
{
Q_UNUSED(sorted);
logEmptyContextWarning(Q_FUNC_INFO);
return QStringList();
}
//! \copydoc IContextSimulator::getModelSetModelsStartingWith
virtual BlackMisc::Simulation::CAircraftModelList getModelSetModelsStartingWith(const QString modelString) const override
{

View File

@@ -162,6 +162,12 @@ namespace BlackCore
return this->getModelSet().getModelStringList(false);
}
QStringList CContextSimulator::getModelSetCompleterStrings(bool sorted) const
{
if (m_debugEnabled) { CLogMessage(this, CLogCategory::contextSlot()).debug() << Q_FUNC_INFO << sorted; }
return this->getModelSet().toCompleterStrings(sorted);
}
int CContextSimulator::getModelSetCount() const
{
if (m_debugEnabled) { CLogMessage(this, CLogCategory::contextSlot()).debug() << Q_FUNC_INFO; }
@@ -396,7 +402,7 @@ namespace BlackCore
Q_ASSERT(this->getIContextApplication()->isUsingImplementingObject());
Q_ASSERT(!simulatorInfo.isUnspecified());
ISimulator::SimulatorStatus simStatus = getSimulatorStatusEnum();
const ISimulator::SimulatorStatus simStatus = getSimulatorStatusEnum();
if (!m_simulatorPlugin.first.isUnspecified() &&
m_simulatorPlugin.first == simulatorInfo && simStatus.testFlag(ISimulator::Connected))
{

View File

@@ -82,6 +82,7 @@ namespace BlackCore
virtual BlackMisc::Aviation::CAirportList getAirportsInRange() const override;
virtual BlackMisc::Simulation::CAircraftModelList getModelSet() const override;
virtual QStringList getModelSetStrings() const override;
virtual QStringList getModelSetCompleterStrings(bool sorted) const override;
virtual int getModelSetCount() const override;
virtual BlackMisc::Simulation::CAircraftModelList getModelSetModelsStartingWith(const QString modelString) const override;
virtual bool setTimeSynchronization(bool enable, const BlackMisc::PhysicalQuantities::CTime &offset) override;

View File

@@ -94,6 +94,11 @@ namespace BlackCore
return m_dBusInterface->callDBusRet<QStringList>(QLatin1Literal("getModelSetStrings"));
}
QStringList CContextSimulatorProxy::getModelSetCompleterStrings(bool sorted) const
{
return m_dBusInterface->callDBusRet<QStringList>(QLatin1Literal("getModelSetCompleterStrings"), sorted);
}
CAircraftModelList CContextSimulatorProxy::getModelSetModelsStartingWith(const QString modelString) const
{
return m_dBusInterface->callDBusRet<BlackMisc::Simulation::CAircraftModelList>(QLatin1Literal("getModelSetModelsStartingWith"), modelString);

View File

@@ -61,6 +61,7 @@ namespace BlackCore
virtual BlackMisc::Aviation::CAirportList getAirportsInRange() const override;
virtual BlackMisc::Simulation::CAircraftModelList getModelSet() const override;
virtual QStringList getModelSetStrings() const override;
virtual QStringList getModelSetCompleterStrings(bool sorted) const override;
virtual BlackMisc::Simulation::CAircraftModelList getModelSetModelsStartingWith(const QString modelString) const override;
virtual int getModelSetCount() const override;
virtual BlackMisc::Simulation::CSimulatorSetup getSimulatorSetup() const override;

View File

@@ -419,6 +419,12 @@ namespace BlackCore
return QStringList();
}
QStringList CWebDataServices::getModelCompleterStrings(bool sorted) const
{
if (m_modelDataReader) { return m_modelDataReader->getModels().toCompleterStrings(sorted); }
return QStringList();
}
CAircraftModelList CWebDataServices::getModelsForAircraftDesignatorAndLiveryCombinedCode(const QString &aircraftDesignator, const QString &combinedCode) const
{
if (m_modelDataReader) { return m_modelDataReader->getModelsForAircraftDesignatorAndLiveryCombinedCode(aircraftDesignator, combinedCode); }

View File

@@ -215,6 +215,10 @@ namespace BlackCore
//! \threadsafe
QStringList getModelStrings() const;
//! Model completer string
//! \threadsafe
QStringList getModelCompleterStrings(bool sorted = true) const;
//! Models for combined code and aircraft designator
//! \threadsafe
BlackMisc::Simulation::CAircraftModelList getModelsForAircraftDesignatorAndLiveryCombinedCode(const QString &aircraftDesignator, const QString &combinedCode) const;