//Create a bar graph, add it to a parent form, fill in data public static Graph Create_Bar_Graph(Rectangle location, string[][] data) { //First, create the control graph will be in GraphControl gc = new GraphControl(); List<List<double>> newData = new List<List<double>>(); //parse the 2d string array for( int i = 0; i < data.Length; i++ ) { newData.Add(new List<double>()); for( int j = 0; j < data[i].Length; j++ ) { double parsedDouble; if (!Double.TryParse(data[i][j], out parsedDouble)) throw new ArgumentException("Invalid data in Cells"); newData[i].Add(parsedDouble); } } // now create graph with data Graph gr = new bar_graph(newData); // location, size of graph in preview tab gc.Location = new Point(0, 0); gc.Size = new Size(450,400); gc.SetGraph(gr); // open up a graph configuration window graphConfig gConf = new graphConfig(gr,gc); gConf.ShowDialog(); // if press ok then put graph control in main form if (gConf.DialogResult == DialogResult.OK) { // put in the graph with the changes gr = gConf.gr; // create new control to reset any parameters gc = new GraphControl(); // location and size of control inside main form gc.Location = new Point(location.X, location.Y); gc.Size = location.Size; gc.SetGraph(gr); gr.InitFonts(); gr.InitLabels(); //add to main form Controller.Instance.MainForm.WorksheetsTabControl.SelectedTab.Controls.Add(gc); gc.BringToFront(); return gr; } return null; }
//Create a bar graph, add it to a parent form, fill in data public static Graph Create_Bar_Graph(Form parent, Rectangle location, string[][] data) { //First, make a bar graph and add the data GraphControl gc = new GraphControl(); List<List<double>> newData = new List<List<double>>(); foreach (string[] strarray in data) //Fill in and parse incoming cell data { newData.Add(new List<double>() ); foreach (string s in strarray) { double parsedDouble; if (!Double.TryParse(s, out parsedDouble)) throw new ArgumentException("Invalid data in Cells"); newData[0].Add(parsedDouble); } } Graph gr = new bar_graph(newData); gc.Location = new Point(0, 0); //gc.loc is a point, not rect gc.Size = new Size(450,400); gc.SetGraph(gr); graphConfig gConf = new graphConfig(gr,gc); gConf.ShowDialog(); if (gConf.DialogResult == DialogResult.OK) { gc = new GraphControl(); gc.Location = new Point(location.X, location.Y); //gc.loc is a point, not rect gc.Size = location.Size; gc.SetGraph(gr); gr.InitFonts(); gr.InitLabels(); parent.Controls.Add(gc); } return gr; }
// this is to make a new graph object equal to this one. public override Graph cloneGraph() { bar_graph gr = new bar_graph(data); gr.draw_title = draw_title; gr.TitleString = TitleString; gr.LegendOn = LegendOn; gr.draw_xLabel = draw_xLabel; gr.XLabelString = XLabelString; gr.draw_yLabel = draw_yLabel; gr.YLabelString = YLabelString; return gr; }