Example #1
0
        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();
        }
Example #2
0
 private void DeselectCameras()
 {
     listViewSelected.BeginUpdate();
     foreach (ListViewItem item in listViewSelected.SelectedItems)
     {
         CameraListViewItem clvi = (CameraListViewItem)item;
         cameraManagement.DeselectCamera(clvi.Cam);
     }
     listViewSelected.EndUpdate();
 }
Example #3
0
        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);
            }
        }
Example #4
0
 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();
 }
Example #5
0
 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();
 }
Example #6
0
        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();
        }
Example #7
0
        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();
        }
Example #8
0
 public CameraListViewItem(CameraListViewItem other)
     : this(other.Text, other.ImageKey)
 {
     this.Cam = other.Cam;
 }