private void Viewer_GraphLoadingEnded(object sender, EventArgs e) { ArrowStyle loadedGraphDirection = (sender as GViewer).Graph.Edges.Last().Attr.ArrowheadAtTarget; this.graph = new Frame.Models.DGraph(this.graph.EdgeArrowStyle); /*if (this.graph.EdgeArrowStyle != loadedGraphDirection) * this.graph.EdgeArrowStyle = loadedGraphDirection;*/ if (loadedGraphDirection == ArrowStyle.None) { this.undirectedGraphRadiobutton.Checked = true; } else { this.directedGraphRadioButton.Checked = true; } foreach (Node node in (sender as GViewer).Graph.Nodes) { this.graph.AddVertice(node.Id); } foreach (Edge edge in (sender as GViewer).Graph.Edges) { this.graph.AddEdge(edge.Source, edge.Target, edge.LabelText); } this.viewer.Graph = null; this.viewer.NeedToCalculateLayout = true; this.viewer.Graph = this.graph; this.viewer.NeedToCalculateLayout = false; this.ResetZoom(); }
public void InitializeForm() { this.algorithms = new List <Action>(); this.nodePickingCancellationTokenSource = new CancellationTokenSource(); this.nodePickingCancellationToken = this.nodePickingCancellationTokenSource.Token; graph = new Frame.Models.DGraph(ArrowStyle.None); viewer = new Microsoft.Msagl.GraphViewerGdi.GViewer(); viewer.EdgeInsertButtonVisible = viewer.UndoRedoButtonsVisible = viewer.windowZoomButton.Visible = viewer.NavigationVisible = false; viewer.LayoutAlgorithmSettingsButtonVisible = true; graph.AddVertice("A"); graph.AddVertice("B"); graph.AddVertice("C"); graph.AddVertice("D"); //AddNodesLocations(); graph.AddEdge("C", "B", 234); graph.AddEdge("A", "C", 53); graph.AddEdge("A", "C", 43); viewer.CenterToPoint(new Microsoft.Msagl.Core.Geometry.Point(viewer.Width / 2, viewer.Height / 2)); viewer.Graph = graph; viewer.MouseDown += Viewer_MouseDown; viewer.MouseUp += Viewer_MouseUp; viewer.MouseMove += Viewer_MouseMove; viewer.MouseClick += Viewer_MouseClick; viewer.GraphLoadingEnded += Viewer_GraphLoadingEnded; viewer.GraphChanged += Viewer_GraphChanged; viewer.CustomOpenButtonPressed += Viewer_CustomOpenButtonPressed; viewer.KeyDown += Viewer_KeyDown; //viewer.ObjectUnderMouseCursorChanged += Viewer_ObjectUnderMouseCursorChanged; /*viewer.LayoutEditor.RemoveEdgeDraggingDecorations = null; * viewer.LayoutEditor.RemoveObjDraggingDecorations = null;*/ //viewer.AsyncLayout = true; this.SuspendLayout(); viewer.Dock = System.Windows.Forms.DockStyle.Fill; this.graphPanel.Controls.Add(viewer); this.ResumeLayout(); }