public async Task GoDeleteActiveEdges() { await DeleteActive.InvokeAsync("edge"); }
public async Task OnKeyUp(KeyboardEventArgs e) { string value = e.Key.ToLower(); if (value == "delete" || value == "backspace") { await DeleteActive.InvokeAsync("all"); } if (e.CtrlKey) { if (e.ShiftKey) { if (value == "i") { await Activate("nodes"); } else if (value == "e") { await Activate("edges"); } else if (value == "s") { await SaveAsSVG(); } } else { if (value == "c") { Copy(); } else if (value == "a") { await Activate("all"); } } } else { if (value == "f") { await ChangeMenu.InvokeAsync(NavChoice.File); } else if (value == "h") { await ChangeMenu.InvokeAsync(NavChoice.Home); } else if (value == "i") { await ChangeMenu.InvokeAsync(NavChoice.Insert); } else if (value == "v") { await ChangeMenu.InvokeAsync(NavChoice.View); } else if (value == "d") { await ChangeMenu.InvokeAsync(NavChoice.Design); } else if (value == "?") { await ChangeMenu.InvokeAsync(NavChoice.About); } else if (value == "x") { await ChangeMenu.InvokeAsync(null); } else if (ActiveGraph.Nodes.Count == 2 && !ActiveGraph.Edges.Any() && value == "c") { NewEdge.Tail = ActiveGraph.Nodes[0]; NewEdge.Head = ActiveGraph.Nodes[1]; NewEdge.MultiEdges = EdgeService.MultiGraphEdges(Graph.Edges, NewEdge.Head, NewEdge.Tail, Graph.Directed); if (Graph.Weighted) { NewEdge.GetEdgeWeight = true; } else if (!NewEdge.MultiEdges.Any()) { await AddNewEdge(true); } } } }
public async Task GoDeleteActiveNodes() { await DeleteActive.InvokeAsync("node"); }
public async Task Select(MenuEventArgs <MenuItem> e) { switch (e.Item.Text) { case "Copy": Copy(); break; case "Paste": await Paste(); break; case "Left": case "Center": case "Right": case "Top": case "Middle": case "Bottom": NodeService.Align(ActiveGraph.Nodes, e.Item.Text); break; case "Delete": await DeleteActive.InvokeAsync("all"); break; case "Edit": case "Nodes": case "Edges": await ChangeMenu.InvokeAsync(NavChoice.Design); break; case "All Nodes": await Activate("nodes"); break; case "All Edges": await Activate("edges"); break; case "Everything": await Activate("all"); break; case "Insert Edge": await InsertEdge(); break; case "Insert Node": NodeService.AddNode(Graph.Nodes, Options.Default, origin[0] * SVGControl.Scale + SVGControl.Xaxis, origin[1] * SVGControl.Scale + SVGControl.Yaxis); await GraphChanged.InvokeAsync(Graph); break; case "Stop Algorithm": if (StartAlgorithm.Done) { StartAlgorithm.Clear = true; } else { await Reset(); } break; case "Zoom In": if (ZoomService.ZoomIn(SVGControl)) { await SVGControlChanged.InvokeAsync(SVGControl); } break; case "Zoom Out": if (ZoomService.ZoomOut(SVGControl)) { await SVGControlChanged.InvokeAsync(SVGControl); } break; } }