Save id in attributes in state saving.

This commit is contained in:
Tats
2016-03-05 15:12:46 -05:00
parent 35b74c8d1f
commit f6ec081334
2 changed files with 18 additions and 0 deletions

View File

@@ -59,6 +59,21 @@ void Element::setOpacity(float opacity)
}
}
void Element::read(const QDomElement& obj)
{
Serializable::read(obj);
// Check id.
Q_ASSERT(_id == obj.attribute("id").toInt());
}
void Element::write(QDomElement& obj)
{
Serializable::write(obj);
// Set id.
obj.setAttribute("id", getId());
}
void Element::_emitPropertyChanged(const QString& propertyName)
{
emit propertyChanged(getId(), propertyName, property(propertyName.toAscii()));

View File

@@ -63,6 +63,9 @@ public:
virtual QIcon getIcon() const { return QIcon(); }
virtual void read(const QDomElement& obj);
virtual void write(QDomElement& obj);
signals:
void propertyChanged(uid id, QString propertyName, QVariant value);