test_sdk/gui/gtl_gui_scr_quick_widget.h

44 lines
1.1 KiB
C
Raw Permalink Normal View History

#ifndef SCR_QUICK_WIDGET_H
#define SCR_QUICK_WIDGET_H
#include <QQuickWidget>
#include <QFrame>
#include "script/gtl_scr_engine.h"
#include "gui_global.h"
namespace gtl
{
namespace gui
{
class GTL_GUI_EXPORT scr_quick_widget : public QFrame
{
Q_OBJECT
public:
scr_quick_widget(gtl::scr::engine* engine, QWidget *parent = nullptr);
void run(std::vector<gtl::analog_data*>::iterator begin_ad, std::vector<gtl::analog_data*>::iterator end_ad, QString qml_script);
void run(QString qml_script);
protected:
gtl::scr::engine* _engine;
private:
QQuickWidget* _widget;
QString _string_url;
private:
QUrl get_import_url(QString file_name);
QString imports_to_url(QString &script, QString file_name);
void clear_qml_modules();
void copy_qml_modules();
private slots:
void qml_warnings(const QList<QQmlError> &warnings);
};
}
}
#endif // SCR_QUICK_WIDGET_H