annotate widgets/Plotter.h @ 282:d9319859a4cf tip

(none)
author benoitrigolleau
date Fri, 31 Oct 2008 11:00:24 +0000
parents e006f4a57f86
children
rev   line source
benoitrigolleau@211 1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
benoitrigolleau@211 2
benoitrigolleau@211 3 /* Sound Access
benoitrigolleau@211 4 EASAIER client application.
benoitrigolleau@211 5 Silogic 2007. Benoit Rigolleau.
benoitrigolleau@211 6
benoitrigolleau@211 7 This program is free software; you can redistribute it and/or
benoitrigolleau@211 8 modify it under the terms of the GNU General Public License as
benoitrigolleau@211 9 published by the Free Software Foundation; either version 2 of the
benoitrigolleau@211 10 License, or (at your option) any later version. See the file
benoitrigolleau@211 11 COPYING included with this distribution for more information.
benoitrigolleau@211 12 */
benoitrigolleau@211 13
benoitrigolleau@211 14
benoitrigolleau@211 15 #ifndef PLOTTER_H
benoitrigolleau@211 16 #define PLOTTER_H
benoitrigolleau@211 17
benoitrigolleau@211 18 #include <QMap>
benoitrigolleau@211 19 #include <QPixmap>
benoitrigolleau@211 20 #include <QVector>
benoitrigolleau@211 21 #include <QWidget>
benoitrigolleau@211 22
benoitrigolleau@211 23
benoitrigolleau@211 24 class Plotter : public QWidget
benoitrigolleau@211 25 {
benoitrigolleau@211 26 Q_OBJECT
benoitrigolleau@211 27
benoitrigolleau@211 28 public:
benoitrigolleau@211 29 Plotter(QWidget *parent = 0);
benoitrigolleau@211 30
benoitrigolleau@211 31 void setCurveData(const QVector<QPoint> &data);
benoitrigolleau@211 32 void clearCurve();
benoitrigolleau@211 33 void setSignalSize(int m_signalWidth, int m_signalHeight);
benoitrigolleau@211 34 void setMargin(int margin);
benoitrigolleau@211 35
lbajardsilogic@229 36 signals:
lbajardsilogic@233 37 void filterChanged(QVector<float>&);
lbajardsilogic@229 38
lbajardsilogic@229 39 public slots:
lbajardsilogic@229 40 void setCurve(float *);
lbajardsilogic@232 41 void setFilter(float *);
lbajardsilogic@235 42 void enableDrawCurve(bool);
lbajardsilogic@232 43
lbajardsilogic@229 44
benoitrigolleau@211 45 protected:
benoitrigolleau@211 46 void paintEvent(QPaintEvent *event);
benoitrigolleau@211 47 void resizeEvent(QResizeEvent *event);
benoitrigolleau@211 48 void mousePressEvent(QMouseEvent *event);
benoitrigolleau@211 49 void mouseMoveEvent(QMouseEvent *event);
benoitrigolleau@211 50 void mouseReleaseEvent(QMouseEvent *event);
benoitrigolleau@211 51
benoitrigolleau@211 52 private:
benoitrigolleau@211 53 void refreshPixmap();
benoitrigolleau@211 54 void drawGrid(QPainter *painter);
benoitrigolleau@211 55 void drawCurve(QPainter *painter);
benoitrigolleau@211 56 void drawMaskCurve(QPainter *painter);
benoitrigolleau@211 57 QVector<QPoint> m_curve;
lbajardsilogic@233 58 QVector<float> m_curveMask;
benoitrigolleau@240 59 QVector<float> m_oldCurveMask;
benoitrigolleau@211 60 QPixmap m_pixmap;
benoitrigolleau@211 61 int m_signalHeight;
benoitrigolleau@211 62 int m_signalWidth;
benoitrigolleau@211 63 int m_margin;
benoitrigolleau@211 64 bool m_curveMaskActive;
benoitrigolleau@211 65 QPoint m_lastPoint;
lbajardsilogic@235 66
lbajardsilogic@235 67 bool m_enableDrawCurve;
benoitrigolleau@211 68 };
benoitrigolleau@211 69
benoitrigolleau@211 70
benoitrigolleau@211 71 #endif
benoitrigolleau@211 72