protected override void CellSelected(BaseTimetableDataElement data, Station sta, bool arrival) { trapeztafelToggle.Checked = data.ArrDeps[sta].TrapeztafelHalt; internalToggle.Enabled = arrival && !data.IsFirst(sta); zlmButton.Enabled = arrival ^ data.IsFirst(sta); }
protected override Point GetNextEditingPosition(BaseTimetableDataElement data, GridView view, KeyEventArgs e) { var path = data.Train.GetPath(); int idx, row; if (!e.Control) { idx = path.IndexOf(data.GetStation()) * 2 + (data.IsSelectedArrival ? 1 : 2); row = view.SelectedRow; if (path.Last() == data.GetStation() && data.IsSelectedArrival) { idx = 1; row++; } } else { idx = path.IndexOf(data.GetStation()) * 2 - (data.IsSelectedArrival ? 1 : 0); row = view.SelectedRow; if (path.First() == data.GetStation() && !data.IsSelectedArrival) { idx = (path.Count - 1) * 2; row--; } } return(new Point(row, idx)); }
protected override Point GetNextEditingPosition(BaseTimetableDataElement data, GridView view, KeyEventArgs e) { var arrival = data.IsSelectedArrival; var idx = arrival ? 2 : 1; int row; if (!e.Control) { row = view.SelectedRow + (arrival ? 0 : 1); } else { row = view.SelectedRow - (arrival ? 1 : 0); } return(new Point(row, idx)); }