Microscopic Traffic Simulator
ConstructionUserControl.xaml.cs
Go to the documentation of this file.
3 using System.Windows;
4 using System.Windows.Controls;
5 using System.Windows.Data;
6 
7 namespace Microscopic_Traffic_Simulator.Views.MainWindowView
8 {
12  public partial class ConstructionUserControl : UserControl
13  {
18  {
19  InitializeComponent();
20  }
21 
27  private void ButtonInitializeSimulation_Click(object sender, RoutedEventArgs e)
28  {
29  MainWindow mainWindow = Window.GetWindow(this) as MainWindow;
30  mainWindow.canvasUserControl.RoadPreviewer.ClearPreviewOfBuildingOfAnyRoads();
31  ParametersWindow parametersWindow = new ParametersWindow();
32  parametersWindow.DataContext = (mainWindow.DataContext as MainViewModel).GetParametersViewModel();
33  bool? result = parametersWindow.ShowDialog();
34  if (result.HasValue && result.Value)
35  {
36  mainWindow.canvasUserControl.SimulationTrafficRenderer.CellularTopology = (mainWindow
37  .canvasUserControl.DataContext as CanvasViewModel).CellularTopology;
38  mainWindow.canvasUserControl.SimulationTrafficRenderer.AttachEventHandlerFromCellularTopology();
39  }
40  }
41 
47  private void RadioButton_SourceUpdated(object sender, DataTransferEventArgs e)
48  {
49  (Window.GetWindow(this) as MainWindow).canvasUserControl.RoadPreviewer.LaneTypeWasChanged();
50  }
51 
52  private void generatorBuildingModeButton_Unchecked(object sender, RoutedEventArgs e)
53  {
54  MainWindow mainWindow = Window.GetWindow(this) as MainWindow;
55  if (mainWindow != null)
56  {
57  mainWindow.canvasUserControl.GeneratorPossibleLocationsRenderer.Clear();
58  }
59  }
60 
61  private void laneBuildingModeButton_Unchecked(object sender, RoutedEventArgs e)
62  {
63  MainWindow mainWindow = Window.GetWindow(this) as MainWindow;
64  if (mainWindow != null)
65  {
66  mainWindow.canvasUserControl.RoadPreviewer.ClearPreviewOfBuildingOfAnyRoads();
67  }
68  }
69 
70  private void generatorBuildingModeButton_Checked(object sender, RoutedEventArgs e)
71  {
72  (Window.GetWindow(this) as MainWindow).canvasUserControl.GeneratorPossibleLocationsRenderer
73  .RenderPossibleLocations();
74  }
75  }
76 }