6#include "GeoDataUpdate.h"
8#include "GeoDataChange.h"
9#include "GeoDataCreate.h"
10#include "GeoDataDelete.h"
11#include "GeoDataTypes.h"
18class GeoDataUpdatePrivate
21 GeoDataUpdatePrivate();
22 GeoDataCreate *m_create;
23 GeoDataDelete *m_delete;
24 GeoDataChange *m_change;
28GeoDataUpdatePrivate::GeoDataUpdatePrivate()
35GeoDataUpdate::GeoDataUpdate()
36 : d(new GeoDataUpdatePrivate)
40GeoDataUpdate::GeoDataUpdate(
const Marble::GeoDataUpdate &other)
42 , d(new GeoDataUpdatePrivate(*other.d))
46GeoDataUpdate &GeoDataUpdate::operator=(
const GeoDataUpdate &other)
48 GeoDataObject::operator=(other);
53bool GeoDataUpdate::operator==(
const GeoDataUpdate &other)
const
55 bool const changeEmpty = !d->m_change || d->m_change->size() == 0;
56 bool const otherChangeEmpty = !other.d->m_change || other.d->m_change->size() == 0;
58 if (changeEmpty != otherChangeEmpty) {
60 }
else if (d->m_change && other.d->m_change && *d->m_change != *other.d->m_change) {
64 return d->m_targetHref == other.d->m_targetHref;
67bool GeoDataUpdate::operator!=(
const GeoDataUpdate &other)
const
72GeoDataUpdate::~GeoDataUpdate()
77const char *GeoDataUpdate::nodeType()
const
79 return GeoDataTypes::GeoDataUpdateType;
82QString GeoDataUpdate::targetHref()
const
84 return d->m_targetHref;
87void GeoDataUpdate::setTargetHref(
const QString &targetHref)
89 d->m_targetHref = targetHref;
92const GeoDataChange *GeoDataUpdate::change()
const
97GeoDataChange *GeoDataUpdate::change()
102void GeoDataUpdate::setChange(GeoDataChange *change)
105 d->m_change = change;
107 d->m_change->setParent(
this);
111const GeoDataCreate *GeoDataUpdate::create()
const
116GeoDataCreate *GeoDataUpdate::create()
121void GeoDataUpdate::setCreate(GeoDataCreate *create)
126 d->m_create->setParent(
this);
130const GeoDataDelete *GeoDataUpdate::getDelete()
const
135GeoDataDelete *GeoDataUpdate::getDelete()
140void GeoDataUpdate::setDelete(GeoDataDelete *dataDelete)
143 d->m_delete = dataDelete;
145 d->m_delete->setParent(
this);
QAction * create(StandardAction id, const Receiver *recvr, Func slot, QObject *parent, std::optional< Qt::ConnectionType > connectionType=std::nullopt)
bool operator==(const StyleDelim &l, const StyleDelim &r)
Binds a QML item to a specific geodetic location in screen coordinates.