# HG changeset patch # User Chris Cannam # Date 1137175507 0 # Node ID 149bb02a41ba9dbc5067d146360351d508296b1f # Parent 581f67f370f34de6b6bfd4a629cb3fd287215739 * Session file save, and the skeleton of session file load. diff -r 581f67f370f3 -r 149bb02a41ba base/Layer.cpp --- a/base/Layer.cpp Thu Jan 12 17:19:08 2006 +0000 +++ b/base/Layer.cpp Fri Jan 13 18:05:07 2006 +0000 @@ -41,12 +41,12 @@ s += indent; - s += QString("\n") + s += QString("\n") .arg(LayerFactory::instance()->getLayerTypeName (LayerFactory::instance()->getLayerType(this))) - .arg((intptr_t)this) + .arg(getObjectExportId(this)) .arg(objectName()) - .arg((intptr_t)getModel()) + .arg(getObjectExportId(getModel())) .arg(extraAttributes); return s; diff -r 581f67f370f3 -r 149bb02a41ba base/Model.cpp --- a/base/Model.cpp Thu Jan 12 17:19:08 2006 +0000 +++ b/base/Model.cpp Fri Jan 13 18:05:07 2006 +0000 @@ -18,9 +18,12 @@ s += indent; - s += QString("\n") - .arg((intptr_t)this) + s += QString("\n") + .arg(getObjectExportId(this)) .arg(objectName()) + .arg(getSampleRate()) + .arg(getStartFrame()) + .arg(getEndFrame()) .arg(extraAttributes); return s; diff -r 581f67f370f3 -r 149bb02a41ba base/View.cpp --- a/base/View.cpp Thu Jan 12 17:19:08 2006 +0000 +++ b/base/View.cpp Fri Jan 13 18:05:07 2006 +0000 @@ -980,7 +980,7 @@ s += m_layers[i]->toXmlString(indent + " "); } - s += indent + ""; + s += indent + "\n"; return s; } diff -r 581f67f370f3 -r 149bb02a41ba base/XmlExportable.cpp --- a/base/XmlExportable.cpp Thu Jan 12 17:19:08 2006 +0000 +++ b/base/XmlExportable.cpp Fri Jan 13 18:05:07 2006 +0000 @@ -8,6 +8,7 @@ */ #include "XmlExportable.h" +#include QString XmlExportable::encodeEntities(QString s) @@ -39,3 +40,17 @@ return "#" + r + g + b; } +int +XmlExportable::getObjectExportId(const void * object) +{ + static std::map idMap; + static int maxId = 0; + + if (idMap.find(object) == idMap.end()) { + idMap[object] = maxId++; + } + + return idMap[object]; +} + + diff -r 581f67f370f3 -r 149bb02a41ba base/XmlExportable.h --- a/base/XmlExportable.h Thu Jan 12 17:19:08 2006 +0000 +++ b/base/XmlExportable.h Fri Jan 13 18:05:07 2006 +0000 @@ -22,6 +22,8 @@ static QString encodeEntities(QString); static QString encodeColour(QColor); + + static int getObjectExportId(const void *); // not thread-safe }; #endif