Loading...
Searching...
No Matches
PortSource.hpp
1#pragma once
2#include <QPointer>
3#include <QQmlProperty>
4#include <QQmlPropertyValueSource>
5
6#include <verdigris>
7
8namespace Process
9{
10class ControlInlet;
11class ProcessModel;
12}
13
14namespace JS
15{
16
18 : public QObject
19 , public QQmlPropertyValueSource
20{
21 W_OBJECT(PortSource)
22 W_INTERFACE(QQmlPropertyValueSource)
23 QML_ELEMENT
24
25public:
26 explicit PortSource(QObject* parent = nullptr);
28
29 void setTarget(const QQmlProperty& prop) override;
30 void on_newUIValue();
31 W_SLOT(on_newUIValue);
32
33 INLINE_PROPERTY_CREF(QString, process, = "", process, setProcess, processChanged)
34 INLINE_PROPERTY_CREF(QVariant, port, = "", port, setPort, portChanged)
35
36private:
37 Process::ProcessModel* processInstance() const noexcept;
38 void rebuild();
39 QQmlProperty m_targetProperty;
40 QPointer<Process::ControlInlet> m_inlet{};
41 bool m_writingValue{};
42};
43
44}
The Process class.
Definition score-lib-process/Process/Process.hpp:61
Base classes and tools to implement processes and layers.
Definition JSONVisitor.hpp:1115
Definition PortSource.hpp:20