#ifndef GTL_GUI_OSC_CHART_H #define GTL_GUI_OSC_CHART_H #include "gui/gtl_gui_chart.h" #include "gui/osc/gtl_gui_osc_meas_model.h" #include "gui/gui_global.h" namespace gtl { namespace gui { namespace osc { class GTL_GUI_EXPORT chart : public gtl::gui::chart { Q_OBJECT public: chart(QWidget* parent = NULL); qreal time() const; bool is_triggering() const; qreal triggering_threshold() const; bool triggering_is_front() const; qreal triggering_prehistory() const; int triggering_channel() const; virtual void save(QDomElement& root_element); virtual void load(const QDomElement& root_element); private: qreal _time; bool _is_triggering; qreal _triggering_threshold; bool _triggering_is_front; qreal _triggering_prehistory; int _triggering_channel; meas_model* _meas_model; int _meas_cnt; protected: virtual chart_series* create_series(gtl::analog_data* ai); signals: void time_changed(qreal); void triggering_changed(bool); void triggering_channel_changed(int); void triggering_threshold_changed(qreal); void triggering_prehistory_changed(qreal); void triggering_is_front_changed(bool); void acq_completed(); public slots: void set_time(qreal time); void set_triggering(bool value); void set_triggering_threshold(qreal value); void set_triggering_is_front(bool value); void set_triggering_prehistory(qreal value); void set_triggering_channel(int value); void set_measures(meas_model* m); void handle_measures(OscMeasParamsListPtr meas); private slots: virtual void device_recieved_data(); }; } } } #endif // GTL_GUI_OSC_CHART_H