public async override Task Undo(Action <UndoObject> cb) { if (graph != null) { graph.TryAndLoadGraphStack(stack); await Task.Delay(25); App.Current.Dispatcher.Invoke(() => { Tuple <string, Point, List <NodeConnection> > result = graph.RemoveNode(id); if (result != null) { if (cb != null) { cb.Invoke(new DeleteNode(StackId, result.Item1, id, result.Item2, result.Item3, graph, stack)); } return; } if (cb != null) { cb.Invoke(null); } }); return; } if (cb != null) { cb.Invoke(null); } }
public void RemoveUIGraphNode(UIGraphNode node) { Graph.RemoveNode(node); DrawGraph(true); }
public override UndoObject Redo() { if (graph != null) { Tuple <string, Point, List <Tuple <string, List <Nodes.NodeOutputConnection> > > > result = graph.RemoveNode(id); if (result != null) { return(new UndoDeleteNode(StackId, result.Item1, result.Item2, result.Item3, graph)); } } return(null); }