Marble

MapTheme.h
1// SPDX-License-Identifier: LGPL-2.1-or-later
2//
3// SPDX-FileCopyrightText: 2022 Torsten Rahn <rahn@kde.org>
4//
5
6#ifndef MARBLE_MAPTHEME_H
7#define MARBLE_MAPTHEME_H
8
9#include <QObject>
10#include <QQuickItem>
11
12Q_MOC_INCLUDE("MarbleQuickItem.h")
13
14/**
15 * Represents the maptheme with its most important properties
16 *
17 * @todo: Expose more properties
18 */
19namespace Marble
20{
21class MarbleQuickItem;
22
23class MapTheme : public QObject
24{
25 Q_OBJECT
26
27 Q_PROPERTY(Marble::MarbleQuickItem *map READ map WRITE setMap NOTIFY mapChanged)
28
29 Q_PROPERTY(QString license READ license NOTIFY licenseChanged)
30
31public:
32 explicit MapTheme(QObject *parent = nullptr);
33
34 /** Query the Marble map backend that this item uses for screen position determination */
35 MarbleQuickItem *map() const;
36
37 QString license() const;
38
39 /** Hook up the GeoItem with Marble's map backend */
40 void setMap(MarbleQuickItem *map);
42 void mapChanged(MarbleQuickItem *);
43 void licenseChanged();
44
45private:
46 MarbleQuickItem *m_map = nullptr;
47};
48}
49
50#endif // MARBLE_MAPTHEME_H
Binds a QML item to a specific geodetic location in screen coordinates.
Q_PROPERTY(...)
Q_SIGNALSQ_SIGNALS
QFuture< void > map(Iterator begin, Iterator end, MapFunctor &&function)
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Mon Nov 18 2024 12:15:45 by doxygen 1.12.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.