Repository navigation
Expand file tree
/
Copy pathCodeNodeGroupIOBinding.cs
More file actions
58 lines (53 loc) · 2.13 KB
/
Copy pathCodeNodeGroupIOBinding.cs
File metadata and controls
58 lines (53 loc) · 2.13 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
using System.Collections.Generic;
using System.Linq;
using System.Reactive.Linq;
using DynamicData;
using ExampleCodeGenApp.ViewModels.Nodes;
using NodeNetwork.Toolkit.Group;
using NodeNetwork.Toolkit.ValueNode;
using NodeNetwork.ViewModels;
using ReactiveUI;
namespace ExampleCodeGenApp.ViewModels
{
public class CodeNodeGroupIOBinding : ValueNodeGroupIOBinding
{
public CodeNodeGroupIOBinding(NodeViewModel groupNode, NodeViewModel entranceNode, NodeViewModel exitNode) : base(groupNode, entranceNode, exitNode)
{
}
#region Endpoint Create
public override ValueNodeOutputViewModel<T> CreateCompatibleOutput<T>(ValueNodeInputViewModel<T> input)
{
return new CodeGenOutputViewModel<T>(((CodeGenPortViewModel)input.Port).PortType)
{
Name = input.Name,
Editor = new GroupEndpointEditorViewModel<T>(this)
};
}
public override ValueNodeOutputViewModel<IObservableList<T>> CreateCompatibleOutput<T>(ValueListNodeInputViewModel<T> input)
{
return new CodeGenOutputViewModel<IObservableList<T>>(((CodeGenPortViewModel)input.Port).PortType)
{
Editor = new GroupEndpointEditorViewModel<IObservableList<T>>(this)
};
}
public override ValueNodeInputViewModel<T> CreateCompatibleInput<T>(ValueNodeOutputViewModel<T> output)
{
return new CodeGenInputViewModel<T>(((CodeGenPortViewModel)output.Port).PortType)
{
Name = output.Name,
Editor = new GroupEndpointEditorViewModel<T>(this),
HideEditorIfConnected = false
};
}
public override ValueListNodeInputViewModel<T> CreateCompatibleInput<T>(ValueNodeOutputViewModel<IObservableList<T>> output)
{
return new CodeGenListInputViewModel<T>(((CodeGenPortViewModel)output.Port).PortType)
{
Name = output.Name,
Editor = new GroupEndpointEditorViewModel<T>(this),
HideEditorIfConnected = false
};
}
#endregion
}
}