/// <summary> /// Default ctor /// </summary> public RouteEventSetEditorForm(IRailway railway, IModule module, IRouteEventSet events) { this.railway = railway; this.module = module; InitializeComponent(); Initialize(events); }
/// <summary> /// Initialize the controls for the given set. /// </summary> private void Initialize(IRouteEventSet events) { this.events = events; lbAll.Items.Clear(); lbSet.Nodes.Clear(); behaviorGrid.SelectedObject = null; if (module != null) { foreach (var sensor in module.Sensors.Where(x => events.All(e => e.Sensor != x)).OrderBy(x => x.Description, NameWithNumbersComparer.Instance)) { lbAll.Items.Add(sensor); } foreach (var @event in events.OrderBy(x => x.Description, NameWithNumbersComparer.Instance)) { lbSet.Nodes.Add(new EventNode(railway, @event)); } if (lbAll.Items.Count > 0) { lbAll.SelectedIndex = 0; } if (lbSet.Nodes.Count > 0) { lbSet.SelectedNode = lbSet.Nodes[0]; } lbSetSensors.Text = "Events"; } if (railway != null) { cbViewLocs.Items.Clear(); cbViewLocs.Items.Add(Strings.ViewAllLocs); foreach (var loc in railway.GetLocs().OrderBy(x => x.Description, NameWithNumbersComparer.Instance)) { cbViewLocs.Items.Add(loc); } cbViewLocs.SelectedIndex = 0; } UpdateComponents(); }