Mercurial > hg > svcore
annotate base/Layer.cpp @ 6:44bbf5793d84
* Rework handling of layer properties in file I/O -- we now get the individual
layers to load and save them rather than doing it via generic property lists
in the base class, so as to ensure we read and write meaningful values rather
than generic int values requiring conversion.
author | Chris Cannam |
---|---|
date | Thu, 19 Jan 2006 12:54:38 +0000 |
parents | 31c4ed2d5da6 |
children | f67ddc287bc3 |
rev | line source |
---|---|
Chris@0 | 1 /* -*- c-basic-offset: 4 -*- vi:set ts=8 sts=4 sw=4: */ |
Chris@0 | 2 |
Chris@0 | 3 /* |
Chris@0 | 4 A waveform viewer and audio annotation editor. |
Chris@2 | 5 Chris Cannam, Queen Mary University of London, 2005-2006 |
Chris@0 | 6 |
Chris@0 | 7 This is experimental software. Not for distribution. |
Chris@0 | 8 */ |
Chris@0 | 9 |
Chris@0 | 10 #include "Layer.h" |
Chris@0 | 11 #include "View.h" |
Chris@0 | 12 |
Chris@0 | 13 #include <iostream> |
Chris@0 | 14 |
Chris@3 | 15 #include "layer/LayerFactory.h" //!!! shouldn't be including this here -- does that suggest we need to move this into layer/ ? |
Chris@3 | 16 |
Chris@0 | 17 Layer::Layer(View *w) |
Chris@0 | 18 { |
Chris@0 | 19 m_view = w; |
Chris@0 | 20 |
Chris@0 | 21 // Subclass must call this: |
Chris@0 | 22 // w->addLayer(this); |
Chris@0 | 23 } |
Chris@0 | 24 |
Chris@0 | 25 Layer::~Layer() |
Chris@0 | 26 { |
Chris@0 | 27 m_view->removeLayer(this); |
Chris@0 | 28 } |
Chris@0 | 29 |
Chris@0 | 30 void |
Chris@0 | 31 Layer::setObjectName(const QString &name) |
Chris@0 | 32 { |
Chris@0 | 33 QObject::setObjectName(name); |
Chris@0 | 34 emit layerNameChanged(); |
Chris@0 | 35 } |
Chris@0 | 36 |
Chris@3 | 37 QString |
Chris@3 | 38 Layer::toXmlString(QString indent, QString extraAttributes) const |
Chris@3 | 39 { |
Chris@3 | 40 QString s; |
Chris@3 | 41 |
Chris@3 | 42 s += indent; |
Chris@3 | 43 |
Chris@6 | 44 s += QString("<layer id=\"%2\" type=\"%1\" name=\"%3\" model=\"%4\" %5/>\n") |
Chris@3 | 45 .arg(LayerFactory::instance()->getLayerTypeName |
Chris@3 | 46 (LayerFactory::instance()->getLayerType(this))) |
Chris@4 | 47 .arg(getObjectExportId(this)) |
Chris@3 | 48 .arg(objectName()) |
Chris@4 | 49 .arg(getObjectExportId(getModel())) |
Chris@3 | 50 .arg(extraAttributes); |
Chris@3 | 51 |
Chris@3 | 52 return s; |
Chris@3 | 53 } |
Chris@0 | 54 |
Chris@0 | 55 #ifdef INCLUDE_MOCFILES |
Chris@0 | 56 #include "Layer.moc.cpp" |
Chris@0 | 57 #endif |
Chris@0 | 58 |