-
Notifications
You must be signed in to change notification settings - Fork 27
Expand file tree
/
Copy pathSimpleOrderedLayoutWithSubgraph.cs
More file actions
33 lines (32 loc) · 1018 Bytes
/
SimpleOrderedLayoutWithSubgraph.cs
File metadata and controls
33 lines (32 loc) · 1018 Bytes
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
using AvaloniaGraphControl;
namespace AvaloniaGraphControlSample
{
class SimpleOrderedLayoutWithSubgraph : NamedGraph
{
public SimpleOrderedLayoutWithSubgraph() : base("Simple Graph (ordered layout with subgraph)")
{
var a = new StandardItem("A");
var b = new CompositeItem("B");
var b1 = new StandardItem("B1");
var b2 = new StandardItem("B2");
var b3 = new StandardItem("B3");
var b4 = new StandardItem("B4");
var c = new StandardItem("C");
var d = new StandardItem("D");
Edges.Add(new Edge(a, b));
Edges.Add(new Edge(a, c));
Edges.Add(new Edge(b, d));
Edges.Add(new Edge(c, d));
Edges.Add(new Edge(b1, b2));
Edges.Add(new Edge(b1, b3));
Edges.Add(new Edge(b2, b4));
Edges.Add(new Edge(b3, b4));
Parent[b1] = b;
Parent[b2] = b;
Parent[b3] = b;
Parent[b4] = b;
static string Name(dynamic o) => o.Name;
VerticalOrder = (n1, n2) => Name(n1).CompareTo(Name(n2));
}
}
}