Loading...
Searching...
No Matches
PortSink.hpp
1#pragma once
2#include <QPointer>
3#include <QQmlProperty>
4#include <QQmlPropertyValueSource>
5
6#include <verdigris>
7
8namespace Process
9{
10class Outlet;
11class ProcessModel;
12}
13
14namespace JS
15{
16
18 : public QObject
19 , public QQmlPropertyValueSource
20{
21 W_OBJECT(PortSink)
22 W_INTERFACE(QQmlPropertyValueSource)
23 QML_ELEMENT
24
25public:
26 explicit PortSink(QObject* parent = nullptr);
27 ~PortSink();
28
29 void setTarget(const QQmlProperty& prop) override;
30
31 INLINE_PROPERTY_CREF(QString, process, = "", process, setProcess, processChanged)
32 INLINE_PROPERTY_CREF(QVariant, port, = "", port, setPort, portChanged)
33
34private:
35 Process::ProcessModel* processInstance() const noexcept;
36 void rebuild();
37 QQmlProperty m_targetProperty;
38 QPointer<Process::Outlet> m_outlet{};
39};
40
41}
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 PortSink.hpp:20