File indexing completed on 2024-05-19 07:39:14
0001 // SPDX-License-Identifier: LGPL-2.1-or-later 0002 // 0003 // SPDX-FileCopyrightText: 2011 Guillaume Martres <smarter@ubuntu.com> 0004 // 0005 0006 #ifndef MARBLE_SATELLITESCONFIGABSTRACTITEM_H 0007 #define MARBLE_SATELLITESCONFIGABSTRACTITEM_H 0008 0009 #include <QHash> 0010 #include <QString> 0011 0012 class QVariant; 0013 0014 namespace Marble 0015 { 0016 0017 class SatellitesConfigAbstractItem 0018 { 0019 public: 0020 enum { 0021 IdListRole = Qt::UserRole + 0, 0022 FullIdListRole = Qt::UserRole + 1, 0023 UrlListRole = Qt::UserRole + 2 0024 }; 0025 0026 virtual ~SatellitesConfigAbstractItem(); 0027 0028 QString name() const; 0029 0030 int row() const; 0031 0032 SatellitesConfigAbstractItem *parent() const; 0033 void setParent( SatellitesConfigAbstractItem *parent ); 0034 0035 virtual void loadSettings(const QHash<QString, QVariant> &settings); 0036 0037 virtual QVariant data( int column, int role ) const; 0038 virtual bool setData( int column, int role, const QVariant &data ); 0039 0040 virtual bool isLeaf() const = 0; 0041 virtual SatellitesConfigAbstractItem *childAt( int row ) const = 0; 0042 virtual int indexOf( const SatellitesConfigAbstractItem *child ) const = 0; 0043 virtual int childrenCount() const = 0; 0044 0045 virtual Qt::ItemFlags flags() const; 0046 virtual void setFlags( Qt::ItemFlags flags ); 0047 0048 virtual void clear(); 0049 0050 protected: 0051 explicit SatellitesConfigAbstractItem( const QString &name ); 0052 0053 private: 0054 QString m_name; 0055 SatellitesConfigAbstractItem *m_parent; 0056 Qt::ItemFlags m_flags; 0057 }; 0058 0059 } // namespace Marble 0060 0061 #endif // MARBLE_SATELLITESCONFIGABSTRACTITEM_H