OSSIA
Open Scenario System for Interactive Application
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
qt_object_node.hpp
1#pragma once
2#include <ossia/network/base/protocol.hpp>
3#include <ossia/network/generic/generic_device.hpp>
4#include <ossia/network/generic/generic_node.hpp>
5#include <ossia/network/generic/generic_parameter.hpp>
6
7#include <ossia-qt/js_utilities.hpp>
8
9#include <QMetaObject>
10#include <QMetaProperty>
11#include <QObject>
12#include <QtQml/QQmlProperty>
13
14#include <verdigris>
15
16namespace ossia
17{
18namespace qt
19{
20
21class OSSIA_EXPORT qt_object_node final
22 : public QObject
23 , public ossia::net::generic_node_base
24
25{
26 W_OBJECT(qt_object_node)
27public:
28 qt_object_node(QObject& obj, ossia::net::device_base& device);
29 qt_object_node(QObject& obj, ossia::net::device_base& device, node_base& aParent);
30
31 ossia::net::parameter_base* get_parameter() const final override;
32 ossia::net::parameter_base* create_parameter(ossia::val_type type) final override;
33 bool remove_parameter() final override;
34
35 QObject& object() const { return mObject; }
36
37private:
38 void init(QObject&);
39 void childEvent(QChildEvent* event) override;
40
41 std::unique_ptr<node_base> make_child(const std::string& name) final override;
42 void removing_child(node_base&) final override;
43
44 std::unique_ptr<ossia::net::parameter_base> mAddress;
45 QObject& mObject;
46};
47}
48}
Root of a device tree.
Definition ossia/network/base/device.hpp:58
The parameter_base class.
Definition ossia/network/base/parameter.hpp:48
Definition git_info.h:7