test_sdk/gui/gtl_gui_cross_spec_chart.h

74 lines
2.3 KiB
C
Raw Normal View History

#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<QString> *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<QString> _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