Mercurial > hg > svcore
view base/XmlExportable.cpp @ 16:cc98d496d52b
* Add command history class, and basic undo/redo menus. No actual commands
to undo/redo yet. Selecting the placeholders sometimes seems to cause
a crash, so this looks a little uncertain so far.
* Add Rename Layer
* Remove models from playback when their layers are removed (and ref counts
hit zero)
* Don't hang around waiting so much when there's work to be done in the audio
buffer fill thread
* Put more sensible names on layers generated from transforms
* Add basic editing to time-value layer like existing editing in time-instants
layer, and make both of them snap to the appropriate resolution during drag
author | Chris Cannam |
---|---|
date | Mon, 30 Jan 2006 17:51:56 +0000 |
parents | 149bb02a41ba |
children | 39ae3dee27b9 |
line wrap: on
line source
/* -*- c-basic-offset: 4 -*- vi:set ts=8 sts=4 sw=4: */ /* A waveform viewer and audio annotation editor. Chris Cannam, Queen Mary University of London, 2005-2006 This is experimental software. Not for distribution. */ #include "XmlExportable.h" #include <map> QString XmlExportable::encodeEntities(QString s) { s .replace("&", "&") .replace("<", "<") .replace(">", ">") .replace("\"", """) .replace("'", "'"); return s; } QString XmlExportable::encodeColour(QColor c) { QString r, g, b; r.setNum(c.red(), 16); if (c.red() < 16) r = "0" + r; g.setNum(c.green(), 16); if (c.green() < 16) g = "0" + g; b.setNum(c.blue(), 16); if (c.blue() < 16) b = "0" + b; return "#" + r + g + b; } int XmlExportable::getObjectExportId(const void * object) { static std::map<const void *, int> idMap; static int maxId = 0; if (idMap.find(object) == idMap.end()) { idMap[object] = maxId++; } return idMap[object]; }