#ifndef GTL_GUI_RECORDER_WIDGET_H #define GTL_GUI_RECORDER_WIDGET_H #include #include #include #include "core/gtl_data_model.h" #include "core/gtl_selection_data_model.h" #include "hw/gtl_hw_recorder.h" #include "gui/gtl_gui_record_chart.h" #include "gui_global.h" namespace Ui { class recorder_widget; } namespace gtl { namespace gui { class GTL_GUI_EXPORT recorder_widget : public QWidget { Q_OBJECT public: explicit recorder_widget(gtl::data_model* model, QWidget *parent = nullptr); ~recorder_widget(); virtual void save(QDomElement& root_element); virtual void load(const QDomElement& root_element); private: Ui::recorder_widget *ui; gtl::selection_data_model* _selection_data_model; gtl::hw::recorder* _recorder; QLabel *_time_label; gtl::gui::record_chart *_chart; private slots: void set_dir(); void write(bool); void recording_finished(); void recording_progress(qreal); }; } } #endif // GTL_GUI_RECORDER_WIDGET_H