private void deleteFunction_Click(object sender, RoutedEventArgs e) { InputIndex i = new InputIndex(controller) { Title = "Удаление по индексу" }; i.ShowDialog(); if (!i.IsOK) { return; } ChartingObject tmp = controller.getAllChartings()[i.Index - 1]; controller.deleteFunctionById(i.Index - 1); elementsPanel.Children.RemoveAt(i.Index - 1); List <ChartingObject> list = controller.getAllChartings(); for (int j = i.Index - 1; j < list.Count; j++) { elementsPanel.Children.RemoveAt(j); GraphicsElement ge = showFunction(j + 1, list[j].Name, list[j].Function, list[j].Step, list[j].Min, list[j].Max); elementsPanel.Children.Insert(j, ge); } MessageBox.Show("График функции '" + tmp.Name + "' удалён!"); }
private void alterFunction_Click(object sender, RoutedEventArgs e) { InputIndex i = new InputIndex(controller) { Title = "Изменение по индексу" }; i.ShowDialog(); if (!i.IsOK) { return; } AddFunction alter = new AddFunction() { Title = "Изменение" }; ChartingObject obj = controller.getAllChartings()[i.Index - 1]; alter.name_txt.Text = obj.Name; alter.function_txt.Text = obj.Function; alter.step_txt.Text = obj.Step.ToString(); alter.min_txt.Text = obj.Min.ToString(); alter.max_txt.Text = obj.Max.ToString(); alter.ShowDialog(); if (!alter.IsOK) { return; } if (!controller.alterFunction(i.Index - 1, alter.Name, alter.Function, alter.Step, alter.Min, alter.Max)) { MessageBox.Show("Не могу изменить функцию: индекс = " + i.Index + " за пределами диапазона!"); return; } elementsPanel.Children.RemoveAt(i.Index - 1); GraphicsElement ge = showFunction(i.Index, alter.Name, alter.Function, alter.Step, alter.Min, alter.Max); elementsPanel.Children.Insert(i.Index - 1, ge); MessageBox.Show("График функции '" + alter.Name + "' изменен!"); }