/// <summary> /// convert string to Vehicleinfo enum /// </summary> /// <param name="value"></param> /// <returns></returns> public static Vehicleinfo VehicleinfoEnum(string value) { if (value != "") { Vehicleinfo m = (Vehicleinfo)Enum.Parse(typeof(Vehicleinfo), value, true); return(m); } else { return(Vehicleinfo.VID); } }
public void showInfo(string value) { Vehicleinfo vinfo = EnumConverter.VehicleinfoEnum(value); Dispatcher.Invoke((Action) delegate { if (vinfo == Vehicleinfo.None) { Dispatcher.Invoke(new Action(() => lbl_show_info.Content = ""), DispatcherPriority.Send); } if (vinfo == Vehicleinfo.SwitchDirection) { Dispatcher.Invoke(new Action(() => lbl_show_info.Content = CurrentLane.CurrentSwitchToDirection), DispatcherPriority.Send); } if (vinfo == Vehicleinfo.Direction) { Dispatcher.Invoke(new Action(() => lbl_show_info.Content = CurrentLane.LaneDirection), DispatcherPriority.Send); } if (vinfo == Vehicleinfo.VID) { txt_vid.Visibility = Visibility.Hidden; Dispatcher.Invoke(new Action(() => lbl_show_info.Content = VID), DispatcherPriority.Send); } else if (vinfo == Vehicleinfo.SpeedKMH) { Dispatcher.Invoke(new Action(() => lbl_show_info.Content = GetSpeedInKMH.ToString("0.00")), DispatcherPriority.Send); } else if (vinfo == Vehicleinfo.SpeedTimer) { Dispatcher.Invoke(new Action(() => lbl_show_info.Content = InstantaneousSpeed.ToString("0.00")), DispatcherPriority.Send); } else if (vinfo == Vehicleinfo.RID) { Dispatcher.Invoke(new Action(() => lbl_show_info.Content = CurrentLane.MyRoadSegment.RID), DispatcherPriority.Send); } else if (vinfo == Vehicleinfo.SJID) { Dispatcher.Invoke(new Action(() => lbl_show_info.Content = StartJunction.JID), DispatcherPriority.Send); } else if (vinfo == Vehicleinfo.DJID) { Dispatcher.Invoke(new Action(() => lbl_show_info.Content = EndJunction.JID), DispatcherPriority.Send); } else if (vinfo == Vehicleinfo.LaneIndex) { Dispatcher.Invoke(new Action(() => lbl_show_info.Content = CurrentLane.LaneIndex), DispatcherPriority.Send); } else if (vinfo == Vehicleinfo.InstanceLocation) { int X = Convert.ToInt32(InstanceLocation.X); int Y = Convert.ToInt32(InstanceLocation.Y); Dispatcher.Invoke(new Action(() => lbl_show_info.Content = X + "," + Y), DispatcherPriority.Send); } else if (vinfo == Vehicleinfo.RemianDistanceToHeadingJunction) { Dispatcher.Invoke(new Action(() => lbl_show_info.Content = RemianDistanceToHeadingJunction.ToString("0.00")), DispatcherPriority.Send); } else if (vinfo == Vehicleinfo.TravelledDistanceInMeter) { Dispatcher.Invoke(new Action(() => lbl_show_info.Content = TravelledDistanceInMeter.ToString("0.00")), DispatcherPriority.Send); } else if (vinfo == Vehicleinfo.ExceededDistanceInMeter) { Dispatcher.Invoke(new Action(() => lbl_show_info.Content = ExceededDistanceInMeter.ToString("0.00")), DispatcherPriority.Send); } else if (vinfo == Vehicleinfo.PacketsQueueLength) { Dispatcher.Invoke(new Action(() => lbl_show_info.Content = PacketQueue.Count), DispatcherPriority.Send); } else if (vinfo == Vehicleinfo.JunctionQueueIndex) { Dispatcher.Invoke(new Action(() => lbl_show_info.Content = IndexInQueue), DispatcherPriority.Send); } else if (vinfo == Vehicleinfo.RIDpluseLaneIndex) { Dispatcher.Invoke(new Action(() => lbl_show_info.Content = CurrentLane.MyRoadSegment.RID + "-" + CurrentLane.LaneIndex), DispatcherPriority.Send); } }); }