Mercurial > hg > svcore
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 |