36 std::transform(runways.begin(), runways.end(), std::back_inserter(
p), [](
const FGRunwayRef& rwy) {
37 return static_cast<FGPositioned*>(rwy.get());
45 std::transform(parks.begin(), parks.end(), std::back_inserter(
p), [](
const FGParkingRef& pk) {
46 return static_cast<FGPositioned*>(pk.get());
62 return d->m_items.size();
67 auto roles = QAbstractListModel::roleNames();
73 auto pos = d->m_items.at(m.row());
74 if (role == Qt::DisplayRole) {
75 return QString::fromStdString(pos->ident());
83 auto it = std::find_if(d->m_items.begin(), d->m_items.end(), [qpos](
const FGPositionedRef& pos) {
84 return pos == qpos->inner();
87 if (it == d->m_items.end()) {
91 return static_cast<int>(std::distance(d->m_items.begin(), it));
96 if ((index < 0) || (index >= d->m_items.size())) {
101 QQmlEngine::setObjectOwnership(qp, QQmlEngine::JavaScriptOwnership);
107 return d->m_items.empty();
std::vector< FGRunwayRef > FGRunwayList
std::vector< FGParkingRef > FGParkingList
SGSharedPtr< FGRunway > FGRunwayRef
SGSharedPtr< FGParking > FGParkingRef
SGSharedPtr< FGPositioned > FGPositionedRef
int rowCount(const QModelIndex &parent) const override
Q_INVOKABLE int indexOf(QmlPositioned *pos) const
QmlPositionedModel(QObject *parent=nullptr)
Q_INVOKABLE QmlPositioned * itemAt(int index) const
void setValues(const FGPositionedList &posItems)
QHash< int, QByteArray > roleNames() const override
~QmlPositionedModel() override
QVariant data(const QModelIndex &m, int role) const override
std::vector< FGPositionedRef > FGPositionedList