File indexing completed on 2024-04-28 03:50:24

0001 // SPDX-License-Identifier: LGPL-2.1-or-later
0002 //
0003 // SPDX-FileCopyrightText: 2011 Guillaume Martres <smarter@ubuntu.com>
0004 //
0005 
0006 #ifndef MARBLE_SATELLITESCONFIGNODEITEM_H
0007 #define MARBLE_SATELLITESCONFIGNODEITEM_H
0008 
0009 #include "SatellitesConfigAbstractItem.h"
0010 #include <QVector>
0011 
0012 namespace Marble
0013 {
0014 
0015 class SatellitesConfigNodeItem : public SatellitesConfigAbstractItem
0016 {
0017 public:
0018     explicit SatellitesConfigNodeItem( const QString &name );
0019     ~SatellitesConfigNodeItem() override;
0020 
0021     void loadSettings(const QHash<QString, QVariant> &settings) override;
0022 
0023     QVariant data( int column, int role ) const override;
0024     bool setData(int column, int role, const QVariant& data) override;
0025 
0026     bool isLeaf() const override;
0027     SatellitesConfigAbstractItem *childAt( int row ) const override;
0028     int indexOf( const SatellitesConfigAbstractItem *child ) const override;
0029     int childrenCount() const override;
0030 
0031     void appendChild( SatellitesConfigAbstractItem *item );
0032     void clear() override;
0033 
0034 private:
0035     QVector<SatellitesConfigAbstractItem *> m_children;
0036 };
0037 
0038 } // namespace Marble
0039 
0040 #endif // MARBLE_SATELLITESCONFIGNODEITEM_H