/// <summary> /// Erstellt eine Liste von Knöpfen für vorhandene Graph-Aktionen im Bezug auf eine gegebene Datentabelle /// </summary> /// <param name="actionLinkedTable"></param> /// <returns>Dynamische Liste von Knöpfen</returns> public List <Button> GetActionsList(ValueTable actionLinkedTable) { Button drawPlotButton = new Button { Text = "Zeichne Graphen" }; drawPlotButton.Click += (object s, EventArgs e) => { ClearLineMemory(); ForceResize(); PlotPolynomialFunction(ValueTable.AmpereFunction, Options.PlotColors[0]); PlotPolynomialFunction(ValueTable.VoltageFunction, Options.PlotColors[1]); PlotPolynomialFunction(ValueTable.PowerFunction, Options.PlotColors[2]); ReplotGraph(); }; Button drawDataMarksButton = new Button { Text = "Zeichne Datenpunkte" }; drawDataMarksButton.Click += (object s, EventArgs e) => { double[,] data = actionLinkedTable.GetTableContents(); int columnCount = data.GetLength(0); int rowCount = data.GetLength(1); // first column are X-values // loop through other columns for Y-values for (int column = 1; column < columnCount; column += 1) { for (int row = 0; row < rowCount; row += 1) { PlotMark(new GraphCoord((float)data[0, row], (float)data[column, row]), Options.PlotColors[column - 1], false); } } ForceResize(); }; Button deleteButton = new Button { Text = "Lösche Graphen" }; deleteButton.Click += (object s, EventArgs e) => { ClearLineMemory(); ForceResize(); }; List <Button> buttonList = new List <Button> { drawPlotButton, drawDataMarksButton, deleteButton }; return(buttonList); }