6 #ifndef SWIFT_MISC_AVIATION_LIVERY_H
7 #define SWIFT_MISC_AVIATION_LIVERY_H
25 namespace swift::misc::aviation
34 IndexDescription = CPropertyIndexRef::GlobalIndexCLivery,
50 const QString &colorFuselage,
const QString &colorTail,
bool isMilitary);
58 const QString &colorFuselage,
const QString &colorTail,
bool isMilitary);
74 QString getCombinedCodePlusInfo()
const;
77 QString getCombinedCodePlusId()
const;
80 QString getCombinedCodePlusInfoAndId()
const;
86 const QString &
getAirlineName()
const {
return this->getAirlineIcaoCode().getName(); }
89 bool isContainedInSimplifiedAirlineName(
const QString &candidate)
const;
104 bool setAirlineIcaoCodeDesignator(
const QString &airlineIcaoDesignator);
107 void setCombinedCode(
const QString &code) { m_combinedCode = code.trimmed().toUpper(); }
116 bool hasColorFuselage()
const;
119 bool hasColorTail()
const;
122 bool hasValidColors()
const;
131 bool matchesCombinedCode(
const QString &candidate)
const;
146 QString convertToQString(
bool i18n =
false)
const;
149 bool hasCompleteData()
const;
155 bool hasValidAirlineDesignator()
const;
158 bool hasAirlineName()
const;
161 bool hasCombinedCode()
const;
164 bool isAirlineLivery()
const;
167 bool isAirlineOperating()
const;
170 bool isAirlineStandardLivery()
const;
173 bool isColorLivery()
const;
176 double getColorDistance(
const CLivery &otherLivery)
const;
182 void updateMissingParts(
const CLivery &otherLivery);
185 QString asHtmlSummary(
const QString &separator)
const;
189 int calculateScore(
const CLivery &otherLivery,
bool preferColorLiveries =
false,
199 static CLivery fromDatabaseJson(
const QJsonObject &json,
const QString &prefix = QString(
"liv_"));
203 const QString &prefix = QString(
"liv_"));
206 static bool isValidCombinedCode(
const QString &candidate);
209 static const QString &standardLiveryMarker();
215 static const QString &colorLiveryMarker();
218 static const QString &tempLiveryCode();
223 const QStringList &extraCategories = {},
228 static void addLogDetailsToList(
CStatusMessageList *log,
const CLivery &livery,
const QString &message,
229 const QStringList &extraCategories = {},
233 CAirlineIcaoCode m_airline;
234 QString m_combinedCode;
235 QString m_description;
236 CRgbColor m_colorFuselage;
237 CRgbColor m_colorTail;
238 bool m_military =
false;
Non-owning reference to a CPropertyIndex with a subset of its features.
Streamable status message, e.g.
constexpr static auto SeverityInfo
Status severities.
swift::misc::StatusSeverity StatusSeverity
Status severities.
Status messages, e.g. from Core -> GUI.
Mix of the most commonly used mixin classes.
Value object for ICAO classification.
Value object encapsulating information about an airpot.
bool isMilitary() const
Military livery.
const CRgbColor & getColorTail() const
Get tail color.
void setCombinedCode(const QString &code)
Combined code.
const QString & getAirlineIcaoCodeDesignator() const
Corresponding airline designator, if any.
void setColorTail(const CRgbColor &color)
Set tail color.
ColumnIndex
Properties by index.
const CAirlineIcaoCode & getAirlineIcaoCode() const
Corresponding airline, if any.
void setMilitary(bool isMilitary)
Military aircraft?
const QString & getAirlineName() const
Get corresponding airline name.
const QString & getCombinedCode() const
Combined code.
const QString & getDescription() const
Get description.
void setColorFuselage(const CRgbColor &color)
Set fuselage color.
void setDescription(const QString &description)
Set description.
const CRgbColor & getColorFuselage() const
Get fuselage color.
Class from which a derived class can inherit datastore-related functions.
StatusSeverity
Status severities.
#define SWIFT_MISC_EXPORT
Export a class or function from the library.
#define SWIFT_DECLARE_VALUEOBJECT_MIXINS(Namespace, Class)
Explicit template declaration of mixins for a CValueObject subclass to be placed near the top of the ...