annotate base/Layer.cpp @ 12:f67ddc287bc3

* Add ability to create empty layers for editing * Add first basic editing capability (adding points to a time instant layer) * Add various keyboard and mouse shortcuts for navigation &c * Add ability to resize a selection by dragging its edges * Add maximum zoom level
author Chris Cannam
date Thu, 26 Jan 2006 16:15:40 +0000
parents 44bbf5793d84
children 47500c27ac26
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@12 30 QString
Chris@12 31 Layer::getPropertyContainerIconName() const
Chris@12 32 {
Chris@12 33 return LayerFactory::instance()->getLayerIconName
Chris@12 34 (LayerFactory::instance()->getLayerType(this));
Chris@12 35 }
Chris@12 36
Chris@0 37 void
Chris@0 38 Layer::setObjectName(const QString &name)
Chris@0 39 {
Chris@0 40 QObject::setObjectName(name);
Chris@0 41 emit layerNameChanged();
Chris@0 42 }
Chris@0 43
Chris@3 44 QString
Chris@3 45 Layer::toXmlString(QString indent, QString extraAttributes) const
Chris@3 46 {
Chris@3 47 QString s;
Chris@3 48
Chris@3 49 s += indent;
Chris@3 50
Chris@6 51 s += QString("<layer id=\"%2\" type=\"%1\" name=\"%3\" model=\"%4\" %5/>\n")
Chris@3 52 .arg(LayerFactory::instance()->getLayerTypeName
Chris@3 53 (LayerFactory::instance()->getLayerType(this)))
Chris@4 54 .arg(getObjectExportId(this))
Chris@3 55 .arg(objectName())
Chris@4 56 .arg(getObjectExportId(getModel()))
Chris@3 57 .arg(extraAttributes);
Chris@3 58
Chris@3 59 return s;
Chris@3 60 }
Chris@0 61
Chris@0 62 #ifdef INCLUDE_MOCFILES
Chris@0 63 #include "Layer.moc.cpp"
Chris@0 64 #endif
Chris@0 65