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

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 <geodata_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 GEODATA_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