diff --git a/src/data_plot.h b/src/data_plot.h new file mode 100644 --- /dev/null +++ b/src/data_plot.h @@ -0,0 +1,86 @@ +/* + * + * $Id$ + * + * This file is part of the Virtual Leaf. + * + * The Virtual Leaf is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * The Virtual Leaf is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with the Virtual Leaf. If not, see . + * + * Copyright 2010 Roeland Merks. + * + */ + +#ifndef _DATA_PLOT_H_ +#define _DATA_PLOT_H_ + +#include +#include +#include +#include +#include +#include +#include "curvecolors.h" + +const int PLOT_SIZE = 1000; + +class DataPlot : public QwtPlot +{ + Q_OBJECT + +public: + DataPlot(QWidget *parent, const QString title, const QStringList curvenames); + virtual ~DataPlot(void); +public slots: + // void setTimerInterval(double interval); + void AddValue(double t, double *x); + +private: + void alignScales(); + + double *d_t; + double **d_x; + + int d_interval; // timer in ms + int d_timerId; + + QwtPlotCurve *curves; + int data_pos; + int ncurves; + + CurveColors curvecolors; + + protected: + // to write contents of DataPlot to a file + QFile *datfile; + QTextStream datstream; + +}; + +class PlotDialog : public QDialog { + +Q_OBJECT + public: + PlotDialog(QWidget *parent, const QString title, const QStringList curvenames); + ~PlotDialog(void); + public slots: + // void setTimerInterval(double interval); + void AddValue(double t, double *x) { + //std::cerr << "AddValue receives: " << t << ", " << y << ", " << z << std::endl; + plot->AddValue(t,x); + } + private: + DataPlot *plot; +}; + +#endif