27 QmlSource(
const QString& execution,
const QString& ui)
28 : execution{execution}
33 QmlSource(
const std::vector<QString>& vec)
35 SCORE_ASSERT(vec.size() == 2);
50 const std::string_view language{};
53 static const inline std::array<MemberSpec, 2> specification{
54 MemberSpec{QObject::tr(
"Execution"), &QmlSource::execution,
"QML"},
55 MemberSpec{QObject::tr(
"GUI"), &QmlSource::ui,
"QML"},
58 friend bool operator!=(
const QmlSource& lhs,
const std::vector<QString>& rhs) {
59 return rhs.size() != 2 || lhs.execution != rhs[0]|| lhs.ui != rhs[1];
61 friend bool operator!=(
const std::vector<QString>& rhs,
const QmlSource& lhs) {
62 return rhs.size() != 2 || lhs.execution != rhs[0]|| lhs.ui != rhs[1];
92 SCORE_SERIALIZE_FRIENDS
96 bool hasExternalUI()
const noexcept {
return bool(m_ui_component); }
102 template <
typename Impl>
109 void setExecutionScript(
const QString& script);
110 const QString& executionScript()
const noexcept {
return m_program.execution; }
111 void executionScriptOk() W_SIGNAL(executionScriptOk);
112 void executionScriptChanged(
const QString& arg_1) W_SIGNAL(executionScriptChanged, arg_1);
113 const QByteArray& qmlData()
const noexcept {
return m_qmlData; }
115 void setUiScript(
const QString& script);
116 const QString& uiScript()
const noexcept {
return m_program.ui; }
117 void uiScriptOk() W_SIGNAL(uiScriptOk);
118 void uiScriptChanged(
const QString& arg_1) W_SIGNAL(uiScriptChanged, arg_1);
120 void setState(
const JS::JSState& s);
121 void updateState(
const QString& k,
const ossia::value& v);
122 const JS::JSState& state()
const noexcept {
return m_state; }
123 void stateChanged() W_SIGNAL(stateChanged);
124 void stateElementChanged(
const QString& k,
const ossia::value& v) W_SIGNAL(stateElementChanged, k, v);
126 JS::Script* currentExecutionObject()
const noexcept;
127 QQuickItem* currentUI()
const noexcept;
128 bool isGpu()
const noexcept;
129 bool hasUi()
const noexcept;
131 QWidget* parent)
const noexcept;
136 bool validate(
const std::vector<QString>& str)
const noexcept;
137 void errorMessage(
const QString& arg_2)
const
138 W_SIGNAL(errorMessage, arg_2);
140 const QmlSource& program()
const noexcept {
return m_program; }
142 void programChanged() W_SIGNAL(programChanged);
145 void uiToExecution(
const QVariant& v) W_SIGNAL(uiToExecution, v);
146 void executionToUi(
const QVariant& v) W_SIGNAL(executionToUi, v);
148 PROPERTY(QString, executionScript READ executionScript WRITE setExecutionScript NOTIFY executionScriptChanged)
149 PROPERTY(QString, uiScript READ uiScript WRITE setUiScript NOTIFY uiScriptChanged)
150 PROPERTY(
JS::QmlSource, program READ program WRITE setProgram NOTIFY programChanged)
151 PROPERTY(JS::JSState, state READ state WRITE setState NOTIFY stateChanged)
153 QString effect()
const noexcept override;
159 QByteArray m_qmlData;
161 QQmlComponent* m_ui_component{};
162 mutable QPointer<QQuickItem> m_ui_object{};
Definition DocumentContext.hpp:18