Example #1
0
        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);
        }
Example #2
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;
        }