6 #ifndef SWIFT_MISC_SIMULATION_MATCHINGSCRIPT_H
7 #define SWIFT_MISC_SIMULATION_MATCHINGSCRIPT_H
18 namespace swift::misc::simulation
27 Q_PROPERTY(QString callsign READ getCallsign WRITE setCallsign NOTIFY callsignChanged)
28 Q_PROPERTY(QString callsignAsSet READ getCallsignAsSet)
29 Q_PROPERTY(QString flightNumber READ getFlightNumber)
31 int dbAircraftIcaoId READ getDbAircraftIcaoId WRITE setDbAircraftIcaoId NOTIFY dbAircraftIcaoIdChanged)
32 Q_PROPERTY(
int dbAirlineIcaoId READ getDbAirlineIcaoId WRITE setDbAirlineIcaoId NOTIFY dbAirlineIcaoIdChanged)
33 Q_PROPERTY(
int dbLiveryId READ getDbLiveryId WRITE setDbLiveryId NOTIFY dbLiveryIdChanged)
34 Q_PROPERTY(
int dbModelId READ getDbModelId WRITE setDbModelId NOTIFY dbModelIdChanged)
35 Q_PROPERTY(QString aircraftIcao READ getAircraftIcao WRITE setAircraftIcao NOTIFY aircraftIcaoChanged)
36 Q_PROPERTY(QString aircraftFamily READ getAircraftFamily)
37 Q_PROPERTY(QString airlineIcao READ getAirlineIcao WRITE setAirlineIcao NOTIFY airlineIcaoChanged)
38 Q_PROPERTY(QString virtualAirlineIcao READ getVirtualAirlineIcao WRITE setVirtualAirlineIcao NOTIFY
39 virtualAirlineIcaoChanged)
40 Q_PROPERTY(QString livery READ getLivery WRITE setLivery NOTIFY liveryChanged)
41 Q_PROPERTY(QString modelString READ getModelString WRITE setModelString NOTIFY modelStringChanged)
42 Q_PROPERTY(QString combinedType READ getCombinedType WRITE setCombinedType NOTIFY combinedTypeChanged)
43 Q_PROPERTY(QString logMessage READ getLogMessage WRITE setLogMessage NOTIFY logMessageChanged)
44 Q_PROPERTY(
bool hasAircraftFamily READ hasAircraftFamily)
45 Q_PROPERTY(
bool modified READ isModified WRITE setModified NOTIFY modifiedChanged)
46 Q_PROPERTY(
bool rerun READ isRerun WRITE setRerun NOTIFY rerunChanged)
48 Q_PROPERTY(
bool hasAirlineIcao READ hasAirlineIcao)
49 Q_PROPERTY(
bool hasAircraftIcao READ hasAircraftIcao)
50 Q_PROPERTY(
bool hasModifiedAircraftIcaoDesignator READ hasModifiedAircraftIcaoDesignator)
51 Q_PROPERTY(
bool hasModifiedAircraftFamily READ hasModifiedAircraftFamily)
52 Q_PROPERTY(
bool hasModifiedAirlineIcaoDesignator READ hasModifiedAirlineIcaoDesignator)
53 Q_PROPERTY(
bool hasUnmodifiedDesignators READ hasUnmodifiedDesignators)
61 Q_INVOKABLE
MSInOutValues(
const QString &cs,
const QString &csAsSet,
const QString &flightNumber,
62 const QString &aircraftIcao,
const QString &aircraftFamily,
63 const QString &combinedType,
int idAircraftIcao,
const QString &airlineIcao,
64 const QString &virtualAirlineIcao,
int idAirlineIcao,
const QString &livery,
65 int liveryId,
const QString &logMsg = {},
bool modified =
false,
bool rerun =
false)
66 : m_callsign(cs.trimmed().toUpper()), m_callsignAsSet(csAsSet), m_flightNumber(flightNumber),
67 m_aircraftIcao(aircraftIcao.trimmed().toUpper()), m_aircraftFamily(aircraftFamily.trimmed().toUpper()),
68 m_combinedType(combinedType.trimmed().toUpper()), m_airlineIcao(airlineIcao.trimmed().toUpper()),
69 m_vAirlineIcao(virtualAirlineIcao), m_livery(livery.trimmed().toUpper()),
70 m_dbAircraftIcaoId(idAircraftIcao), m_dbAirlineIcaoId(idAirlineIcao), m_dbLiveryId(liveryId),
71 m_logMessage(logMsg), m_modified(modified), m_rerun(rerun)
88 MSInOutValues(
const MSInOutValues &sv);
95 void setCallsign(
const QString &callsign);
108 void setDbAircraftIcaoId(
int id);
109 void setDbAirlineIcaoId(
int id);
110 void setDbLiveryId(
int id);
111 void setDbModelId(
int id);
123 void setAircraftIcao(
const QString &aircraftIcao);
124 void setAirlineIcao(
const QString &airlineIcao);
125 void setVirtualAirlineIcao(
const QString &virtualAirlineIcao);
126 void setLivery(
const QString &livery);
127 void setModelString(
const QString &modelString);
128 void setCombinedType(
const QString &type);
137 void setLogMessage(
const QString &msg);
143 void setModified(
bool modified);
149 void setRerun(
bool rerun);
163 return !this->hasModifiedAirlineIcaoDesignator() && !this->hasModifiedAircraftIcaoDesignator();
169 bool hasChangedModelString(
const QString &modelString)
const;
208 QString m_callsignAsSet;
209 QString m_flightNumber;
210 QString m_aircraftIcao;
211 QString m_aircraftFamily;
212 QString m_combinedType;
213 QString m_airlineIcao;
214 QString m_vAirlineIcao;
216 QString m_modelString;
217 int m_dbAircraftIcaoId = -1;
218 int m_dbAirlineIcaoId = -1;
219 int m_dbLiveryId = -1;
220 int m_dbModelId = -1;
221 QString m_logMessage;
222 bool m_modifiedAircraftDesignator =
false;
223 bool m_modifiedAircraftFamily =
false;
224 bool m_modifiedAirlineDesignator =
false;
225 bool m_modified =
false;
226 bool m_rerun =
false;
236 Q_PROPERTY(QString simulator READ getSimulator WRITE setSimulator NOTIFY simulatorChanged)
237 Q_PROPERTY(
bool available READ isAvailable WRITE setAvailable NOTIFY availabilityChanged)
238 Q_PROPERTY(
int inputAircraftAndAirlineCount READ getInputAircraftAndAirlineCount WRITE
239 setInputAircraftAndAirlineCount NOTIFY inputAircraftAndAirlineCountChanged)
240 Q_PROPERTY(
int modelSetSize READ getModelSetSize)
241 Q_PROPERTY(
int countDifferentAirlines READ countVtolAircraft)
242 Q_PROPERTY(
int countVtolAircraft READ countCivilianAircraft)
243 Q_PROPERTY(
int countCivilianAircraft READ countCivilianAircraft)
244 Q_PROPERTY(
int countMilitaryAircraft READ countMilitaryAircraft)
245 Q_PROPERTY(
int countModelsWithColorLivery READ countModelsWithColorLivery)
246 Q_PROPERTY(
int countModelsWithAirlineLivery READ countModelsWithAirlineLivery)
257 void setSimulator(
const QString &simulator);
262 void setAvailable(
bool available);
268 void setInputAircraftAndAirlineCount(
int count);
286 return m_modelSet.containsModelString(modelString, Qt::CaseInsensitive);
288 Q_INVOKABLE
bool containsDbKey(
int dbKey)
const {
return m_modelSet.containsDbKey(dbKey); }
293 Q_INVOKABLE QString findCombinedTypeWithClosestColorLivery(
const QString &combinedType,
294 const QString &rgbColor)
const;
297 Q_INVOKABLE QString findClosestCombinedTypeWithClosestColorLivery(
const QString &combinedType,
298 const QString &rgbColor)
const;
301 Q_INVOKABLE QString findAircraftFamilyWithClosestColorLivery(
const QString &family,
302 const QString &rgbColor)
const;
330 bool m_available =
false;
331 int m_inputAircraftAndAirlineCount;
Value object for ICAO classification.
Value object for ICAO classification.
Value object encapsulating information of a callsign.
Value object encapsulating information about an airpot.
Aircraft model (used by another pilot, my models on disk)
Value object encapsulating a list of aircraft models.
bool hasAircraftFamily() const
Livery, airline, aircraft, model string.
void combinedTypeChanged()
Livery, airline, aircraft, or model changed.
void dbModelIdChanged()
DB id changed.
void dbLiveryIdChanged()
DB id changed.
const QString & getFlightNumber() const
Callsign values.
void dbAirlineIcaoIdChanged()
DB id changed.
const QString & getLogMessage() const
Log. message.
bool hasUnmodifiedDesignators() const
Changed values.
int getDbAircraftIcaoId() const
Values found in DB?
Q_INVOKABLE MSInOutValues()
Ctor.
void logMessageChanged()
Log. message has been changed.
void liveryChanged()
Livery, airline, aircraft, or model changed.
bool hasModifiedAircraftIcaoDesignator() const
Changed values.
bool hasModifiedAirlineIcaoDesignator() const
Changed values.
const QString & getVirtualAirlineIcao() const
Livery, airline, aircraft, model string.
int getDbAirlineIcaoId() const
Values found in DB?
void aircraftIcaoChanged()
Livery, airline, aircraft, or model changed.
bool isFoundDbLivery() const
Values found in DB?
bool isRerun() const
Request re-run.
bool hasAirlineIcao() const
Livery, airline, aircraft, model string.
int getDbLiveryId() const
Values found in DB?
const QString & getModelString() const
Livery, airline, aircraft, model string.
void virtualAirlineIcaoChanged()
Livery, airline, aircraft, or model changed.
const QString & getCombinedType() const
Livery, airline, aircraft, model string.
const QString & getLivery() const
Livery, airline, aircraft, model string.
bool isModified() const
Modified flag.
void modifiedChanged()
Modified changed.
int getDbModelId() const
Values found in DB?
bool hasAircraftIcao() const
Livery, airline, aircraft, model string.
void dbAircraftIcaoIdChanged()
DB id changed.
void airlineIcaoChanged()
Livery, airline, aircraft, or model changed.
const QString & getCallsignAsSet() const
Callsign values.
bool hasModifiedAircraftFamily() const
Changed values.
bool isFoundDbAircraftIcao() const
Values found in DB?
const QString & getAircraftFamily() const
Livery, airline, aircraft, model string.
Q_INVOKABLE MSInOutValues(const QString &cs, const QString &csAsSet, const QString &flightNumber, const QString &aircraftIcao, const QString &aircraftFamily, const QString &combinedType, int idAircraftIcao, const QString &airlineIcao, const QString &virtualAirlineIcao, int idAirlineIcao, const QString &livery, int liveryId, const QString &logMsg={}, bool modified=false, bool rerun=false)
Ctor.
const QString & getCallsign() const
Callsign values.
bool isFoundDbModel() const
Values found in DB?
void rerunChanged()
Re-run changed.
void modelStringChanged()
Livery, airline, aircraft, or model changed.
const QString & getAirlineIcao() const
Livery, airline, aircraft, model string.
const QString & getAircraftIcao() const
Livery, airline, aircraft, model string.
bool isFoundDbAirlineIcao() const
Values found in DB?
void callsignChanged()
Callsign changed.
int countDifferentAirlines() const
Model set functions as properties.
int countModelsWithColorLivery() const
Model set functions as properties.
int countMilitaryAircraft() const
Model set functions as properties.
Q_INVOKABLE bool containsModelString(const QString &modelString) const
Invokable model set functions as properties.
void availabilityChanged()
Has been modified.
int getInputAircraftAndAirlineCount() const
Input aircraft/airline available flag.
const QString & getSimulator() const
Get callsign.
Q_INVOKABLE bool containsDbKey(int dbKey) const
Invokable model set functions as properties.
void inputAircraftAndAirlineCountChanged()
Aircraft and airline changed.
bool isAvailable() const
Availablity flag.
int countCivilianAircraft() const
Model set functions as properties.
Q_INVOKABLE bool containsCombinedType(const QString &ct) const
Invokable model set functions as properties.
int countModelsWithAirlineLivery() const
Model set functions as properties.
Q_INVOKABLE MSModelSet()
Ctor.
int countVtolAircraft() const
Model set functions as properties.
void simulatorChanged()
Simulator changed.
int getModelSetSize() const
Model set functions as properties.
#define SWIFT_MISC_EXPORT
Export a class or function from the library.