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;
11}
12
13namespace JS
14{
15
17 : public QObject
18 , public QQmlPropertyValueSource
19{
20 W_OBJECT(PortSink)
21 W_INTERFACE(QQmlPropertyValueSource)
22 QML_ELEMENT
23
24public:
25 explicit PortSink(QObject* parent = nullptr);
26 ~PortSink();
27
28 void setTarget(const QQmlProperty& prop) override;
29
30 INLINE_PROPERTY_CREF(QString, process, = "", process, setProcess, processChanged)
31 INLINE_PROPERTY_CREF(QVariant, port, = "", port, setPort, portChanged)
32
33private:
34 void rebuild();
35 QQmlProperty m_targetProperty;
36 QPointer<Process::Outlet> m_outlet{};
37};
38
39}
Base classes and tools to implement processes and layers.
Definition JSONVisitor.hpp:1116
Definition PortSink.hpp:19