private void cam_OnConnected(Camera sender) { listViewSelected.BeginUpdate(); Bitmap bmp = ScaleBitmap(sender.CameraIcon, IMAGE_SIZE_LARGE); // Overlay icon with green dot, that indicates its connection status. OverlayBitmap(bmp, Properties.Resources.greenDot); foreach (ListViewItem lvi in listViewSelected.Items) { CameraListViewItem clvi = (CameraListViewItem)lvi; if (clvi.Cam == sender) { string name = clvi.Name; string text = clvi.Text; clvi.SubItems.Clear(); clvi.ImageKey = sender.GetType().ToString() + "_C"; clvi.Text = text; clvi.Name = name; clvi.SubItems.Add("Connected", Color.DarkGreen, Color.LightGreen, null); clvi.SubItems.Add(sender.SerialNumber); clvi.SubItems.Add(sender.NumChannels.ToString()); } } listViewSelected.EndUpdate(); }
private void DeselectCameras() { listViewSelected.BeginUpdate(); foreach (ListViewItem item in listViewSelected.SelectedItems) { CameraListViewItem clvi = (CameraListViewItem)item; cameraManagement.DeselectCamera(clvi.Cam); } listViewSelected.EndUpdate(); }
private void cameraManagement_SelectedCamerasChanged(object sender, CameraManagement.SelectedCamerasChangedArgs args) { if (args.Deselected) { if (args.Camera.IsConnected) { log.Warn(String.Format("CameraExplorer: Camera {0} was deselected by CameraManagement but is currently connected. Camera will not be deselected in CameraExplorer", args.Camera.ToString())); return; } for (int i = 0; i < listViewSelected.Items.Count; i++) { if (((CameraListViewItem)listViewSelected.Items[i]).Cam == args.Camera) { listViewSelected.Items.RemoveAt(i); break; } } args.Camera.OnConnected -= cam_OnConnected; args.Camera.OnDisconnected -= cam_OnDisconnected; } else { Camera cam = args.Camera; cam.OnConnected += cam_OnConnected; cam.OnDisconnected += cam_OnDisconnected; CameraListViewItem clvi = null; for (int i = 0; i < listViewAvailable.Items.Count; i++) { if (listViewAvailable.Items[i].Text == cam.Name) { clvi = new CameraListViewItem(listViewAvailable.Items[i].Text, listViewAvailable.Items[i].ImageKey); clvi.Name = listViewAvailable.Items[i].Name; break; } } if (clvi == null) { return; } clvi.Cam = cam; clvi.SubItems.Add("Not connected"); clvi.SubItems.Add("N/A"); clvi.SubItems.Add(""); this.listViewSelected.Items.Add(clvi); } }
private void cam_OnDisconnected(Camera sender) { listViewSelected.BeginUpdate(); foreach (ListViewItem item in listViewSelected.Items) { CameraListViewItem clvi = (CameraListViewItem)item; if (clvi.Cam == sender) { string name = clvi.Name; string text = clvi.Text; clvi.SubItems.Clear(); clvi.ImageKey = clvi.Cam.GetType().ToString(); clvi.Text = text; clvi.Name = name; clvi.SubItems.Add("Not connected"); clvi.SubItems.Add("N/A"); clvi.SubItems.Add(""); } } listViewSelected.EndUpdate(); }
private void cam_OnConnected(Camera sender) { listViewSelected.BeginUpdate(); foreach (ListViewItem lvi in listViewSelected.Items) { CameraListViewItem clvi = (CameraListViewItem)lvi; if (clvi.Cam == sender) { string name = clvi.Name; string text = clvi.Text; clvi.SubItems.Clear(); clvi.ImageKey = sender.GetType().ToString() + "_C"; clvi.Text = text; clvi.Name = name; clvi.SubItems.Add("Connected", Color.DarkGreen, Color.LightGreen, null); clvi.SubItems.Add(sender.SerialNumber); clvi.SubItems.Add(sender.NumChannels.ToString()); } } listViewSelected.EndUpdate(); }
public void RefreshAvailableCameras() { listViewAvailable.Items.Clear(); imageListSmall.Images.Clear(); imageListLarge.Images.Clear(); listViewAvailable.BeginUpdate(); foreach (Camera cam in cameraManagement.AvailableCameras) { CameraListViewItem listViewItem = new CameraListViewItem(cam.Name, cam.GetType().ToString()); listViewItem.Name = cam.GetType().ToString(); listViewItem.Cam = cam; imageListSmall.Images.Add(cam.GetType().ToString(), new Icon(cam.CameraIcon, IMAGE_SIZE_SMALL, IMAGE_SIZE_SMALL)); imageListLarge.Images.Add(cam.GetType().ToString(), new Icon(cam.CameraIcon, IMAGE_SIZE_LARGE, IMAGE_SIZE_LARGE)); imageListSmall.Images.Add(cam.GetType().ToString() + "_C", AddIconOverlay(cam.CameraIcon, Properties.Resources.ConnectedOverlay, IMAGE_SIZE_SMALL)); imageListLarge.Images.Add(cam.GetType().ToString() + "_C", AddIconOverlay(cam.CameraIcon, Properties.Resources.ConnectedOverlay, IMAGE_SIZE_LARGE)); this.listViewAvailable.Items.Add(listViewItem); } listViewAvailable.EndUpdate(); }
public void RefreshAvailableCameras() { listViewAvailable.Items.Clear(); imageListSmall.Images.Clear(); imageListLarge.Images.Clear(); listViewAvailable.BeginUpdate(); foreach (Camera cam in cameraManagement.AvailableCameras) { CameraListViewItem listViewItem = new CameraListViewItem(cam.Name, cam.GetType().ToString()); listViewItem.Name = cam.GetType().ToString(); listViewItem.Cam = cam; Bitmap bmp = ScaleBitmap(cam.CameraIcon, IMAGE_SIZE_LARGE); imageListLarge.Images.Add(cam.GetType().ToString(), (Bitmap)bmp.Clone()); imageListSmall.Images.Add(cam.GetType().ToString(), ScaleBitmap(cam.CameraIcon, IMAGE_SIZE_SMALL)); OverlayBitmap(bmp, Properties.Resources.greenDot); imageListLarge.Images.Add(cam.GetType().ToString() + "_C", bmp); imageListSmall.Images.Add(cam.GetType().ToString() + "_C", ScaleBitmap(bmp, IMAGE_SIZE_SMALL)); this.listViewAvailable.Items.Add(listViewItem); } listViewAvailable.EndUpdate(); }
public CameraListViewItem(CameraListViewItem other) : this(other.Text, other.ImageKey) { this.Cam = other.Cam; }