Mercurial > hg > svgui
view layer/TimeValueLayer.h @ 11:2d5005f2b3d9
* 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 | 02aaea1ffaf7 |
children | 01849cd277e6 |
line wrap: on
line source
/* -*- c-basic-offset: 4 -*- vi:set ts=8 sts=4 sw=4: */ /* A waveform viewer and audio annotation editor. Chris Cannam, Queen Mary University of London, 2005-2006 This is experimental software. Not for distribution. */ #ifndef _TIME_VALUE_VIEW_H_ #define _TIME_VALUE_VIEW_H_ #include "base/Layer.h" #include "model/SparseTimeValueModel.h" #include <QObject> #include <QColor> class View; class QPainter; class TimeValueLayer : public Layer { Q_OBJECT public: TimeValueLayer(View *w); virtual void paint(QPainter &paint, QRect rect) const; virtual QRect getFeatureDescriptionRect(QPainter &, QPoint) const; virtual void paintLocalFeatureDescription(QPainter &, QRect, QPoint) const; virtual const Model *getModel() const { return m_model; } void setModel(SparseTimeValueModel *model); virtual PropertyList getProperties() const; virtual PropertyType getPropertyType(const PropertyName &) const; virtual int getPropertyRangeAndValue(const PropertyName &, int *min, int *max) const; virtual QString getPropertyValueLabel(const PropertyName &, int value) const; virtual void setProperty(const PropertyName &, int value); void setBaseColour(QColor); QColor getBaseColour() const { return m_colour; } enum PlotStyle { PlotPoints, PlotStems, PlotConnectedPoints, PlotLines, PlotCurve }; void setPlotStyle(PlotStyle style); PlotStyle getPlotStyle() const { return m_plotStyle; } virtual QString getPropertyContainerIconName() const { return "values"; } virtual bool isLayerScrollable() const; virtual int getCompletion() const { return m_model->getCompletion(); } virtual QString toXmlString(QString indent = "", QString extraAttributes = "") const; void setProperties(const QXmlAttributes &attributes); protected: SparseTimeValueModel::PointList getLocalPoints(int) const; SparseTimeValueModel *m_model; QColor m_colour; PlotStyle m_plotStyle; }; #endif