File indexing completed on 2025-01-05 03:59:10
0001 /* 0002 SPDX-FileCopyrightText: 2007 Nikolas Zimmermann <zimmermann@kde.org> 0003 SPDX-FileCopyrightText: 2007 Murad Tagirov <tmurad@gmail.com> 0004 0005 SPDX-License-Identifier: LGPL-2.0-or-later 0006 */ 0007 0008 #ifndef MARBLE_GEOSCENEDOCUMENT_H 0009 #define MARBLE_GEOSCENEDOCUMENT_H 0010 0011 #include <QObject> 0012 #include "GeoDocument.h" 0013 0014 #include "digikam_export.h" 0015 0016 namespace Marble 0017 { 0018 0019 class GeoSceneHead; 0020 class GeoSceneLegend; 0021 class GeoSceneMap; 0022 class GeoSceneSettings; 0023 0024 class GeoSceneDocumentPrivate; 0025 0026 /** 0027 * @short A container for features parsed from the DGML file. 0028 */ 0029 class DIGIKAM_EXPORT GeoSceneDocument : public QObject, 0030 public GeoDocument, 0031 public GeoNode 0032 { 0033 Q_OBJECT 0034 0035 public: 0036 GeoSceneDocument(); 0037 ~GeoSceneDocument() override; 0038 0039 const char* nodeType() const override; 0040 0041 bool isGeoSceneDocument() const override { return true; } 0042 0043 const GeoSceneHead* head() const; 0044 GeoSceneHead* head(); 0045 0046 const GeoSceneMap* map() const; 0047 GeoSceneMap* map(); 0048 0049 const GeoSceneSettings* settings() const; 0050 GeoSceneSettings* settings(); 0051 0052 const GeoSceneLegend* legend() const; 0053 GeoSceneLegend* legend(); 0054 0055 Q_SIGNALS: 0056 void valueChanged( const QString&, bool ); 0057 0058 private: 0059 Q_DISABLE_COPY( GeoSceneDocument ) 0060 GeoSceneDocumentPrivate * const d; 0061 }; 0062 0063 } 0064 0065 #endif