diff options
Diffstat (limited to 'pokemod/Object.cpp')
| -rw-r--r-- | pokemod/Object.cpp | 114 |
1 files changed, 0 insertions, 114 deletions
diff --git a/pokemod/Object.cpp b/pokemod/Object.cpp index b0fb3b64..ce2425d8 100644 --- a/pokemod/Object.cpp +++ b/pokemod/Object.cpp @@ -19,15 +19,7 @@ #include "Object.h" // Pokemod includes -#include "Fraction.h" #include "Macros.h" -#include "Script.h" - -// Qt includes -#include <QtCore/QBuffer> -#include <QtCore/QPoint> -#include <QtGui/QImage> -#include <QtGui/QPixmap> Pokemod::Object::Object(const Object& object) : QObject(NULL), @@ -100,109 +92,3 @@ QString Pokemod::Object::subclass(const QString& subclass, const QString& name) void Pokemod::Object::clear() { } - -namespace Pokemod -{ -template<> void Object::loadValue<bool>(const QDomElement& xml, bool* value) -{ - *value = (xml.firstChild().toText().data() == "true"); -} - -template<> void Object::loadValue<int>(const QDomElement& xml, int* value) -{ - *value = xml.firstChild().toText().data().toInt(); -} - -template<> void Object::loadValue<Fraction>(const QDomElement& xml, Fraction* value) -{ - value->set(xml.attribute("numerator", "1").toInt(), xml.attribute("denominator", "1").toInt()); -} - -template<> void Object::loadValue<QPoint>(const QDomElement& xml, QPoint* value) -{ - value->setX(xml.attribute("x", "0").toInt()); - value->setY(xml.attribute("y", "0").toInt()); -} - -template<> void Object::loadValue<QPixmap>(const QDomElement& xml, QPixmap* value) -{ - // FIXME: QPixmap::fromData static member would be nice - *value = QPixmap::fromImage(QImage::fromData(QByteArray::fromBase64(xml.firstChild().toText().data().toUtf8()))); -} - -template<> void Object::loadValue<QByteArray>(const QDomElement& xml, QByteArray* value) -{ - *value = QByteArray::fromBase64(xml.firstChild().toText().data().toUtf8()); -} - -template<> void Object::loadValue<Script>(const QDomElement& xml, Script* value) -{ - value->setInterpreter(xml.attribute("interpreter", "")); - value->setScript(xml.firstChild().toText().data()); -} - -template<> QDomElement Object::saveValue<bool>(const QString& name, const bool& value) -{ - QDomElement element = QDomDocument().createElement(name); - element.appendChild(QDomDocument().createTextNode(value ? "true" : "false")); - return element; -} - -template<> QDomElement Object::saveValue<int>(const QString& name, const int& value) -{ - QDomElement element = QDomDocument().createElement(name); - element.appendChild(QDomDocument().createTextNode(QString::number(value))); - return element; -} - -template<> QDomElement Object::saveValue<QString>(const QString& name, const QString& value) -{ - QDomElement element = QDomDocument().createElement(name); - element.appendChild(QDomDocument().createTextNode(value)); - return element; -} - -template<> QDomElement Object::saveValue<Fraction>(const QString& name, const Fraction& value) -{ - QDomElement element = QDomDocument().createElement(name); - element.setAttribute("numerator", value.numerator()); - element.setAttribute("denominator", value.denominator()); - return element; -} - -template<> QDomElement Object::saveValue<QPoint>(const QString& name, const QPoint& value) -{ - QDomElement element = QDomDocument().createElement(name); - element.setAttribute("x", value.x()); - element.setAttribute("y", value.y()); - return element; -} - -template<> QDomElement Object::saveValue<QPixmap>(const QString& name, const QPixmap& value) -{ - QDomElement element = QDomDocument().createElement(name); - QByteArray bytes; - QBuffer* buffer = new QBuffer(&bytes); - buffer->open(QIODevice::WriteOnly); - value.save(buffer, "PNG"); - element.appendChild(QDomDocument().createTextNode(bytes.toBase64())); - delete buffer; - return element; -} - -template<> QDomElement Object::saveValue<QByteArray>(const QString& name, const QByteArray& value) -{ - QDomElement element = QDomDocument().createElement(name); - element.appendChild(QDomDocument().createTextNode(value.toBase64())); - return element; -} - -template<> QDomElement Object::saveValue<Script>(const QString& name, const Script& value) -{ - QDomElement element = QDomDocument().createElement(name); - element.setAttribute("interpreter", value.interpreter()); - element.appendChild(QDomDocument().createCDATASection(value.script())); - return element; -} - -} |
