private void UpdateTrackSource(VehicleStateService source) { foreach (ToolStripMenuItem item in buttonTrackSource.DropDownItems) { item.Checked = item.Tag == source; } }
private void InitializeServices() { Services.MapService = drawingSurface; Services.RunControlService.RunModeChanged += new EventHandler(RunControlService_RunModeChanged); VehicleStateService posteriorPoseService = new VehicleStateService("posterior pose", OperationalInterface.Dataset.ItemAs <double>("posterior heading"), OperationalInterface.Dataset.ItemAs <Coordinates>("posterior pose")); VehicleStateService poseService = new VehicleStateService("pose", OperationalInterface.Dataset.ItemAs <double>("heading"), OperationalInterface.Dataset.ItemAs <Coordinates>("xy")); stateServices = new List <VehicleStateService>(); stateServices.Add(posteriorPoseService); stateServices.Add(poseService); foreach (VehicleStateService stateService in stateServices) { ToolStripMenuItem item = new ToolStripMenuItem(stateService.Name, null, trackService_Click); item.Tag = stateService; buttonTrackSource.DropDownItems.Add(item); } // initialize state service to posterior pose Services.VehicleStateService = posteriorPoseService; UpdateTrackSource(posteriorPoseService); }
private void trackService_Click(object sender, EventArgs e) { ToolStripMenuItem item = sender as ToolStripMenuItem; if (item == null) { return; } VehicleStateService stateService = item.Tag as VehicleStateService; if (stateService != null) { Services.VehicleStateService = stateService; UpdateTrackSource(stateService); } }