source: flair-src/trunk/tools/FlairGCS/src/DataPlot2D.h@ 474

Last change on this file since 474 was 444, checked in by Sanahuja Guillaume, 3 years ago

update buffering (gcs part)
seems to work!

File size: 1.5 KB
Line 
1// %flair:license{
2// This file is part of the Flair framework distributed under the
3// CECILL-C License, Version 1.0.
4// %flair:license}
5#ifndef DATAPLOT2D_H_INCLUDED
6#define DATAPLOT2D_H_INCLUDED
7
8#include "DataRemote.h"
9#include <stdint.h>
10#include <QPen>
11
12class Layout;
13class QwtPlot;
14class QwtPlotCurve;
15class QwtPlotItem;
16class QMouseEvent;
17
18class DataPlot2D : public DataRemote {
19 Q_OBJECT
20
21public:
22 DataPlot2D(Layout *parent, int row, int col, QString plot_name,
23 QString x_name, QString y_name, float xmin, float xmax, float ymin,
24 float ymax, bool enabled, uint16_t period, uint16_t nb_buffering=1);
25 ~DataPlot2D();
26 void addCurve(QPen pen, QString legend, QString type);
27
28protected:
29 void mousePressEvent(QMouseEvent *event);
30
31private:
32 QwtPlot *plot;
33 void XmlEvent(QDomElement *dom);
34 void alignScales(void);
35 void plot_data(double data_x, double data_y, int index);
36 float xmin_orig, xmax_orig, ymin_orig, ymax_orig;
37
38 QList<QwtPlotCurve *> *datas;
39 QList<QString> *datas_type;
40 QList<bool> datas_first_update;
41 QList<double *> d_x;
42 QList<double *> d_y;
43 double view_size; // en s
44
45 bool eventFilter(QObject *, QEvent *);
46 void setYAxisScale(float ymin, float ymax);
47 void setXAxisScale(float xmin, float xmax);
48 void BufEvent(char **buf, int *buf_size, uint16_t period,uint16_t nb_buffering,bool big_endian);
49 void showCurve(QwtPlotItem *item, bool on);
50
51private slots:
52 void legendChecked(const QVariant &itemInfo, bool on);
53};
54
55#endif // DATAPLOT2D_H_INCLUDED
Note: See TracBrowser for help on using the repository browser.