static void TestSave() { var g = new Graph(); g.AddEdge("a", "b"); var gv = new GViewer(); gv.CalculateLayout(g); const string fileName = "c:\\tmp\\saved.msagl"; g.Write(fileName); g = Graph.Read(fileName); var f = new Form(); f.SuspendLayout(); f.Controls.Add(gv); gv.Dock = DockStyle.Fill; gv.NeedToCalculateLayout = false; gv.Graph = g; f.ResumeLayout(); f.ShowDialog(); Environment.Exit(0); }
void GiveGraphToControl(Graph gwgraph) { if (argsParser.OptionIsUsed(RoundedCornersOption)) foreach (var n in gwgraph.Nodes) { n.Attr.Shape = Shape.Box; n.Attr.XRadius = n.Attr.YRadius = 3; } SetLayoutSettings(gwgraph); if (argsParser.OptionIsUsed(RunRemoveOverlapsOption)) { var compGraph = gwgraph.GeometryGraph; switch (new MdsLayoutSettings().OverlapRemovalMethod) { case OverlapRemovalMethod.Prism: ProximityOverlapRemoval.RemoveOverlaps(compGraph, gwgraph.LayoutAlgorithmSettings.NodeSeparation); break; case OverlapRemovalMethod.MinimalSpanningTree: OverlapRemoval.RemoveOverlaps(compGraph.Nodes.ToArray(), gwgraph.LayoutAlgorithmSettings.NodeSeparation); break; default: throw new ArgumentOutOfRangeException(); } if (graphViewer.MsaglFileToSave != null) { gwgraph.Write(graphViewer.MsaglFileToSave); Console.WriteLine("saved into {0}", graphViewer.MsaglFileToSave); Environment.Exit(0); } } graphViewer.Graph = gwgraph; }