OSSIA
Open Scenario System for Interactive Application
Loading...
Searching...
No Matches
qml_scenario.hpp
1#pragma once
2#include <ossia/editor/scenario/scenario.hpp>
3
4#include <ossia-qt/score/qml_autom.hpp>
5#include <ossia-qt/score/qml_sync.hpp>
6
7#include <ossia/detail/hash_map.hpp>
8
9#include <verdigris>
10
11namespace ossia
12{
13namespace qt
14{
15class qml_interval;
16class qml_sync;
17class qml_scenario : public qml_process
18{
19 W_OBJECT(qml_scenario)
20
21public:
22 qml_scenario(QQuickItem* parent = nullptr);
23 ~qml_scenario() override;
24
25 void registerInterval(qml_interval*);
26 void unregisterInterval(qml_interval*);
27
28 void registerSync(qml_sync*);
29 void unregisterSync(qml_sync*);
30
31 void setup() override;
32 std::shared_ptr<ossia::time_process> process() const override;
33
34 qml_sync* startSync() const;
35
36public:
37 void setStartSync(qml_sync* s);
38 W_SLOT(setStartSync);
39
40public:
41 void startSyncChanged(qml_sync* arg_1) E_SIGNAL(OSSIA_EXPORT, startSyncChanged, arg_1);
42
43private:
44 void reset_impl() override;
45
46 qml_sync* m_startSync{};
47 std::shared_ptr<ossia::scenario> m_impl;
48
49 ossia::hash_set<qml_sync*> m_syncs;
50 ossia::hash_set<qml_interval*> m_intervals;
51
52 W_PROPERTY(
53 qml_sync*, startSync READ startSync WRITE setStartSync NOTIFY startSyncChanged)
54};
55}
56}
Definition git_info.h:7