10 namespace swift::misc::simulation
15 const QString &modelSetId,
const QString &description,
16 const QString &aircraftDesignator,
17 const QString &airlineDesignator)
18 : m_sessionId(sessionId.trimmed()), m_modelSetId(modelSetId.trimmed()), m_description(description),
19 m_aircraftDesignator(aircraftDesignator.trimmed().toUpper()),
20 m_airlineDesignator(airlineDesignator.trimmed().toUpper()), m_entryType(type)
34 m_entryType =
static_cast<int>(type);
42 const QString &aircraftDesignator,
const QString &airlineDesignator)
const
50 return !m_aircraftDesignator.isEmpty() && !m_airlineDesignator.isEmpty();
59 default: qFatal(
"Wrong Type");
return CIcon::iconByIndex(CIcons::StandardIconUnknown16);
65 static const QString f(
"found");
66 static const QString m(
"missing");
67 static const QString x(
"ups");
72 case Missing:
return m;
73 default: qFatal(
"Wrong Type");
return x;
79 if (index.
isMyself()) {
return QVariant::fromValue(*
this); }
85 case IndexSessionId:
return QVariant::fromValue(m_sessionId);
86 case IndexModelSetId:
return QVariant::fromValue(m_modelSetId);
87 case IndexCount:
return QVariant::fromValue(m_count);
88 case IndexEntryType:
return QVariant::fromValue(m_entryType);
91 case IndexAircraftDesignator:
return QVariant::fromValue(m_aircraftDesignator);
92 case IndexAirlineDesignator:
return QVariant::fromValue(m_airlineDesignator);
93 case IndexDescription:
return QVariant::fromValue(m_description);
115 case IndexSessionId: this->
setSessionId(variant.value<QString>());
break;
116 case IndexModelSetId: this->
setModelSetId(variant.value<QString>());
break;
117 case IndexAircraftDesignator: m_aircraftDesignator = variant.value<QString>();
break;
119 case IndexCount: m_count = variant.toInt();
break;
120 case IndexAirlineDesignator: m_airlineDesignator = variant.value<QString>();
break;
121 case IndexDescription: m_description = variant.value<QString>();
break;
136 case IndexSessionId:
return m_sessionId.compare(compareValue.m_sessionId, Qt::CaseInsensitive);
137 case IndexModelSetId:
return m_modelSetId.compare(compareValue.
getModelSetId(), Qt::CaseInsensitive);
138 case IndexEntryTypeAsIcon:
139 case IndexEntryTypeAsString:
140 case IndexEntryType:
return Compare::compare(m_entryType, compareValue.m_entryType);
141 case IndexDescription:
return m_description.compare(compareValue.
getDescription(), Qt::CaseInsensitive);
142 case IndexCount:
return Compare::compare(m_count, compareValue.m_count);
143 case IndexAircraftDesignator:
144 return m_aircraftDesignator.compare(compareValue.m_aircraftDesignator, Qt::CaseInsensitive);
145 case IndexAirlineDesignator:
146 return m_airlineDesignator.compare(compareValue.m_airlineDesignator, Qt::CaseInsensitive);
147 case IndexHasAircraftAirlineCombination:
152 Q_ASSERT_X(
false, Q_FUNC_INFO,
"Compare failed");
159 static const QString s(
"%1 Session: '%2' model set: '%3' aircraft: '%4' airline: '%5' description: '%6'");
161 m_airlineDesignator, m_description);
Value object for icons. An icon is stored in the global icon repository and identified by its index....
static const CIcon & iconByIndex(CIcons::IconIndex index)
Icon for given index.
Non-owning reference to a CPropertyIndex with a subset of its features.
CastType frontCasted() const
First element casted to given type, usually the PropertIndex enum.
bool isMyself() const
Myself index, used with nesting.
void setPropertyByIndex(CPropertyIndexRef index, const QVariant &variant)
Set property by index.
int comparePropertyByIndex(CPropertyIndexRef index, const ITimestampBased &compareValue) const
Compare for index.
static bool canHandleIndex(CPropertyIndexRef index)
Can given index be handled.
void setCurrentUtcTime()
Set the current time as timestamp.
QVariant propertyByIndex(CPropertyIndexRef index) const
Property by index.
ColumnIndex
Base class enums.
int comparePropertyByIndex(CPropertyIndexRef index, const Derived &compareValue) const
Compare for index.
void setPropertyByIndex(CPropertyIndexRef index, const QVariant &variant)
Set property by index.
QVariant propertyByIndex(CPropertyIndexRef index) const
Property by index.
Value object for a matching statistics entry.
void setSessionId(const QString &sessionId)
Set session id.
const QString & getModelSetId() const
Get model set id.
const QString & getDescription() const
Get description.
bool matches(EntryType type, const QString &sessionId, const QString &aircraftDesignator, const QString &airlineDesignator) const
Matches given value?
int comparePropertyByIndex(CPropertyIndexRef index, const CMatchingStatisticsEntry &compareValue) const
Compare by index.
const QString & getSessionId() const
Session id.
bool isMissing() const
Missing entry?
static const QString & entryTypeToString(EntryType type)
Convert entry type.
const QString & getAirlineDesignator() const
Get missing airline designator.
EntryType
Represents type of entry.
static const swift::misc::CIcon & entryTypeToIcon(EntryType type)
Convert entry type.
QVariant propertyByIndex(swift::misc::CPropertyIndexRef index) const
Property by index.
void setEntryType(EntryType type)
Set the entry type.
bool hasAircraftAirlineCombination() const
Missing aircraft/airline combination?
const QString & getAircraftDesignator() const
Get missing aircraft designator.
EntryType getEntryType() const
Type of entry.
QString convertToQString(bool i18n=false) const
Cast as QString.
CMatchingStatisticsEntry()
Default constructor.
void setModelSetId(const QString &modelSetId)
Set model set id.
void setPropertyByIndex(swift::misc::CPropertyIndexRef index, const QVariant &variant)
Set property by index.
void increaseCount()
Count increased by one.
int getCount() const
Current count.
#define SWIFT_DEFINE_VALUEOBJECT_MIXINS(Namespace, Class)
Explicit template definition of mixins for a CValueObject subclass.