/// <summary> /// Proceed to the next position. /// </summary> private void NextPosition() { // update UI List <CheckBox> checkboxes = positions.Children.OfType <CheckBox>().ToList(); checkboxes[configurations.Count].IsChecked = true; // start next position configurations.Add(currentConfiguration); currentStep = 0; currentConfiguration = new PointConfiguration(); Start(); // add new UI checkbox if needed if (checkboxes.Count == configurations.Count) { saveButton.IsEnabled = true; CheckBox checkbox = new CheckBox(); checkbox.IsChecked = false; checkbox.IsEnabled = false; checkbox.Content = "Middle " + (checkboxes.Count - 3); positions.Children.Add(checkbox); } }
/// <summary> /// Proceed to the next configuration step. /// If it is already the last step, configuration will start over at a new position. /// </summary> public void NextStep() { currentConfiguration = steps[currentStep].Finish(currentConfiguration); if (currentStep + 1 < steps.Length) { currentStep++; Start(); } else { NextPosition(); } }