annotate layer/TimeRulerLayer.h @ 56:fedaf3ffe80a
 
* Add menu for re-adding existing layers
* Fix layer tree window so that it at least approximates correct
* Add bundled operations in command history, for use with things like
  multiple consecutive changes to a parameter value
* Disambiguate plugins that happen to have identical descriptions
* Add spectral centroid plugin (could use some parameters!)
* Some other fixes
 | author | Chris Cannam | 
 | date | Fri, 17 Mar 2006 17:38:28 +0000 | 
 | parents | ad214997dddb | 
 | children | 01ab51f72e84 | 
 | 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@5 | 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 #ifndef _TIME_RULER_H_ | 
| Chris@0 | 11 #define _TIME_RULER_H_ | 
| Chris@0 | 12 | 
| Chris@0 | 13 #include "base/Layer.h" | 
| Chris@0 | 14 | 
| Chris@0 | 15 #include <QRect> | 
| Chris@0 | 16 #include <QColor> | 
| Chris@0 | 17 | 
| Chris@0 | 18 class View; | 
| Chris@0 | 19 class Model; | 
| Chris@0 | 20 class QPainter; | 
| Chris@0 | 21 | 
| Chris@0 | 22 class TimeRulerLayer : public Layer | 
| Chris@0 | 23 { | 
| Chris@0 | 24     Q_OBJECT | 
| Chris@0 | 25 | 
| Chris@0 | 26 public: | 
| Chris@44 | 27     TimeRulerLayer(); | 
| Chris@0 | 28 | 
| Chris@44 | 29     virtual void paint(View *v, QPainter &paint, QRect rect) const; | 
| Chris@0 | 30 | 
| Chris@0 | 31     void setModel(Model *); | 
| Chris@0 | 32     virtual const Model *getModel() const { return m_model; } | 
| Chris@0 | 33 | 
| Chris@0 | 34     void setBaseColour(QColor); | 
| Chris@0 | 35     QColor getBaseColour() const { return m_colour; } | 
| Chris@0 | 36 | 
| Chris@0 | 37     enum LabelHeight { LabelTop, LabelMiddle, LabelBottom }; | 
| Chris@0 | 38     void setLabelHeight(LabelHeight h) { m_labelHeight = h; } | 
| Chris@0 | 39     LabelHeight getLabelHeight() const { return m_labelHeight; } | 
| Chris@0 | 40 | 
| Chris@0 | 41     virtual PropertyList getProperties() const; | 
| Chris@0 | 42     virtual PropertyType getPropertyType(const PropertyName &) const; | 
| Chris@0 | 43     virtual int getPropertyRangeAndValue(const PropertyName &, | 
| Chris@0 | 44 					   int *min, int *max) const; | 
| Chris@0 | 45     virtual QString getPropertyValueLabel(const PropertyName &, | 
| Chris@0 | 46 					  int value) const; | 
| Chris@0 | 47     virtual void setProperty(const PropertyName &, int value); | 
| Chris@0 | 48 | 
| Chris@6 | 49     virtual QString toXmlString(QString indent = "", | 
| Chris@6 | 50 				QString extraAttributes = "") const; | 
| Chris@6 | 51 | 
| Chris@11 | 52     void setProperties(const QXmlAttributes &attributes); | 
| Chris@11 | 53 | 
| Chris@0 | 54 protected: | 
| Chris@0 | 55     Model *m_model; | 
| Chris@0 | 56     QColor m_colour; | 
| Chris@0 | 57     LabelHeight m_labelHeight; | 
| Chris@0 | 58 }; | 
| Chris@0 | 59 | 
| Chris@0 | 60 #endif |