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