58 lines
1.5 KiB
C
58 lines
1.5 KiB
C
|
#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
|