Marble

GeoSceneMap.h
1/*
2 SPDX-FileCopyrightText: 2008 Torsten Rahn <rahn@kde.org>
3
4 SPDX-License-Identifier: LGPL-2.0-or-later
5*/
6
7#ifndef MARBLE_GEOSCENEMAP_H
8#define MARBLE_GEOSCENEMAP_H
9
10#include <QVector>
11#include <QVariant>
12
13#include <geodata_export.h>
14
15#include "GeoDocument.h"
16
17class QColor;
18class QString;
19
20namespace Marble
21{
22
23class GeoSceneLayer;
24class GeoSceneFilter;
25
26class GeoSceneMapPrivate;
27
28/**
29 * @short Map layer structure of a GeoScene document.
30 */
31class GEODATA_EXPORT GeoSceneMap : public GeoNode
32{
33 public:
35 ~GeoSceneMap() override;
36 const char* nodeType() const override;
37
38 QColor backgroundColor() const;
39 void setBackgroundColor( const QColor& );
40
41 QColor labelColor() const;
42 void setLabelColor( const QColor& );
43
44 QColor highlightBrushColor() const;
45 void setHighlightBrushColor( const QColor& );
46
47 QColor highlightPenColor() const;
48 void setHighlightPenColor( const QColor& );
49 /**
50 * @brief Add a new layer to the map
51 * @param layer The new layer
52 */
53 void addLayer( GeoSceneLayer* );
54 /**
55 * @ brief Set starting center with lon lat cooredinates
56 * used if a scene downloadUrl do not handle elements in other locations
57 */
58 void setCenter(const QString & coordinateString);
59 /**
60 * @breif Get starting center with cooredinates
61 * used if a scene downloadUrl do not handle elements in other locations
62 * return A QVariantList of lon lat as specified in the dgml
63 */
64 QVariantList center() const;
65 /**
66 * @brief Return a layer by its name
67 * @param name The name of the layer
68 * @return A pointer to the layer request by its name
69 */
70 GeoSceneLayer* layer( const QString& name );
71 const GeoSceneLayer* layer( const QString& name ) const;
72
73 /**
74 * @brief Return all layers
75 * @return A vector that contains pointers to all available layers
76 */
77 QVector<GeoSceneLayer*> layers() const;
78
79 /**
80 * @brief Add a new filter to the map
81 * @param filter The new filter
82 */
83 void addFilter( GeoSceneFilter* );
84
85 /**
86 * @brief Return a filter by its name
87 * @param name The name of the filter
88 * @return A pointer to the filter request by its name
89 */
90 GeoSceneFilter* filter( const QString& name );
91
92 /**
93 * @brief Return all filters
94 * @return A vector that contains pointers to all available filters
95 */
96 QVector<GeoSceneFilter*> filters() const;
97
98 /**
99 * @brief Checks for valid layers that contain texture data
100 * @return Whether a texture layer got created internally
101 *
102 * NOTE: The existence of the file(s) that contain the actual data
103 * still needs to get checked at runtime!
104 */
105 bool hasTextureLayers() const;
106
107 /**
108 * @brief Checks for valid layers that contain vector data
109 * @return Whether a vector layer got created internally
110 *
111 * NOTE: The existence of the file(s) that contain the actual data
112 * still needs to get checked at runtime!
113 */
114 bool hasVectorLayers() const;
115
116 private:
117 Q_DISABLE_COPY( GeoSceneMap )
118 GeoSceneMapPrivate * const d;
119};
120
121}
122
123#endif
A shared base class for all classes that are mapped to a specific tag (ie.
Definition GeoDocument.h:35
Filter of a GeoScene document.
Layer of a GeoScene document.
Map layer structure of a GeoScene document.
Definition GeoSceneMap.h:32
Binds a QML item to a specific geodetic location in screen coordinates.
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Tue Mar 26 2024 11:18:17 by doxygen 1.10.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.