File indexing completed on 2024-05-19 03:51:51

0001 /*
0002     SPDX-FileCopyrightText: 2008 Torsten Rahn <rahn@kde.org>
0003 
0004     SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 #ifndef MARBLE_GEOSCENEPROPERTY_H
0008 #define MARBLE_GEOSCENEPROPERTY_H
0009 
0010 #include <QObject>
0011 #include <QString>
0012 
0013 #include <geodata_export.h>
0014 
0015 #include "GeoDocument.h"
0016 
0017 namespace Marble
0018 {
0019 
0020 /**
0021  * @short Settings property within a GeoScene document.
0022  */
0023 
0024 class GEODATA_EXPORT GeoSceneProperty : public QObject, 
0025                                         public GeoNode
0026 {
0027     Q_OBJECT
0028 
0029  public:
0030     explicit GeoSceneProperty( const QString& name );
0031     const char* nodeType() const override;
0032     
0033     QString name() const;
0034     bool available() const;
0035     void setAvailable( bool available );
0036     bool defaultValue() const;
0037     void setDefaultValue( bool defaultValue );
0038     bool value() const;
0039     void setValue( bool value );
0040 
0041  Q_SIGNALS:
0042     void valueChanged( const QString&, bool );
0043 
0044  private:
0045     // FIXME: d-pointerfy
0046 
0047     QString  m_name;
0048     bool     m_available;
0049     bool     m_defaultValue;
0050     bool     m_value;
0051 };
0052 
0053 }
0054 
0055 #endif