test_sdk/gui/osc/gtl_gui_osc_series.h

58 lines
1.5 KiB
C
Raw Normal View History

#ifndef GTL_GUI_OSC_SERIES_H
#define GTL_GUI_OSC_SERIES_H
#include "gui/gtl_gui_chart_series.h"
#include "gtl_gui_osc_meas_model.h"
#include "gui/gui_global.h"
namespace gtl
{
namespace gui
{
namespace osc
{
class GTL_GUI_EXPORT series : public chart_series
{
Q_OBJECT
public:
series(qreal time, bool is_updating, gtl::analog_data* ai, ::chart::axis_horz* axis_x, ::chart::axis_vert* axis_y);
~series();
void set_time(qreal time);
bool update(qreal threshold, bool is_front, qreal prehistory, int& analog_data_idx);
void update(int ad_idx, qreal prehistory);
bool update_();
void set_measures(meas_model* model);
private:
std::vector<qreal> _buffer;
int _ptr;
int _begin_ptr;
qreal _time;
OscMeasParamsListPtr _measures = nullptr;
void measure(std::vector<qreal> &data);
void measure();
protected:
qreal _prehistory;
qreal _scale;
private:
void init();
private slots:
void data_recieved();
void rate_changed();
void handle_measure();
signals:
void measures_changed(OscMeasParamsListPtr meas);
};
}
}
}
#endif // GTL_GUI_OSC_SERIES_H