7#include "GeoDataExtendedData.h"
8#include "GeoDataExtendedData_p.h"
11#include "GeoDataTypes.h"
16GeoDataExtendedData::GeoDataExtendedData()
19 , d(new GeoDataExtendedDataPrivate)
23GeoDataExtendedData::GeoDataExtendedData(
const GeoDataExtendedData &other)
26 , d(new GeoDataExtendedDataPrivate(*other.d))
30bool GeoDataExtendedData::operator==(
const GeoDataExtendedData &other)
const
32 return d->hash == other.d->hash && d->arrayHash == other.d->arrayHash;
35GeoDataExtendedData::~GeoDataExtendedData()
37 qDeleteAll(d->arrayHash);
43 GeoNode::operator=(other);
50 return !this->operator==(other);
53const char *GeoDataExtendedData::nodeType()
const
55 return GeoDataTypes::GeoDataExtendedDataType;
58GeoDataData &GeoDataExtendedData::valueRef(
const QString &key)
const
63GeoDataData GeoDataExtendedData::value(
const QString &key)
const
65 return d->hash.value(key);
68void GeoDataExtendedData::addValue(
const GeoDataData &data)
70 d->hash.insert(data.name(), data);
73void GeoDataExtendedData::removeKey(
const QString &key)
80 return d->hash.constBegin();
85 return d->hash.constEnd();
88int GeoDataExtendedData::size()
const
90 return d->hash.size();
93bool GeoDataExtendedData::isEmpty()
const
95 return d->hash.empty() && d->schemaDataHash.empty();
98bool GeoDataExtendedData::contains(
const QString &key)
const
100 return d->hash.contains(key);
103void GeoDataExtendedData::setSimpleArrayData(
const QString &key, GeoDataSimpleArrayData *values)
105 d->arrayHash[key] = values;
108GeoDataSimpleArrayData *GeoDataExtendedData::simpleArrayData(
const QString &key)
const
110 if (!d->arrayHash.contains(key))
112 return d->arrayHash[key];
115GeoDataSchemaData &GeoDataExtendedData::schemaData(
const QString &schemaUrl)
const
117 return d->schemaDataHash[schemaUrl];
120void GeoDataExtendedData::addSchemaData(
const GeoDataSchemaData &schemaData)
122 d->schemaDataHash.insert(schemaData.schemaUrl(), schemaData);
123 d->schemaDataHash[schemaData.schemaUrl()].
setParent(
this);
126void GeoDataExtendedData::removeSchemaData(
const QString &schemaUrl)
128 GeoDataSchemaData schemaData = d->schemaDataHash.take(schemaUrl);
129 schemaData.setParent(
nullptr);
134 return d->schemaDataHash.values();
a class which allows to add custom data to KML Feature.
void setParent(GeoDataObject *parent)
Sets the parent of the object.
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 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.