#ifndef GTL_GUI_CROSS_SPEC_CHART_H #define GTL_GUI_CROSS_SPEC_CHART_H #include "gtl_gui_chart.h" #include "gui/gtl_gui_cross_spec_series.h" #include "gui_global.h" namespace gtl { namespace gui { class GTL_GUI_EXPORT cross_spec_chart : public gtl::gui::chart { Q_OBJECT public: cross_spec_chart(QWidget* parent = NULL); ~cross_spec_chart(); qreal frequency() const; void set_frequency(qreal newFrequency); qreal resolution() const; void set_resolution(qreal newResolution); int window() const; void set_window(int newWindow); int lines() const; void set_lines(int newLines); int average() const; void set_average(int newAverage); qreal overlap() const; void set_overlap(qreal newOverlap); public slots: void set_x_log(bool value); signals: void frequency_changed(); void resolution_changed(); void window_changed(); void lines_changed(); void average_changed(); void overlap_changed(); void signals_changed(QList *sigs); protected: virtual chart_series* create_series(gtl::analog_data* ai); private: gtl::math::cross_spec *_cross_spec = nullptr; analog_data *_ref = nullptr; analog_data *_data = nullptr; qreal _frequency; qreal _resolution; int _window; int _lines; int _average; qreal _overlap; QList _signals; Q_PROPERTY(qreal frequency READ frequency WRITE set_frequency NOTIFY frequency_changed) Q_PROPERTY(qreal resolution READ resolution WRITE set_resolution NOTIFY resolution_changed) Q_PROPERTY(int window READ window WRITE set_window NOTIFY window_changed) Q_PROPERTY(int lines READ lines WRITE set_lines NOTIFY lines_changed) Q_PROPERTY(int average READ average WRITE set_average NOTIFY average_changed) Q_PROPERTY(qreal overlap READ overlap WRITE set_overlap NOTIFY overlap_changed) }; } // namespace gui } // namespace gtl #endif // GTL_GUI_CROSS_SPEC_CHART_H