1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119 | /* ============================================================
*
* This file is a part of digiKam project
* https://www.digikam.org
*
* Date : 2023-05-15
* Description : geolocation engine based on Marble.
* (c) 2007-2022 Marble Team
* https://invent.kde.org/education/marble/-/raw/master/data/credits_authors.html
*
* SPDX-FileCopyrightText: 2023-2024 by Gilles Caulier <caulier dot gilles at gmail dot com>
*
* SPDX-License-Identifier: LGPL-2.1-or-later
*
* ============================================================ */
#include "GeoSceneDocument.h"
// Local includes
#include "GeoSceneHead.h"
#include "GeoSceneMap.h"
#include "GeoSceneLegend.h"
#include "GeoSceneSettings.h"
#include "GeoSceneTypes.h"
namespace Marble
{
class Q_DECL_HIDDEN GeoSceneDocumentPrivate
{
public:
GeoSceneDocumentPrivate()
: m_head(new GeoSceneHead),<--- Class 'GeoSceneDocumentPrivate' does not have a copy constructor which is recommended since it has dynamic memory/resource allocation(s).<--- Class 'GeoSceneDocumentPrivate' does not have a operator= which is recommended since it has dynamic memory/resource allocation(s).
m_map(new GeoSceneMap),
m_settings(new GeoSceneSettings),
m_legend(new GeoSceneLegend)
{
}
~GeoSceneDocumentPrivate()
{
delete m_head;
delete m_map;
delete m_settings;
delete m_legend;
}
GeoSceneHead* m_head = nullptr;
GeoSceneMap* m_map = nullptr;
GeoSceneSettings* m_settings = nullptr;
GeoSceneLegend* m_legend = nullptr;
};
GeoSceneDocument::GeoSceneDocument()
: GeoDocument(),
d(new GeoSceneDocumentPrivate)
{
// Establish connection of property changes to the outside, e.g. the LegendBrowser
connect(d->m_settings, SIGNAL(valueChanged(QString, bool)),
this, SIGNAL(valueChanged(QString, bool)));
}
GeoSceneDocument::~GeoSceneDocument()
{
delete d;
}
const char* GeoSceneDocument::nodeType() const
{
return GeoSceneTypes::GeoSceneDocumentType;
}
const GeoSceneHead* GeoSceneDocument::head() const
{
return d->m_head;
}
GeoSceneHead* GeoSceneDocument::head()
{
return d->m_head;
}
const GeoSceneMap* GeoSceneDocument::map() const
{
return d->m_map;
}
GeoSceneMap* GeoSceneDocument::map()
{
return d->m_map;
}
const GeoSceneSettings* GeoSceneDocument::settings() const
{
return d->m_settings;
}
GeoSceneSettings* GeoSceneDocument::settings()
{
return d->m_settings;
}
const GeoSceneLegend* GeoSceneDocument::legend() const
{
return d->m_legend;
}
GeoSceneLegend* GeoSceneDocument::legend()
{
return d->m_legend;
}
} // namespace Marble
#include "moc_GeoSceneDocument.cpp"
|