21 using namespace swift::misc::simulation;
22 using namespace swift::misc::aviation;
23 using namespace swift::misc::network;
24 using namespace swift::misc::physical_quantities;
34 (void)QT_TRANSLATE_NOOP(
"CAircraftModelListModel",
"callsign");
35 (void)QT_TRANSLATE_NOOP(
"CAircraftModelListModel",
"combined type");
36 (void)QT_TRANSLATE_NOOP(
"CAircraftModelListModel",
"model");
41 if (m_mode == mode) {
return; }
60 "dist.",
"distributor", { CAircraftModel::IndexDistributor, CDistributor::IndexDbStringKey }));
63 "aircraft", { CAircraftModel::IndexAircraftIcaoCode, CAircraftIcaoCode::IndexDesignatorManufacturer }));
68 CAirlineIcaoCode::IndexDesignatorNameCountry }));
96 "dist.",
"distributor", { CAircraftModel::IndexDistributor, CDistributor::IndexDbStringKey }));
100 "d#",
"distributor order", { CAircraftModel::IndexDistributor, CDistributor::IndexOrderString }));
103 "ac",
"aircraft ICAO",
104 { CAircraftModel::IndexAircraftIcaoCode, CAircraftIcaoCode::IndexAircraftDesignator }));
106 "fam.",
"aircraft family", { CAircraftModel::IndexAircraftIcaoCode, CAircraftIcaoCode::IndexFamily }));
109 { CAircraftModel::IndexAircraftIcaoCode, CAircraftIcaoCode::IndexCategory,
110 CAircraftCategory::IndexLevelStringAndPath }));
114 { CAircraftModel::IndexLivery, CLivery::IndexAirlineIcaoCode,
115 CAirlineIcaoCode::IndexAirlineDesignator }));
122 CAircraftModel::IndexFileTimestampFormattedYmdhms));
139 "dist.",
"distributor", { CAircraftModel::IndexDistributor, CDistributor::IndexDbStringKey }));
146 "ac",
"aircraft ICAO",
147 { CAircraftModel::IndexAircraftIcaoCode, CAircraftIcaoCode::IndexAircraftDesignator }));
149 "fam.",
"aircraft family", { CAircraftModel::IndexAircraftIcaoCode, CAircraftIcaoCode::IndexFamily }));
152 { CAircraftModel::IndexAircraftIcaoCode, CAircraftIcaoCode::IndexCategory,
153 CAircraftCategory::IndexPath }));
155 "manufacturer",
"aircraft ICAO",
156 { CAircraftModel::IndexAircraftIcaoCode, CAircraftIcaoCode::IndexManufacturer }));
161 { CAircraftModel::IndexLivery, CLivery::IndexDescription }));
163 { CAircraftModel::IndexLivery, CLivery::IndexAirlineIcaoCode,
164 CAirlineIcaoCode::IndexAirlineDesignator }));
166 "al.name",
"airline name",
167 { CAircraftModel::IndexLivery, CLivery::IndexAirlineIcaoCode, CAirlineIcaoCode::IndexAirlineName }));
174 { CAircraftModel::IndexLivery, CLivery::IndexColorFuselage },
179 { CAircraftModel::IndexLivery, CLivery::IndexIsMilitary },
192 "dist.",
"distributor", { CAircraftModel::IndexDistributor, CDistributor::IndexDbStringKey }));
197 "ac",
"aircraft ICAO",
198 { CAircraftModel::IndexAircraftIcaoCode, CAircraftIcaoCode::IndexAircraftDesignator }));
201 { CAircraftModel::IndexLivery, CLivery::IndexAirlineIcaoCode,
202 CAirlineIcaoCode::IndexAirlineDesignator }));
204 "al.name",
"airline name",
205 { CAircraftModel::IndexLivery, CLivery::IndexAirlineIcaoCode, CAirlineIcaoCode::IndexAirlineName }));
214 default: qFatal(
"Wrong mode");
break;
220 this->beginResetModel();
221 m_highlightStrings = modelStrings;
222 this->endResetModel();
234 this->beginResetModel();
236 this->endResetModel();
241 if (this->
isEmpty()) {
return QStringList(); }
242 return this->
container().getModelStringList(sort);
247 if (models.
isEmpty()) {
return; }
256 if (role == Qt::BackgroundRole)
265 if (m_highlightStrings.contains(model.
getModelString(), Qt::CaseInsensitive)) {
return m_highlightColor; }
269 else if (role == Qt::ToolTipRole)
280 m_highlightModels =
false;
281 m_highlightStrings.clear();
QStringList getModelStrings(bool sort) const
Model strings.
void setAircraftModelMode(CAircraftModelListModel::AircraftModelMode stationMode)
Mode.
void setHighlight(bool highlightModels)
Highlight models.
virtual QVariant data(const QModelIndex &index, int role) const
virtual void clearHighlighting()
Remove all highlighting.
bool highlightModels() const
Highlight models.
AircraftModelMode
How to display.
@ OwnAircraftModelMappingTool
models of my simulator, but in mapping mode
@ VPilotRuleModel
vPilot rule turned into model
@ OwnAircraftModelClient
models existing for my simulator
@ OwnModelSet
own model set
@ StashModel
stashed models
@ Database
Database entry.
void setHighlightModels(const swift::misc::simulation::CAircraftModelList &highlightModels)
Highlight models.
virtual bool hasHighlightedRows() const
Has highlighted rows?
void replaceOrAddByModelString(const swift::misc::simulation::CAircraftModelList &models)
Replace models with same model string, or just add.
void setHighlightModelStrings(const QStringList &modelStrings=QStringList())
Highlight models.
static CColumn standardString(const QString &headerName, const swift::misc::CPropertyIndex &propertyIndex, int alignment=CDefaultFormatter::alignDefault())
Get a standard string object formatted column.
static CColumn orderColumn(const swift::misc::CPropertyIndex &propertyIndex=swift::misc::CPropertyIndexRef::GlobalIndexIOrderable, int alignment=CDefaultFormatter::alignRightVCenter())
Get a standard string object formatted column.
void addColumn(const CColumn &column)
Add a column.
const ContainerType & container() const
Used container data.
virtual const ObjectType & at(const QModelIndex &index) const
Object at row position.
virtual bool isEmpty() const
Empty?
virtual void updateContainerMaybeAsync(const ContainerType &container, bool sort=true)
Update by new container.
virtual bool setSortColumnByPropertyIndex(const swift::misc::CPropertyIndex &propertyIndex)
Set column for sorting.
QModelIndex index(int row, int column, const QModelIndex &parent=QModelIndex()) const final
CColumns m_columns
columns metadata
Qt::SortOrder m_sortOrder
sort order (asc/desc)
virtual void clearHighlighting()
Remove all highlighting.
virtual QVariant data(const QModelIndex &index, int role) const
Get data for index and role.
List model for DB objects.
void push_back(const T &value)
Appends an element at the end of the sequence.
bool isEmpty() const
Synonym for empty.
Aircraft model (used by another pilot, my models on disk)
const QString & getModelString() const
Model key, either queried or loaded from simulator model.
QString asHtmlSummary(const QString &separator="<br>") const
As a brief HTML summary (e.g. used in tooltips)
Value object encapsulating a list of aircraft models.
QStringList getModelStringList(bool sort=true) const
Model strings.
int removeModelsWithString(const CAircraftModelList &models, Qt::CaseSensitivity sensitivity)
Remove those models with given model strings.
Models to be used with views, mainly QTableView.
Free functions in swift::misc.