File indexing completed on 2025-01-05 03:59:10
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 "digikam_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 DIGIKAM_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