Exemplo n.º 1
0
        private void TargetPanel_Drop(object sender, DragEventArgs e)
        {
            var             dataObj     = e.Data as DataObject;
            ImageEntity     dragged     = dataObj.GetData(typeof(ImageEntity)) as ImageEntity;
            CameraContainer selectedCam = cams.Where(c => c.Name == dragged.CameraName).SingleOrDefault();

            selectedCam.bActive = true;
            LayoutPanel droppedOn = e.Source as LayoutPanel;

            panels.Clear();
            FindPanels(((LayoutGroup)Groups) as DependencyObject);
            for (int y = 0; y < panels.Count; y++)
            {
                if (panels[y].Caption == droppedOn.Caption)
                {
                    addViews(panels[y], selectedCam);

                    //panels[y + 1].Visibility = Visibility.Visible;
                    //panels[y + 1].Content = selectedCam.hist;
                    //panels[y + 1].Name = "hist" + selectedCam.Name;
                }
            }
            //           droppedOn.Content = selectedCam.preview;
            SetTrayImageToinUse(dragged);
        }
Exemplo n.º 2
0
        public CameraContainer(int cameraNum, ImageEntity Tray, ListBox gallery)
        {
            preview        = new Preview(this);
            camNum         = cameraNum;
            hist           = new Histogram();
            settings       = new settingsContainer(this);
            LsImageGallery = gallery;
            trayImage      = Tray;

            ReturnCode rc = Api.Initialize(serialNums[cameraNum], ref m_hCamera);

            if (cameraNum == 0)
            {
                bActive = true;
            }

            CameraInformation info = new CameraInformation();

            rc        = Api.GetCameraInformation(m_hCamera, ref info);
            this.Name = Tray.CameraName = "a" + info.SerialNumber;
            LoadCameraFeatures();
            s_callbackDelegate[cameraNum] = new Api.Callback(MyCallbackFunction);
            Api.SetCallback(m_hCamera, Overlays.Frame, 0xD00D, s_callbackDelegate[cameraNum]);
            Api.SetStreamState(m_hCamera, StreamState.Start);
        }
Exemplo n.º 3
0
        void SetTrayImageToinUse(ImageEntity item)
        {
            CameraContainer selected = cams.Where(c => c.Name == item.CameraName).SingleOrDefault();

            selected.bActive = true;
            //show the tray image as camera in preview mode
            selected.trayImage.ImagePath = File.ReadAllBytes("preview.png");
        }
Exemplo n.º 4
0
        private void MainWindow_Loaded(object sender, RoutedEventArgs e)
        {
            //nCams = GetNumberCams();
            ((App)Application.Current).logger.MyLogFile("app start", "");

            //     < dxdo:LayoutGroup Orientation = "Horizontal" >
            docMan.DockItemClosed += DocMan_DockItemClosed;

            nAttachedCams = getNumberAttachedCams();
            if (nAttachedCams == 0)
            {
                MessageBox.Show("no cameras");
                return;
            }

            LsImageGallery.ItemsSource = ListImageObj;

            if (nAttachedCams > 0)
            {
                CreateSingleView();
            }
            //make the first camera active so that it shows in preview and histogram
            //           cams.First().bActive = true;
            //if there are more than 2 cameras place the 2 .. N in tray as the first is in the primary view
            for (int k = 0; k < nAttachedCams; k++)
            {
                ImageEntity ent = new ImageEntity();
                ent.ImagePath = File.ReadAllBytes("preview.png");
                ListImageObj.Add(ent);
            }
            SetupAttachedCams(ListImageObj);
            PopulateView();


            //        layoutGroup2.Add(layoutPanel4);

            //_timer = new System.Timers.Timer(70);
            //_timer.Elapsed += new ElapsedEventHandler(FakeCamera1);
            //_timer.Enabled = true; // Enable it


            // Store Data in List Object



            //         camtray.ItemsSource = listAvailable;

            //         ReturnCode rc = Api.Initialize(0, ref m_hCamera);
            //if (rc == ReturnCode.NoCameraError)
            //{
            //    MessageBoxResult result = MessageBox.Show(" Do you want to close this window?", "NO CAMERA", MessageBoxButton.YesNo, MessageBoxImage.Question);
            //    if (result == MessageBoxResult.Yes)
            //    {
            //        Application.Current.Shutdown();
            //    }
            //}
        }
Exemplo n.º 5
0
        //implement the drag of a tray image and it will be dropped onto an open window
        private void Image_MouseMove(object sender, MouseEventArgs e)
        {
            Image       image    = (sender as Image);
            ImageEntity item     = (ImageEntity)(sender as Image).DataContext;
            var         dragData = new DataObject(typeof(ImageEntity), item);

            if (image != null && e.LeftButton == MouseButtonState.Pressed)
            {
                DragDrop.DoDragDrop(image,
                                    dragData,
                                    DragDropEffects.Copy);
            }
        }
Exemplo n.º 6
0
        private void Image_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
        {
            if (e.ChangedButton == MouseButton.Left && e.ClickCount == 2)
            {
                Image       img  = e.OriginalSource as Image;
                ImageEntity item = img.DataContext as ImageEntity;
                if (item == null)
                {
                    MessageBox.Show("bad");
                    return;
                }

                /*single
                 * cams.ForEach(c => c.bActive = false);
                 * CameraContainer selected = cams.Where(c => c.Name == item.CameraName).SingleOrDefault();
                 * selected.bActive = true;
                 * panels.Clear();
                 * WalkDownLogicalTree(((LayoutGroup)Groups) as DependencyObject);
                 * panels[0].Content = selected.preview;
                 * panels[1].Content = selected.hist;
                 */
                SetTrayImageToinUse(item);

                List <CameraContainer> activecams = cams.Where(c => c.bActive == true).ToList();
                if (activecams.Count == 2)
                {
                    Create2View(Orientation.Horizontal, false);
                }
                if (activecams.Count == 3)
                {
                    Create12CamView();
                }
                if (activecams.Count == 4)
                {
                    Create4CamView();
                }
                PopulateView();
            }
        }