mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-14 08:45:36 +08:00
Ref T658, improved matching script
* properties * functions * log improved * fixes
This commit is contained in:
@@ -350,6 +350,7 @@ namespace BlackCore
|
|||||||
QString logMessage;
|
QString logMessage;
|
||||||
const CCallsign callsign = inModel.getCallsign();
|
const CCallsign callsign = inModel.getCallsign();
|
||||||
|
|
||||||
|
if (js.isEmpty() && log) { CMatchingUtils::addLogDetailsToList(log, callsign, QStringLiteral("Matching script is empty")); }
|
||||||
while (!js.isEmpty() && sApp && !sApp->isShuttingDown())
|
while (!js.isEmpty() && sApp && !sApp->isShuttingDown())
|
||||||
{
|
{
|
||||||
rv.runScript = true;
|
rv.runScript = true;
|
||||||
@@ -363,16 +364,19 @@ namespace BlackCore
|
|||||||
if (log)
|
if (log)
|
||||||
{
|
{
|
||||||
CMatchingUtils::addLogDetailsToList(log, callsign, QStringLiteral("Matching script (%1): '%2'").arg(msToString(ms), lf));
|
CMatchingUtils::addLogDetailsToList(log, callsign, QStringLiteral("Matching script (%1): '%2'").arg(msToString(ms), lf));
|
||||||
|
CMatchingUtils::addLogDetailsToList(log, callsign, QStringLiteral("Matching script input model (%1): '%2'").arg(inModel.toQString(true)));
|
||||||
}
|
}
|
||||||
|
|
||||||
QJSEngine engine;
|
QJSEngine engine;
|
||||||
// engine.installExtensions(QJSEngine::ConsoleExtension);
|
// engine.installExtensions(QJSEngine::ConsoleExtension);
|
||||||
static const QJSValue jsInMetaObject = engine.newQMetaObject(&MSInOutValues::staticMetaObject);
|
|
||||||
engine.globalObject().setProperty("SwiftInObject", jsInMetaObject);
|
// Meta objects to create new JS objects, here causing JSValue can't be reassigned to another engine.
|
||||||
static const QJSValue jsSetMetaObject = engine.newQMetaObject(&MSModelSet::staticMetaObject);
|
// static const QJSValue jsInOutMetaObject = engine.newQMetaObject(&MSInOutValues::staticMetaObject);
|
||||||
engine.globalObject().setProperty("SwiftModelSet", jsSetMetaObject);
|
// engine.globalObject().setProperty("SwiftInOutObject", jsInOutMetaObject); // JS: new SwiftInOutObject();
|
||||||
static const QJSValue jsWebServicesMetaObject = engine.newQMetaObject(&MSWebServices::staticMetaObject);
|
// static const QJSValue jsSetMetaObject = engine.newQMetaObject(&MSModelSet::staticMetaObject);
|
||||||
engine.globalObject().setProperty("SwiftWebServices", jsWebServicesMetaObject);
|
// engine.globalObject().setProperty("SwiftModelSet", jsSetMetaObject); // JS: new SwiftModelSet
|
||||||
|
// static const QJSValue jsWebServicesMetaObject = engine.newQMetaObject(&MSWebServices::staticMetaObject);
|
||||||
|
// engine.globalObject().setProperty("SwiftWebServices", jsWebServicesMetaObject); // JS: new SwiftWebServices
|
||||||
|
|
||||||
// init models and set
|
// init models and set
|
||||||
MSInOutValues inObject(inModel);
|
MSInOutValues inObject(inModel);
|
||||||
@@ -429,7 +433,7 @@ namespace BlackCore
|
|||||||
if (model.hasValidDbKey())
|
if (model.hasValidDbKey())
|
||||||
{
|
{
|
||||||
// found full model from DB
|
// found full model from DB
|
||||||
rv.model = model;
|
rv.model = model;
|
||||||
rv.modified = true;
|
rv.modified = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -495,7 +499,7 @@ namespace BlackCore
|
|||||||
}
|
}
|
||||||
|
|
||||||
// log message
|
// log message
|
||||||
if (log && !logMessage.isEmpty()) { CMatchingUtils::addLogDetailsToList(log, callsign, QStringLiteral("Matching script: '%1'").arg(logMessage)); }
|
if (log && !logMessage.isEmpty()) { CMatchingUtils::addLogDetailsToList(log, callsign, QStringLiteral("Matching script log: '%1'").arg(logMessage)); }
|
||||||
|
|
||||||
// end
|
// end
|
||||||
return rv;
|
return rv;
|
||||||
@@ -536,7 +540,7 @@ namespace BlackCore
|
|||||||
const DBTripleIds ids = CAircraftModel::parseNetworkLiveryString(networkLiveryInfo);
|
const DBTripleIds ids = CAircraftModel::parseNetworkLiveryString(networkLiveryInfo);
|
||||||
if (log) { CMatchingUtils::addLogDetailsToList(log, callsign, QStringLiteral("Livery string with ids: '%1'").arg(ids.toQString())); }
|
if (log) { CMatchingUtils::addLogDetailsToList(log, callsign, QStringLiteral("Livery string with ids: '%1'").arg(ids.toQString())); }
|
||||||
|
|
||||||
if (setup.isReverseLookupSwiftLiveryIds())
|
if (!setup.isReverseLookupSwiftLiveryIds())
|
||||||
{
|
{
|
||||||
if (log) { CMatchingUtils::addLogDetailsToList(log, callsign, QStringLiteral("Ignoring livery ids '%1', because of setup").arg(ids.toQString())); }
|
if (log) { CMatchingUtils::addLogDetailsToList(log, callsign, QStringLiteral("Ignoring livery ids '%1', because of setup").arg(ids.toQString())); }
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -146,7 +146,7 @@ namespace BlackMisc
|
|||||||
{
|
{
|
||||||
const QString c(color.trimmed());
|
const QString c(color.trimmed());
|
||||||
QColor q(c);
|
QColor q(c);
|
||||||
if (setQColor(q)) { return; }
|
if (this->setQColor(q)) { return; }
|
||||||
if (c.startsWith("#")) { this->setInvalid(); return; }
|
if (c.startsWith("#")) { this->setInvalid(); return; }
|
||||||
q.setNamedColor("#" + c);
|
q.setNamedColor("#" + c);
|
||||||
this->setQColor(q);
|
this->setQColor(q);
|
||||||
@@ -241,7 +241,7 @@ namespace BlackMisc
|
|||||||
double CRgbColor::colorRange() const
|
double CRgbColor::colorRange() const
|
||||||
{
|
{
|
||||||
if (!this->isValid()) { return 255; }
|
if (!this->isValid()) { return 255; }
|
||||||
if (m_b < 256 && m_g < 256 && m_r < 256) { return 255; }
|
if (m_b < 256 && m_g < 256 && m_r < 256) { return 255; }
|
||||||
if (m_b < 4096 && m_g < 4096 && m_r < 4096) { return 4095; }
|
if (m_b < 4096 && m_g < 4096 && m_r < 4096) { return 4095; }
|
||||||
return 65535;
|
return 65535;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ namespace BlackMisc
|
|||||||
const CAirlineIcaoCode airlineIcao,
|
const CAirlineIcaoCode airlineIcao,
|
||||||
const QString &livery, int liveryId) :
|
const QString &livery, int liveryId) :
|
||||||
MSInOutValues(cs.asString(), cs.getStringAsSet(), cs.getFlightNumber(),
|
MSInOutValues(cs.asString(), cs.getStringAsSet(), cs.getFlightNumber(),
|
||||||
aircraftIcao.getDesignator(), aircraftIcao.getCombinedType(), aircraftIcao.getDbKey(),
|
aircraftIcao.getDesignator(), aircraftIcao.getFamily(), aircraftIcao.getCombinedType(), aircraftIcao.getDbKey(),
|
||||||
airlineIcao.getDesignator(), airlineIcao.getVDesignator(), airlineIcao.getDbKey(),
|
airlineIcao.getDesignator(), airlineIcao.getVDesignator(), airlineIcao.getDbKey(),
|
||||||
livery, liveryId)
|
livery, liveryId)
|
||||||
{ }
|
{ }
|
||||||
@@ -40,7 +40,7 @@ namespace BlackMisc
|
|||||||
|
|
||||||
MSInOutValues::MSInOutValues(const MSInOutValues &sv) :
|
MSInOutValues::MSInOutValues(const MSInOutValues &sv) :
|
||||||
MSInOutValues(sv.m_callsign, sv.m_callsignAsSet, sv.m_flightNumber,
|
MSInOutValues(sv.m_callsign, sv.m_callsignAsSet, sv.m_flightNumber,
|
||||||
sv.getAircraftIcao(), sv.getCombinedType(), sv.getDbAircraftIcaoId(),
|
sv.getAircraftIcao(), sv.getCombinedType(), sv.getAircraftFamily(), sv.getDbAircraftIcaoId(),
|
||||||
sv.getAirlineIcao(), sv.getVirtualAirlineIcao(), sv.getDbAirlineIcaoId(),
|
sv.getAirlineIcao(), sv.getVirtualAirlineIcao(), sv.getDbAirlineIcaoId(),
|
||||||
sv.getLivery(), sv.getDbLiveryId(),
|
sv.getLivery(), sv.getDbLiveryId(),
|
||||||
sv.m_logMessage,
|
sv.m_logMessage,
|
||||||
@@ -148,6 +148,7 @@ namespace BlackMisc
|
|||||||
void MSInOutValues::evaluateChanges(const CAircraftIcaoCode &aircraft, const CAirlineIcaoCode &airline)
|
void MSInOutValues::evaluateChanges(const CAircraftIcaoCode &aircraft, const CAirlineIcaoCode &airline)
|
||||||
{
|
{
|
||||||
m_modifiedAircraftDesignator = aircraft.getDesignator() != m_aircraftIcao;
|
m_modifiedAircraftDesignator = aircraft.getDesignator() != m_aircraftIcao;
|
||||||
|
m_modifiedAircraftFamily = aircraft.getFamily() != m_aircraftFamily;
|
||||||
if (airline.isVirtualAirline())
|
if (airline.isVirtualAirline())
|
||||||
{
|
{
|
||||||
m_modifiedAirlineDesignator = airline.getVDesignator() != m_vAirlineIcao;
|
m_modifiedAirlineDesignator = airline.getVDesignator() != m_vAirlineIcao;
|
||||||
@@ -246,9 +247,30 @@ namespace BlackMisc
|
|||||||
|
|
||||||
QString MSModelSet::findCombinedTypeWithClosestColorLivery(const QString &combinedType, const QString &rgbColor) const
|
QString MSModelSet::findCombinedTypeWithClosestColorLivery(const QString &combinedType, const QString &rgbColor) const
|
||||||
{
|
{
|
||||||
if (rgbColor.isEmpty()) { return {}; }
|
if (combinedType.isEmpty() || rgbColor.isEmpty()) { return QString(); }
|
||||||
CAircraftModelList models = m_modelSet.findByCombinedTypeWithColorLivery(combinedType);
|
CAircraftModelList models = m_modelSet.findByCombinedTypeWithColorLivery(combinedType);
|
||||||
if (models.isEmpty()) { return {}; }
|
if (models.isEmpty()) { return QString(); }
|
||||||
|
const CRgbColor color(rgbColor);
|
||||||
|
models = models.findClosestFuselageColorDistance(color);
|
||||||
|
return models.isEmpty() ? QString() : models.front().getModelString();
|
||||||
|
}
|
||||||
|
|
||||||
|
QString MSModelSet::findClosestCombinedTypeWithClosestColorLivery(const QString &combinedType, const QString &rgbColor) const
|
||||||
|
{
|
||||||
|
QString ms = this->findCombinedTypeWithClosestColorLivery(combinedType, rgbColor);
|
||||||
|
if (!ms.isEmpty()) { return ms; }
|
||||||
|
if (combinedType.size() != 3) { return ms; }
|
||||||
|
QString wildCard(combinedType);
|
||||||
|
if (wildCard.size() != 3) { return QString(); }
|
||||||
|
wildCard[1] = '*';
|
||||||
|
return this->findCombinedTypeWithClosestColorLivery(wildCard, rgbColor);
|
||||||
|
}
|
||||||
|
|
||||||
|
QString MSModelSet::findAircraftFamilyWithClosestColorLivery(const QString &family, const QString &rgbColor) const
|
||||||
|
{
|
||||||
|
if (family.isEmpty() || rgbColor.isEmpty()) { return QString(); }
|
||||||
|
CAircraftModelList models = m_modelSet.findByFamilyWithColorLivery(family);
|
||||||
|
if (models.isEmpty()) { return QString(); }
|
||||||
const CRgbColor color(rgbColor);
|
const CRgbColor color(rgbColor);
|
||||||
models = models.findClosestFuselageColorDistance(color);
|
models = models.findClosestFuselageColorDistance(color);
|
||||||
return models.isEmpty() ? QString() : models.front().getModelString();
|
return models.isEmpty() ? QString() : models.front().getModelString();
|
||||||
|
|||||||
@@ -38,18 +38,21 @@ namespace BlackMisc
|
|||||||
Q_PROPERTY(int dbLiveryId READ getDbLiveryId WRITE setDbLiveryId NOTIFY dbLiveryIdChanged)
|
Q_PROPERTY(int dbLiveryId READ getDbLiveryId WRITE setDbLiveryId NOTIFY dbLiveryIdChanged)
|
||||||
Q_PROPERTY(int dbModelId READ getDbModelId WRITE setDbModelId NOTIFY dbModelIdChanged)
|
Q_PROPERTY(int dbModelId READ getDbModelId WRITE setDbModelId NOTIFY dbModelIdChanged)
|
||||||
Q_PROPERTY(QString aircraftIcao READ getAircraftIcao WRITE setAircraftIcao NOTIFY aircraftIcaoChanged)
|
Q_PROPERTY(QString aircraftIcao READ getAircraftIcao WRITE setAircraftIcao NOTIFY aircraftIcaoChanged)
|
||||||
|
Q_PROPERTY(QString aircraftFamily READ getAircraftFamily)
|
||||||
Q_PROPERTY(QString airlineIcao READ getAirlineIcao WRITE setAirlineIcao NOTIFY airlineIcaoChanged)
|
Q_PROPERTY(QString airlineIcao READ getAirlineIcao WRITE setAirlineIcao NOTIFY airlineIcaoChanged)
|
||||||
Q_PROPERTY(QString virtualAirlineIcao READ getVirtualAirlineIcao WRITE setVirtualAirlineIcao NOTIFY virtualAirlineIcaoChanged)
|
Q_PROPERTY(QString virtualAirlineIcao READ getVirtualAirlineIcao WRITE setVirtualAirlineIcao NOTIFY virtualAirlineIcaoChanged)
|
||||||
Q_PROPERTY(QString livery READ getLivery WRITE setLivery NOTIFY liveryChanged)
|
Q_PROPERTY(QString livery READ getLivery WRITE setLivery NOTIFY liveryChanged)
|
||||||
Q_PROPERTY(QString modelString READ getModelString WRITE setModelString NOTIFY modelStringChanged)
|
Q_PROPERTY(QString modelString READ getModelString WRITE setModelString NOTIFY modelStringChanged)
|
||||||
Q_PROPERTY(QString combinedType READ getCombinedType WRITE setCombinedType NOTIFY combinedTypeChanged)
|
Q_PROPERTY(QString combinedType READ getCombinedType WRITE setCombinedType NOTIFY combinedTypeChanged)
|
||||||
Q_PROPERTY(QString logMessage READ getLogMessage WRITE setLogMessage NOTIFY logMessageChanged)
|
Q_PROPERTY(QString logMessage READ getLogMessage WRITE setLogMessage NOTIFY logMessageChanged)
|
||||||
|
Q_PROPERTY(bool hasAircraftFamily READ hasAircraftFamily)
|
||||||
Q_PROPERTY(bool modified READ isModified WRITE setModified NOTIFY modifiedChanged)
|
Q_PROPERTY(bool modified READ isModified WRITE setModified NOTIFY modifiedChanged)
|
||||||
Q_PROPERTY(bool rerun READ isRerun WRITE setRerun NOTIFY rerunChanged)
|
Q_PROPERTY(bool rerun READ isRerun WRITE setRerun NOTIFY rerunChanged)
|
||||||
// ----- status values -------
|
// ----- status values -------
|
||||||
Q_PROPERTY(bool hasAirlineIcao READ hasAirlineIcao)
|
Q_PROPERTY(bool hasAirlineIcao READ hasAirlineIcao)
|
||||||
Q_PROPERTY(bool hasAircraftIcao READ hasAircraftIcao)
|
Q_PROPERTY(bool hasAircraftIcao READ hasAircraftIcao)
|
||||||
Q_PROPERTY(bool hasModifiedAircraftIcaoDesignator READ hasModifiedAircraftIcaoDesignator)
|
Q_PROPERTY(bool hasModifiedAircraftIcaoDesignator READ hasModifiedAircraftIcaoDesignator)
|
||||||
|
Q_PROPERTY(bool hasModifiedAircraftFamily READ hasModifiedAircraftFamily)
|
||||||
Q_PROPERTY(bool hasModifiedAirlineIcaoDesignator READ hasModifiedAirlineIcaoDesignator)
|
Q_PROPERTY(bool hasModifiedAirlineIcaoDesignator READ hasModifiedAirlineIcaoDesignator)
|
||||||
Q_PROPERTY(bool hasUnmodifiedDesignators READ hasUnmodifiedDesignators)
|
Q_PROPERTY(bool hasUnmodifiedDesignators READ hasUnmodifiedDesignators)
|
||||||
//! @}
|
//! @}
|
||||||
@@ -60,13 +63,13 @@ namespace BlackMisc
|
|||||||
|
|
||||||
//! Ctor
|
//! Ctor
|
||||||
Q_INVOKABLE MSInOutValues(const QString &cs, const QString &csAsSet, const QString &flightNumber,
|
Q_INVOKABLE MSInOutValues(const QString &cs, const QString &csAsSet, const QString &flightNumber,
|
||||||
const QString &aircraftIcao, const QString &combinedType, int idAircraftIcao,
|
const QString &aircraftIcao, const QString &aircraftFamily, const QString &combinedType, int idAircraftIcao,
|
||||||
const QString &airlineIcao, const QString &virtualAirlineIcao, int idAirlineIcao,
|
const QString &airlineIcao, const QString &virtualAirlineIcao, int idAirlineIcao,
|
||||||
const QString &livery, int liveryId,
|
const QString &livery, int liveryId,
|
||||||
const QString &logMsg = {},
|
const QString &logMsg = {},
|
||||||
bool modified = false, bool rerun = false) :
|
bool modified = false, bool rerun = false) :
|
||||||
m_callsign(cs.trimmed().toUpper()), m_callsignAsSet(csAsSet), m_flightNumber(flightNumber),
|
m_callsign(cs.trimmed().toUpper()), m_callsignAsSet(csAsSet), m_flightNumber(flightNumber),
|
||||||
m_aircraftIcao(aircraftIcao.trimmed().toUpper()), m_combinedType(combinedType.trimmed().toUpper()),
|
m_aircraftIcao(aircraftIcao.trimmed().toUpper()), m_aircraftFamily(aircraftFamily.trimmed().toUpper()), m_combinedType(combinedType.trimmed().toUpper()),
|
||||||
m_airlineIcao(airlineIcao.trimmed().toUpper()), m_vAirlineIcao(virtualAirlineIcao),
|
m_airlineIcao(airlineIcao.trimmed().toUpper()), m_vAirlineIcao(virtualAirlineIcao),
|
||||||
m_livery(livery.trimmed().toUpper()),
|
m_livery(livery.trimmed().toUpper()),
|
||||||
m_dbAircraftIcaoId(idAircraftIcao), m_dbAirlineIcaoId(idAirlineIcao), m_dbLiveryId(liveryId),
|
m_dbAircraftIcaoId(idAircraftIcao), m_dbAirlineIcaoId(idAirlineIcao), m_dbLiveryId(liveryId),
|
||||||
@@ -115,6 +118,7 @@ namespace BlackMisc
|
|||||||
|
|
||||||
//! Livery, airline, aircraft, model string @{
|
//! Livery, airline, aircraft, model string @{
|
||||||
const QString &getAircraftIcao() const { return m_aircraftIcao; }
|
const QString &getAircraftIcao() const { return m_aircraftIcao; }
|
||||||
|
const QString &getAircraftFamily() const { return m_aircraftFamily; }
|
||||||
const QString &getAirlineIcao() const { return m_airlineIcao; }
|
const QString &getAirlineIcao() const { return m_airlineIcao; }
|
||||||
const QString &getVirtualAirlineIcao() const { return m_vAirlineIcao; }
|
const QString &getVirtualAirlineIcao() const { return m_vAirlineIcao; }
|
||||||
const QString &getLivery() const { return m_livery; }
|
const QString &getLivery() const { return m_livery; }
|
||||||
@@ -126,8 +130,9 @@ namespace BlackMisc
|
|||||||
void setLivery(const QString &livery);
|
void setLivery(const QString &livery);
|
||||||
void setModelString(const QString &modelString);
|
void setModelString(const QString &modelString);
|
||||||
void setCombinedType(const QString &type);
|
void setCombinedType(const QString &type);
|
||||||
bool hasAircraftIcao() const { return !m_aircraftIcao.isEmpty(); }
|
bool hasAircraftIcao() const { return !m_aircraftIcao.isEmpty(); }
|
||||||
bool hasAirlineIcao() const { return !m_airlineIcao.isEmpty(); }
|
bool hasAirlineIcao() const { return !m_airlineIcao.isEmpty(); }
|
||||||
|
bool hasAircraftFamily() const { return !m_aircraftFamily.isEmpty(); }
|
||||||
//! @}
|
//! @}
|
||||||
|
|
||||||
//! Log. message @{
|
//! Log. message @{
|
||||||
@@ -151,6 +156,7 @@ namespace BlackMisc
|
|||||||
//! Changed values @{
|
//! Changed values @{
|
||||||
bool hasModifiedAircraftIcaoDesignator() const { return m_modifiedAircraftDesignator; }
|
bool hasModifiedAircraftIcaoDesignator() const { return m_modifiedAircraftDesignator; }
|
||||||
bool hasModifiedAirlineIcaoDesignator() const { return m_modifiedAirlineDesignator; }
|
bool hasModifiedAirlineIcaoDesignator() const { return m_modifiedAirlineDesignator; }
|
||||||
|
bool hasModifiedAircraftFamily() const { return m_modifiedAircraftFamily; }
|
||||||
bool hasUnmodifiedDesignators() const { return !this->hasModifiedAirlineIcaoDesignator() && !this->hasModifiedAircraftIcaoDesignator(); }
|
bool hasUnmodifiedDesignators() const { return !this->hasModifiedAirlineIcaoDesignator() && !this->hasModifiedAircraftIcaoDesignator(); }
|
||||||
bool hasChangedAircraftIcao(const BlackMisc::Aviation::CAircraftIcaoCode &aircraftIcao) const;
|
bool hasChangedAircraftIcao(const BlackMisc::Aviation::CAircraftIcaoCode &aircraftIcao) const;
|
||||||
bool hasChangedAircraftIcaoId(const BlackMisc::Aviation::CAircraftIcaoCode &aircraftIcao) const;
|
bool hasChangedAircraftIcaoId(const BlackMisc::Aviation::CAircraftIcaoCode &aircraftIcao) const;
|
||||||
@@ -196,6 +202,7 @@ namespace BlackMisc
|
|||||||
QString m_callsignAsSet;
|
QString m_callsignAsSet;
|
||||||
QString m_flightNumber;
|
QString m_flightNumber;
|
||||||
QString m_aircraftIcao;
|
QString m_aircraftIcao;
|
||||||
|
QString m_aircraftFamily;
|
||||||
QString m_combinedType;
|
QString m_combinedType;
|
||||||
QString m_airlineIcao;
|
QString m_airlineIcao;
|
||||||
QString m_vAirlineIcao;
|
QString m_vAirlineIcao;
|
||||||
@@ -207,6 +214,7 @@ namespace BlackMisc
|
|||||||
int m_dbModelId = -1;
|
int m_dbModelId = -1;
|
||||||
QString m_logMessage;
|
QString m_logMessage;
|
||||||
bool m_modifiedAircraftDesignator = false;
|
bool m_modifiedAircraftDesignator = false;
|
||||||
|
bool m_modifiedAircraftFamily = false;
|
||||||
bool m_modifiedAirlineDesignator = false;
|
bool m_modifiedAirlineDesignator = false;
|
||||||
bool m_modified = false;
|
bool m_modified = false;
|
||||||
bool m_rerun = false;
|
bool m_rerun = false;
|
||||||
@@ -269,6 +277,12 @@ namespace BlackMisc
|
|||||||
//! Model string of model with closest color distance
|
//! Model string of model with closest color distance
|
||||||
Q_INVOKABLE QString findCombinedTypeWithClosestColorLivery(const QString &combinedType, const QString &rgbColor) const;
|
Q_INVOKABLE QString findCombinedTypeWithClosestColorLivery(const QString &combinedType, const QString &rgbColor) const;
|
||||||
|
|
||||||
|
//! Model string of model with closest color distance
|
||||||
|
Q_INVOKABLE QString findClosestCombinedTypeWithClosestColorLivery(const QString &combinedType, const QString &rgbColor) const;
|
||||||
|
|
||||||
|
//! Model string of model with closest color distance
|
||||||
|
Q_INVOKABLE QString findAircraftFamilyWithClosestColorLivery(const QString &family, const QString &rgbColor) const;
|
||||||
|
|
||||||
// ------- NOT EXPOSED TO JAVASCRIPT -------
|
// ------- NOT EXPOSED TO JAVASCRIPT -------
|
||||||
|
|
||||||
//! Ctor
|
//! Ctor
|
||||||
|
|||||||
Reference in New Issue
Block a user