annotate layer/TimeValueLayer.h @ 1:ab83c415a6cd

* Backed out partially complete changes to make the spectrogram only store results up to the requested max frequency. The speed improvement was minimal at the expense of annoyance when changing frequency limit, and although it did save memory, it wasn't yet reliable and fixing it is not a high enough priority.
author Chris Cannam
date Tue, 10 Jan 2006 17:04:02 +0000
parents 2a4f26e85b4c
children 7af44e8578c8
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@0 5 Chris Cannam, Queen Mary University of London, 2005
Chris@0 6
Chris@0 7 This is experimental software. Not for distribution.
Chris@0 8 */
Chris@0 9
Chris@0 10 #ifndef _TIME_VALUE_VIEW_H_
Chris@0 11 #define _TIME_VALUE_VIEW_H_
Chris@0 12
Chris@0 13 #include "base/Layer.h"
Chris@0 14 #include "model/SparseTimeValueModel.h"
Chris@0 15
Chris@0 16 #include <QObject>
Chris@0 17 #include <QColor>
Chris@0 18
Chris@0 19 class View;
Chris@0 20 class QPainter;
Chris@0 21
Chris@0 22 class TimeValueLayer : public Layer
Chris@0 23 {
Chris@0 24 Q_OBJECT
Chris@0 25
Chris@0 26 public:
Chris@0 27 TimeValueLayer(View *w);
Chris@0 28
Chris@0 29 virtual void paint(QPainter &paint, QRect rect) const;
Chris@0 30
Chris@0 31 virtual QRect getFeatureDescriptionRect(QPainter &, QPoint) const;
Chris@0 32 virtual void paintLocalFeatureDescription(QPainter &, QRect, QPoint) const;
Chris@0 33
Chris@0 34 virtual const Model *getModel() const { return m_model; }
Chris@0 35 void setModel(SparseTimeValueModel *model);
Chris@0 36
Chris@0 37 virtual PropertyList getProperties() const;
Chris@0 38 virtual PropertyType getPropertyType(const PropertyName &) const;
Chris@0 39 virtual int getPropertyRangeAndValue(const PropertyName &,
Chris@0 40 int *min, int *max) const;
Chris@0 41 virtual QString getPropertyValueLabel(const PropertyName &,
Chris@0 42 int value) const;
Chris@0 43 virtual void setProperty(const PropertyName &, int value);
Chris@0 44
Chris@0 45 void setBaseColour(QColor);
Chris@0 46 QColor getBaseColour() const { return m_colour; }
Chris@0 47
Chris@0 48 enum PlotStyle { PlotPoints, PlotStems, PlotLines };
Chris@0 49
Chris@0 50 void setPlotStyle(PlotStyle style);
Chris@0 51 PlotStyle getPlotStyle() const { return m_plotStyle; }
Chris@0 52
Chris@0 53 virtual QString getPropertyContainerIconName() const { return "values"; }
Chris@0 54
Chris@0 55 virtual bool isLayerScrollable() const;
Chris@0 56
Chris@0 57 virtual int getCompletion() const { return m_model->getCompletion(); }
Chris@0 58
Chris@0 59 protected:
Chris@0 60 SparseTimeValueModel::PointList getLocalPoints(int) const;
Chris@0 61
Chris@0 62 SparseTimeValueModel *m_model;
Chris@0 63 QColor m_colour;
Chris@0 64 PlotStyle m_plotStyle;
Chris@0 65 };
Chris@0 66
Chris@0 67 #endif
Chris@0 68