8 using namespace swift::misc::aviation;
10 namespace swift::misc::simulation
14 :
MSInOutValues(cs.asString(), cs.getStringAsSet(), cs.getFlightNumber(), aircraftIcao.getDesignator(),
15 aircraftIcao.getFamily(), aircraftIcao.getCombinedType(), aircraftIcao.getDbKey(),
16 airlineIcao.getDesignator(), airlineIcao.getVDesignator(), airlineIcao.getDbKey(), livery,
21 :
MSInOutValues(cs, aircraftIcao, livery.getAirlineIcaoCode(), livery.getCombinedCode(), livery.getDbKey())
25 :
MSInOutValues(model.getCallsign(), model.getAircraftIcaoCode(), model.getLivery())
29 :
MSInOutValues(sv.m_callsign, sv.m_callsignAsSet, sv.m_flightNumber, sv.getAircraftIcao(),
30 sv.getCombinedType(), sv.getAircraftFamily(), sv.getDbAircraftIcaoId(), sv.getAirlineIcao(),
31 sv.getVirtualAirlineIcao(), sv.getDbAirlineIcaoId(), sv.getLivery(), sv.getDbLiveryId(),
32 sv.m_logMessage, sv.isModified(), sv.isRerun())
37 if (m_callsign ==
callsign) {
return; }
44 if (
id == m_dbAircraftIcaoId) {
return; }
45 m_dbAircraftIcaoId = id;
51 if (
id == m_dbAirlineIcaoId) {
return; }
52 m_dbAirlineIcaoId = id;
58 if (
id == m_dbLiveryId) {
return; }
65 if (
id == m_dbModelId) {
return; }
93 if (
livery == m_livery) {
return; }
107 if (type == m_combinedType) {
return; }
108 m_combinedType = type.trimmed().toUpper();
114 if (msg == m_logMessage) {
return; }
121 if (
modified == m_modified) {
return; }
128 if (
rerun == m_rerun) {
return; }
135 m_modifiedAircraftDesignator = aircraft.
getDesignator() != m_aircraftIcao;
136 m_modifiedAircraftFamily = aircraft.
getFamily() != m_aircraftFamily;
138 else { m_modifiedAirlineDesignator = airline.
getDesignator() != m_airlineIcao; }
150 if (
aircraftIcao.hasValidDbKey() && m_dbAircraftIcaoId >= 0)
168 if (
airlineIcao.hasValidDbKey() && m_dbAirlineIcaoId >= 0)
171 return m_dbAirlineIcaoId !=
airlineIcao.getDbKey();
183 if (
livery.hasValidDbKey() && m_dbLiveryId >= 0)
186 return m_dbLiveryId !=
livery.getDbKey();
196 return m_dbModelId != model.
getDbKey();
208 if (m_simulator ==
simulator) {
return; }
209 m_simulator =
simulator.trimmed().toUpper();
215 if (m_available ==
available) {
return; }
222 if (m_inputAircraftAndAirlineCount == count) {
return; }
223 m_inputAircraftAndAirlineCount = count;
228 const QString &rgbColor)
const
230 if (combinedType.isEmpty() || rgbColor.isEmpty()) {
return QString(); }
232 if (models.
isEmpty()) {
return QString(); }
239 const QString &rgbColor)
const
242 if (!ms.isEmpty()) {
return ms; }
243 if (combinedType.size() != 3) {
return ms; }
244 QString wildCard(combinedType);
245 if (wildCard.size() != 3) {
return QString(); }
252 if (family.isEmpty() || rgbColor.isEmpty()) {
return QString(); }
254 if (models.
isEmpty()) {
return QString(); }
264 m_modelSet = modelSet;
265 m_available = !modelSet.
isEmpty();
272 m_inputAircraftAndAirlineCount =
false;
277 m_inputAircraftAndAirlineCount = models.
size();
size_type size() const
Returns number of elements in the sequence.
reference front()
Access the first element.
bool isEmpty() const
Synonym for empty.
Value object for ICAO classification.
bool hasDesignator() const
Aircraft designator?
const QString & getFamily() const
Family (e.g. A350)
const QString & getDesignator() const
Get ICAO designator, e.g. "B737".
Value object for ICAO classification.
bool isVirtualAirline() const
Virtual airline.
const QString & getDesignator() const
Get airline, e.g. "DLH".
bool hasValidDesignator() const
Airline designator available?
QString getVDesignator() const
Get airline, e.g. "DLH", but "VMVA" for virtual airlines.
Value object encapsulating information of a callsign.
Value object encapsulating information about an airpot.
int getDbKey() const
Get DB key.
bool hasValidDbKey() const
Has valid DB key.
Aircraft model (used by another pilot, my models on disk)
const QString & getModelString() const
Model key, either queried or loaded from simulator model.
Value object encapsulating a list of aircraft models.
CAircraftModelList findByAircraftAndAirline(const aviation::CAircraftIcaoCode &aircraftIcaoCode, const aviation::CAirlineIcaoCode &airlineIcaoCode) const
Find by ICAO of aircraft and airline.
CAircraftModelList findByFamilyWithColorLivery(const QString &family) const
Models with aircraft family and color livery.
CAircraftModelList findByCombinedTypeWithColorLivery(const QString &combinedType) const
Combined type and color livery.
CAircraftModelList findClosestFuselageColorDistance(const CRgbColor &color) const
Find models with the closest color distance.
void combinedTypeChanged()
Livery, airline, aircraft, or model changed.
QString livery
MSNetworkValues properties.
void dbModelIdChanged()
DB id changed.
void dbLiveryIdChanged()
DB id changed.
void setRerun(bool rerun)
Request re-run.
void dbAirlineIcaoIdChanged()
DB id changed.
void setDbAircraftIcaoId(int id)
Values found in DB?
Q_INVOKABLE MSInOutValues()
Ctor.
bool hasChangedLiveryId(const swift::misc::aviation::CLivery &livery) const
Changed values.
QString callsign
MSNetworkValues properties.
void logMessageChanged()
Log. message has been changed.
void setCallsign(const QString &callsign)
Callsign values.
void liveryChanged()
Livery, airline, aircraft, or model changed.
void setDbAirlineIcaoId(int id)
Values found in DB?
bool hasChangedModel(const swift::misc::simulation::CAircraftModel &model) const
Changed values.
void aircraftIcaoChanged()
Livery, airline, aircraft, or model changed.
bool hasChangedModelString(const QString &modelString) const
Changed values.
bool hasChangedAircraftIcaoId(const swift::misc::aviation::CAircraftIcaoCode &aircraftIcao) const
Changed values.
bool hasChangedAirlineIcaoId(const swift::misc::aviation::CAirlineIcaoCode &airlineIcao) const
Changed values.
QString aircraftIcao
MSNetworkValues properties.
bool hasChangedAircraftIcao(const swift::misc::aviation::CAircraftIcaoCode &aircraftIcao) const
Changed values.
void setCombinedType(const QString &type)
Livery, airline, aircraft, model string.
void setAirlineIcao(const QString &airlineIcao)
Livery, airline, aircraft, model string.
void virtualAirlineIcaoChanged()
Livery, airline, aircraft, or model changed.
bool rerun
MSNetworkValues properties.
void modifiedChanged()
Modified changed.
void setModelString(const QString &modelString)
Livery, airline, aircraft, model string.
void setDbLiveryId(int id)
Values found in DB?
void dbAircraftIcaoIdChanged()
DB id changed.
void airlineIcaoChanged()
Livery, airline, aircraft, or model changed.
void setLogMessage(const QString &msg)
Log. message.
void setAircraftIcao(const QString &aircraftIcao)
Livery, airline, aircraft, model string.
QString virtualAirlineIcao
MSNetworkValues properties.
void setModified(bool modified)
Modified flag.
void setLivery(const QString &livery)
Livery, airline, aircraft, model string.
bool modified
MSNetworkValues properties.
bool hasChangedAirlineIcao(const swift::misc::aviation::CAirlineIcaoCode &airlineIcao) const
Changed values.
void rerunChanged()
Re-run changed.
void modelStringChanged()
Livery, airline, aircraft, or model changed.
QString airlineIcao
MSNetworkValues properties.
bool hasChangedModelId(const swift::misc::simulation::CAircraftModel &model) const
Changed values.
void setVirtualAirlineIcao(const QString &virtualAirlineIcao)
Livery, airline, aircraft, model string.
QString modelString
MSNetworkValues properties.
void evaluateChanges(const swift::misc::aviation::CAircraftIcaoCode &aircraft, const swift::misc::aviation::CAirlineIcaoCode &airline)
Changed values such as modified values.
void callsignChanged()
Callsign changed.
void setDbModelId(int id)
Values found in DB?
void availabilityChanged()
Has been modified.
QString simulator
MSModelSet properties.
void initByModelSet(const swift::misc::simulation::CAircraftModelList &modelSet)
Init by model set.
void initByAircraftAndAirline(const swift::misc::aviation::CAircraftIcaoCode &aircraft, const swift::misc::aviation::CAirlineIcaoCode &airline)
Init by aircraft/airline.
Q_INVOKABLE QString findAircraftFamilyWithClosestColorLivery(const QString &family, const QString &rgbColor) const
Model string of model with closest color distance.
void inputAircraftAndAirlineCountChanged()
Aircraft and airline changed.
Q_INVOKABLE QString findCombinedTypeWithClosestColorLivery(const QString &combinedType, const QString &rgbColor) const
Model string of model with closest color distance.
void setAvailable(bool available)
Availablity flag.
bool available
MSModelSet properties.
void setInputAircraftAndAirlineCount(int count)
Input aircraft/airline available flag.
Q_INVOKABLE QString findClosestCombinedTypeWithClosestColorLivery(const QString &combinedType, const QString &rgbColor) const
Model string of model with closest color distance.
void setSimulator(const QString &simulator)
Set callsign.
Q_INVOKABLE MSModelSet()
Ctor.
void simulatorChanged()
Simulator changed.
SWIFT_MISC_EXPORT bool stringCompare(const QString &c1, const QString &c2, Qt::CaseSensitivity cs)
String compare.