private void ResetCake() { if (SizeSlider == null || angleSlider == null || DrawingCanvas == null) return; cake = new Cake((int)Math.Round(SizeSlider.Value, 0), (float)angleSlider.Value); cake.Render(ref DrawingCanvas); if(timer?.Enabled ?? false) timer.Stop(); generator?.Cancle(); generator = null; }
private void Button_Click_1(object sender, RoutedEventArgs e) { if (!running) { if (generator == null || generator.NumberOfCandles != (int)Math.Round(CandleCountSlider.Value, 0)) generator = new CakeGenerator((int)Math.Round(CandleCountSlider.Value, 0), (int)Math.Round(ParallelizationSlider.Value, 0), (int)Math.Round(SizeSlider.Value, 0), (float)angleSlider.Value, (int)Math.Round(ColorCountSlider.Value)); ProgressBar.IsIndeterminate = true; source = new CancellationTokenSource(); generator.Optimize(int.Parse(IterationsTextBox.Text), source.Token, OptimizationEndedCallback); StartButton.Content = "Stop"; running = true; timer.Start(); } else { source.Cancel(); timer.Stop(); running = false; } }
private void OpenButton_Click(object sender, RoutedEventArgs e) { OpenFileDialog dialog = new OpenFileDialog(); dialog.Filter = "Innovatives Dateiformat|*.json"; dialog.CheckFileExists = true; dialog.ShowDialog(); try { if (!File.Exists(dialog.FileName)) return; var cake = JsonConvert.DeserializeObject<Cake>(File.ReadAllText(dialog.FileName)); CandleCountSlider.Value = cake.Candles.Count; SizeSlider.Value = cake.Size; angleSlider.Value = cake.Angle; this.cake = cake; cake.Render(ref DrawingCanvas); generator = new CakeGenerator(cake, (int)Math.Round(ParallelizationSlider.Value, 0)); } catch (JsonReaderException) { throw new TheCakeIsALieException(); } }