score
Home
Classes
Namespaces
Files
Loading...
Searching...
No Matches
plugins/score-lib-process/Process/DocumentPlugin.hpp
1
#pragma once
2
#include <Process/Dataflow/CableItem.hpp>
3
#include <Process/Dataflow/PortItem.hpp>
4
5
#include <score/plugins/documentdelegate/plugin/DocumentPlugin.hpp>
6
7
#include <ossia/detail/ptr_set.hpp>
8
9
#include <verdigris>
10
namespace
Process
11
{
12
class
SCORE_LIB_PROCESS_EXPORT
DataflowManager
final :
public
QObject
13
{
14
W_OBJECT(
DataflowManager
)
15
public
:
16
DataflowManager
();
17
~DataflowManager
();
18
19
using
cable_map = ossia::ptr_map<const Process::Cable*, Dataflow::CableItem*>;
20
using
port_map = ossia::ptr_map<const Process::Port*, Dataflow::PortItem*>;
21
22
Dataflow::CableItem
* createCable(
23
const
Process::Cable
& cable,
const
Process::Context
& context,
24
QGraphicsScene* scene);
25
26
cable_map& cables()
noexcept
{
return
m_cableMap; }
27
port_map& ports()
noexcept
{
return
m_portMap; }
28
29
void
cableItemCreated(
Dataflow::CableItem
* item)
30
E_SIGNAL(SCORE_LIB_PROCESS_EXPORT, cableItemCreated, item);
31
32
private
:
33
cable_map m_cableMap;
34
port_map m_portMap;
35
};
36
}
37
W_REGISTER_ARGTYPE(
Dataflow::CableItem
*)
Dataflow::CableItem
Definition
CableItem.hpp:37
Process::Cable
Definition
Cable.hpp:38
Process::DataflowManager
Definition
plugins/score-lib-process/Process/DocumentPlugin.hpp:13
Process
Base classes and tools to implement processes and layers.
Definition
JSONVisitor.hpp:1115
Process::Context
Definition
ProcessContext.hpp:12