#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