test_sdk/gui/gtl_gui_spec_series.h

59 lines
1.6 KiB
C++

#ifndef SPEC_SERIES_H
#define SPEC_SERIES_H
#include "spgr/gtl_gui_spgr_widget.h"
#include "math/gtl_math_spec.h"
#include "gtl_gui_chart_series.h"
#include "gtl_gui_spec_meas_model.h"
namespace gtl
{
namespace gui
{
class spec_series : public gtl::gui::chart_series
{
Q_OBJECT
public:
spec_series(bool is_updating, gtl::math::spec::types type, gtl::analog_data* ai, ::chart::axis_horz* axis_x, ::chart::axis_vert* axis_y);
~spec_series();
qreal frequency() const;
qreal resolution() const;
int window() const;
int lines() const;
int average() const;
qreal overlap() const;
int unit() const;
void set_frequency(qreal value);
void set_resolution(qreal value);
void set_window(int value);
void set_lines(int value);
void set_average(int value);
void set_overlap(qreal value);
void set_unit(int value);
void set_measures(spec_meas_model *model);
gtl::gui::spgr::widget* create_spgr(QWidget *parent);
gtl::gui::spgr::widget* spgr();
void set_type(gtl::math::spec::types type);
protected:
gtl::math::spec* _spec;
gtl::gui::spgr::widget* _spgr = nullptr;
SpecMeasParamsListPtr _measures = nullptr;
void measure();
public slots:
void update();
signals:
void initialized();
void measures_changed(SpecMeasParamsListPtr meas);
};
}
}
#endif // SPEC_SERIES_H