swift
aircrafticaolistmodel.cpp
1 // SPDX-FileCopyrightText: Copyright (C) 2015 swift Project Community / Contributors
2 // SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-swift-pilot-client-1
3 
5 
6 #include <Qt>
7 #include <QtGlobal>
8 
10 #include "gui/models/columns.h"
12 #include "misc/db/datastore.h"
13 #include "misc/timestampbased.h"
14 
15 using namespace swift::misc::aviation;
16 
17 namespace swift::gui::models
18 {
19  CAircraftIcaoCodeListModel::CAircraftIcaoCodeListModel(QObject *parent)
20  : CListModelDbObjects("AircraftIcaoListModel", parent)
21  {
22  m_columns.addColumn(CColumn::standardString("id", CAircraftIcaoCode::IndexDbIntegerKey,
24  m_columns.addColumn(CColumn::standardString("ICAO", CAircraftIcaoCode::IndexAircraftDesignator));
25  m_columns.addColumn(CColumn::standardString("IATA", CAircraftIcaoCode::IndexIataCode));
27  CColumn::standardValueObject("rank", CAircraftIcaoCode::IndexRank, CDefaultFormatter::alignRightVCenter()));
28  m_columns.addColumn(CColumn::standardString("manufacturer", CAircraftIcaoCode::IndexManufacturer));
29  m_columns.addColumn(CColumn::standardString("family", CAircraftIcaoCode::IndexFamily));
31  CColumn::standardString("category", { CAircraftIcaoCode::IndexCategory, CAircraftCategory::IndexPath }));
32  // m_columns.addColumn(CColumn::standardString("ICAO desc.", "ICAO description",
33  // CAircraftIcaoCode::IndexModelDescription)); m_columns.addColumn(CColumn::standardString("IATA desc.", "IATA
34  // description", CAircraftIcaoCode::IndexModelIataDescription));
35  // m_columns.addColumn(CColumn::standardString("swift desc.", "swift description",
36  // CAircraftIcaoCode::IndexModelSwiftDescription));
38  CColumn::standardString("description", "ICAO description", CAircraftIcaoCode::IndexCombinedDescription));
40  CColumn::standardString("type", "combined type", CAircraftIcaoCode::IndexCombinedAircraftType));
41  m_columns.addColumn(CColumn::standardString("WTC", "wake turbulence category", CAircraftIcaoCode::IndexWtc));
42  m_columns.addColumn(CColumn("mil.", "military", CAircraftIcaoCode::IndexIsMilitary,
43  new CBoolIconFormatter("military", "civil")));
44  m_columns.addColumn(CColumn("VTOL", "vertical take-off and landing", CAircraftIcaoCode::IndexIsVtol,
45  new CBoolIconFormatter("VTOL", "non VTOL")));
47  CColumn("leg.", "legacy", CAircraftIcaoCode::IndexIsLegacy, new CBoolIconFormatter("legacy", "operating")));
48  m_columns.addColumn(CColumn("real.", "real world aircraft", CAircraftIcaoCode::IndexIsRealworld,
49  new CBoolIconFormatter("real", "non real")));
50  m_columns.addColumn(CColumn::standardString("changed", CAircraftIcaoCode::IndexUtcTimestampFormattedYmdhms));
51 
52  // default sort order
53  this->setSortColumnByPropertyIndex(CAircraftIcaoCode::IndexAircraftDesignator);
54  m_sortOrder = Qt::AscendingOrder;
55  }
56 } // namespace swift::gui::models
Single column.
Definition: columns.h:26
static CColumn standardValueObject(const QString &headerName, const swift::misc::CPropertyIndex &propertyIndex, int alignment=CDefaultFormatter::alignDefault())
Get a standard value object formatted column.
Definition: columns.cpp:46
static CColumn standardString(const QString &headerName, const swift::misc::CPropertyIndex &propertyIndex, int alignment=CDefaultFormatter::alignDefault())
Get a standard string object formatted column.
Definition: columns.cpp:57
void addColumn(const CColumn &column)
Add a column.
Definition: columns.cpp:100
static int alignRightVCenter()
Align right/vertically centered.
virtual bool setSortColumnByPropertyIndex(const swift::misc::CPropertyIndex &propertyIndex)
Set column for sorting.
Models to be used with views, mainly QTableView.