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

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_GEOSCENEHEAD_H
0008 #define MARBLE_GEOSCENEHEAD_H
0009 
0010 #include "GeoDocument.h"
0011 
0012 #include <geodata_export.h>
0013 
0014 #include <QtGlobal>
0015 
0016 class QString;
0017 
0018 namespace Marble
0019 {
0020 
0021 class GeoSceneIcon;
0022 class GeoSceneZoom;
0023 class GeoSceneLicense;
0024 
0025 class GeoSceneHeadPrivate;
0026 
0027 /**
0028  * @short General properties and identifiers of a GeoScene document.
0029  */
0030 class GEODATA_EXPORT GeoSceneHead : public GeoNode
0031 {
0032  public:
0033     GeoSceneHead();
0034     ~GeoSceneHead() override;
0035     
0036     const char* nodeType() const override;
0037 
0038     QString name() const;
0039     void setName( const QString& name );
0040     QString target() const;
0041     void setTarget( const QString& target );
0042     QString theme() const;
0043     void setTheme( const QString& theme );
0044 
0045     /** Planet radius, 0.0 if unknown */
0046     qreal radius() const;
0047     void setRadius( qreal radius );
0048 
0049     QString mapThemeId() const;
0050 
0051     QString description() const;
0052     void setDescription( const QString& );
0053 
0054     bool visible() const;
0055     void setVisible( bool visible );
0056 
0057     const GeoSceneZoom* zoom() const;
0058     GeoSceneZoom* zoom();
0059 
0060     const GeoSceneIcon* icon() const;
0061     GeoSceneIcon* icon();
0062 
0063     const GeoSceneLicense* license() const;
0064     GeoSceneLicense* license();
0065 
0066 
0067  private:
0068     Q_DISABLE_COPY( GeoSceneHead )
0069     GeoSceneHeadPrivate * const d;
0070 };
0071 
0072 }
0073 
0074 #endif