File indexing completed on 2024-05-05 03:50:39
0001 // SPDX-License-Identifier: LGPL-2.1-or-later 0002 // 0003 // SPDX-FileCopyrightText: 2015 Mikhail Ivchenko <ematirov@gmail.com> 0004 // 0005 0006 #ifndef NODEMODEL_H 0007 #define NODEMODEL_H 0008 0009 #include "GeoDataCoordinates.h" 0010 #include <QAbstractListModel> 0011 0012 namespace Marble 0013 { 0014 0015 class NodeModel : public QAbstractListModel 0016 { 0017 Q_OBJECT 0018 public: 0019 explicit NodeModel( QObject *parent = nullptr ); 0020 int rowCount( const QModelIndex &parent ) const override; 0021 int columnCount( const QModelIndex &parent ) const override; 0022 QVariant data( const QModelIndex &index, int role ) const override; 0023 QVariant headerData( int section, Qt::Orientation orientation, int role ) const override; 0024 void clear(); 0025 Qt::ItemFlags flags(const QModelIndex & index) const override ; 0026 public Q_SLOTS: 0027 int addNode( const GeoDataCoordinates &node ); 0028 private: 0029 QVector<GeoDataCoordinates> m_nodes; 0030 }; 0031 0032 } 0033 0034 #endif