#ifndef GTL_GUI_SCR_WIDGET_H #define GTL_GUI_SCR_WIDGET_H #include #include #include "gui_global.h" #include "core/gtl_data_model.h" #include "core/gtl_selection_data_model.h" #include "gui/gtl_gui_scr_editor.h" #include "gui/config/gtl_gui_config_widget_player_files.h" #include "gui/gtl_gui_record_chart.h" #include "script/gtl_scr_engine.h" namespace Ui { class scr_widget; } namespace gtl { namespace gui { class GTL_GUI_EXPORT scr_widget : public QWidget { Q_OBJECT public: explicit scr_widget(gtl::scr::engine* engine, gtl::data_model* model, QWidget *parent = nullptr); ~scr_widget(); virtual void save(QDomElement& root_element); virtual void load(const QDomElement& root_element); private: Ui::scr_widget *ui; gtl::selection_data_model* _selection_data_model; scr_editor* _editor; gtl::scr::engine* _engine; record_chart *_chart; config::widget_player_files _files; QItemSelectionModel _selection; public slots: void evaluate(); private slots: void selection_changed(const QModelIndex ¤t, const QModelIndex &previous); void mode_changed(int value); signals: void init_editor_menu(QMenu* menu); }; } } #endif // GTL_GUI_SCR_WIDGET_H