public override void Execute(ICommandToken commandToken) { var token = commandToken as MoveNodeCommandToken; // TODO Test if the connection already exists mApp.SetGraph(mApp.Graph.ReplaceNode(token.Node, token.Node.Move(token.NewPosition))); }
public override void Execute(ICommandToken commandToken) { var token = commandToken as AddConnectionCommandToken; // TODO Test if the connection already exists mApp.SetGraph(mApp.Graph.AddConnection(token.Connection)); }
public override void Execute(ICommandToken commandToken) { var token = commandToken as AddNodeCommandToken; // TODO Test if the connection already exists var pos = mApp.Graph.Nodes.Count == 0 ? new Point2(0, 0) : mApp.Graph.Nodes.Last().Position + new Point2(200, 0); var inputs = ImmutableArray <NodeInput> .Empty; var outputs = ImmutableArray <NodeOutput> .Empty; var type = ComponentFinder.FindByName(token.Type); foreach (var attr in ComponentFinder.GetInputAttributes(type)) { inputs = inputs.Add(new NodeInput(attr.Name, null)); } foreach (var attr in ComponentFinder.GetOutputAttributes(type)) { outputs = outputs.Add(new NodeOutput(attr.Name, false)); } var node = new Node(FindUniqueName(mApp.Graph, token.Type), token.Type, pos, inputs, outputs); mApp.SetGraph(mApp.Graph.AddNode(node)); }
public override void Execute(ICommandToken commandToken) { var token = commandToken as ToggleNodeOutputIsStreamCommandToken; // TODO Test if the connection already exists var newNodeOutput = new NodeOutput(token.NodeOutput.Name, !token.NodeOutput.IsStream); mApp.SetGraph(mApp.Graph.ReplaceNode(token.Node, token.Node.ReplaceOutput(token.NodeOutput, newNodeOutput))); }
public override void Execute(ICommandToken commandToken) { var token = commandToken as EditNodeInputInitialDataToken; // TODO Test if the connection already exists var newNodeInput = new NodeInput(token.NodeInput.Name, token.NewInitialData); mApp.SetGraph(mApp.Graph.ReplaceNode(token.Node, token.Node.ReplaceInput(token.NodeInput, newNodeInput))); }
public override void Execute(ICommandToken commandToken) { var token = commandToken as RemoveNodeCommandToken; mApp.SetGraph(mApp.Graph.RemoveNode(token.Node)); }
public override void Execute(ICommandToken commandToken) { var token = commandToken as RemoveConnectionCommandToken; mApp.SetGraph(mApp.Graph.RemoveConnection(token.Connection)); }