1#ifndef QMLAIRCRAFTINFO_HXX
2#define QMLAIRCRAFTINFO_HXX
8#include <QSharedPointer>
9#include <QAbstractListModel>
11#include <simgear/package/Catalog.hxx>
12#include <simgear/package/Package.hxx>
46 int rowCount(
const QModelIndex&)
const override;
48 QVariant
data(
const QModelIndex& index,
int role)
const override;
49 QHash<int, QByteArray>
roleNames()
const override;
59 bool makeSafeIndex(
int row,
size_t& t)
const;
62 bool _explicitAutoState =
false;
114 QString
name() const;
173 Q_INVOKABLE
bool hasTag(QString tag)
const;
192 void onFavouriteChanged(QUrl u);
193 void retryValidateLocalProps();
198 void validateStates()
const;
199 void validateLocalProps()
const;
202 std::unique_ptr<Delegate> _delegate;
204 simgear::pkg::PackageRef _package;
206 quint32 _variant = 0;
207 quint64 _downloadBytes = 0;
212 mutable bool _statesChecked =
false;
216 mutable SGPropertyNode_ptr _cachedProps;
QSharedPointer< AircraftItem > AircraftItemPtr
std::vector< AircraftStateInfo > AircraftStateVec
QSharedPointer< AircraftItem > AircraftItemPtr
QmlAircraftInfo(QObject *parent=nullptr)
QuantityValue cruiseAltitude
static QVariant packageAircraftStatus(simgear::pkg::PackageRef p)
bool haveExplicitAutoState() const
static const int StateTagRole
void setFavourite(bool favourite)
void setDownloadBytes(quint64 bytes)
QuantityValue approachSpeed
StatesModel * statesModel
static const int StateExplicitRole
Q_INVOKABLE bool isSpeedBelowLimits(QuantityValue speed) const
Q_INVOKABLE bool hasTag(QString tag) const
void variantChanged(quint32 variant)
static const int StateDescriptionRole
simgear::pkg::PackageRef packageRef() const
bool hasState(QString name) const
QuantityValue cruiseSpeed
StatesModel * statesModel()
void setVariant(quint32 variant)
Q_INVOKABLE bool isAltitudeBelowLimits(QuantityValue speed) const
QVariant data(const QModelIndex &index, int role) const override
bool hasState(QString st) const
Q_INVOKABLE int indexForTag(QString s) const
Q_INVOKABLE QString tagForState(int row) const
Q_INVOKABLE QString descriptionForState(int row) const
bool hasExplicitAuto() const
void initWithStates(const AircraftStateVec &states)
int rowCount(const QModelIndex &) const override
QHash< int, QByteArray > roleNames() const override
std::vector< std::string > string_list
std::string primaryTag() const