示例#1
0
        /// <summary>
        /// 点击设备列表中的节点时发生
        /// </summary>
        private void treeViewResList_NodeMouseDoubleClick(object sender, TreeNodeMouseClickEventArgs e)
        {
            //点击通道时发生,视频通道
            if (e.Node.Level == TREE_LEVEL_CHANNEL)
            {
                Pu  pu        = m_sdkOperator.Session.getPu(e.Node.Parent.Name);
                int channelNo = pu.getChannelNo(e.Node.Text);
                if (channelNo >= BVCU.BVCU_SUBDEV_INDEXMAJOR_MIN_CHANNEL && channelNo < BVCU.BVCU_SUBDEV_INDEXMAJOR_MAX_CHANNEL)
                {
                    if (m_sdkOperator.Dialog.Count == VIDEO_PANEL_COUNT)
                    {
                        MessageBox.Show("窗口已全部占用");
                        return;
                    }
                    foreach (Panel panel in m_videoPanels)
                    {
                        if (panel.ContextMenuStrip == null)
                        {
                            panel.ContextMenuStrip = contextMenuStripVideo;
                            Console.WriteLine("Open dialog pu " + pu.id + " channel " + channelNo);

                            //打开浏览*******************************************************************
                            m_sdkOperator.Dialog.openBrowse(pu, channelNo, panel);

                            /*
                             * Player p = new Player();
                             * p.Show();
                             *
                             * m_sdkOperator.Dialog.PreviewVideo(pu, channelNo, p.tbPlay);
                             */
                            break;
                        }
                    }
                }
                else if (channelNo >= BVCU.BVCU_SUBDEV_INDEXMAJOR_MIN_TSP && channelNo < BVCU.BVCU_SUBDEV_INDEXMAJOR_MAX_TSP)
                {
                    //打开Tsp通道
                    if (m_sdkOperator.Dialog.openTspDialog(pu, channelNo) == 0)
                    {
                        ListViewItem item = new ListViewItem();
                        item.Text = pu.id;
                        item.Tag  = channelNo;
                        ListViewItem.ListViewSubItem TspData = new ListViewItem.ListViewSubItem();
                        ListViewItem.ListViewSubItem len     = new ListViewItem.ListViewSubItem();
                        item.SubItems.AddRange(new ListViewItem.ListViewSubItem[] { TspData, len });

                        listViewGPSData.Items.Add(item);
                    }
                }
            }//点击通道时发生 end
        }
示例#2
0
 private void treeViewResList_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
 {
     if (e.Button == System.Windows.Forms.MouseButtons.Right)
     {
         if (e.Node.Level == TREE_LEVEL_CHANNEL)
         {
             Pu  pu         = m_sdkOperator.Session.getPu(e.Node.Parent.Name);
             int ichannelNo = pu.getChannelNo(e.Node.Text);
             g_pu        = pu;
             g_channelNo = ichannelNo;
             if (ichannelNo >= BVCU.BVCU_SUBDEV_INDEXMAJOR_MIN_CHANNEL && ichannelNo < BVCU.BVCU_SUBDEV_INDEXMAJOR_MAX_CHANNEL)
             {
                 contextMenuStripTalkOnly.Show(Control.MousePosition.X,
                                               Control.MousePosition.Y);
             }
         }
     }
 }
示例#3
0
        /// <summary>
        /// 获得设备列表,更新Form中设备TreeView的内容,被this.getPuList()调用
        /// </summary>
        void procGetPuList()
        {
            //添加session节点
            treeViewResList.Nodes.Clear();
            TreeNode session = new TreeNode(m_sdkOperator.Session.Name);

            treeViewResList.Nodes.Add(session);

            for (int i = 0; i < m_sdkOperator.Session.PuList.Count; i++)
            {
                //添加设备节点
                Pu pu = (Pu)m_sdkOperator.Session.PuList[i];

                //当前设备是否连接通道
                foreach (OneDialog dlg in m_sdkOperator.Dialog.m_dialogs)
                {
                    if (dlg.pu == pu)
                    {
                        is_on_dialog = true;
                        break;
                    }
                }

                //m_sdkOperator.Dialog.m_dialogs;


                TreeNode puNode = new TreeNode();
                puNode.Name = pu.id;
                if (pu.puName.Length == 0)
                {
                    puNode.Text = pu.id;
                }
                else
                {
                    puNode.Text = pu.puName;
                }

                session.Nodes.Add(puNode);
                bool online = false;
                //添加通道节点
                foreach (Channel channl in pu.channelList)
                {
                    TreeNode channelNode = new TreeNode(channl.channelName);
                    if (channl.online)
                    {
                        //。。。。。。。。。。后添加。。。。。。。。
                        if (!is_on_dialog)
                        {
                            #region

                            //获取通道号
                            int channelNo = pu.getChannelNo(channelNode.Text);


                            //如果通道在线,判断是否为TSP通道,如果为TSP通道,则打开TSP通道
                            if (channelNo >= BVCU.BVCU_SUBDEV_INDEXMAJOR_MIN_TSP && channelNo < BVCU.BVCU_SUBDEV_INDEXMAJOR_MAX_TSP)
                            {
                                //打开Tsp通道
                                if (m_sdkOperator.Dialog.openTspDialog(pu, channelNo) == 0)
                                {
                                    //向listview中添加设备和其对应的数据长度列
                                    ListViewItem item = new ListViewItem();
                                    item.Text = pu.id;
                                    item.Tag  = channelNo;
                                    ListViewItem.ListViewSubItem TspData = new ListViewItem.ListViewSubItem();
                                    ListViewItem.ListViewSubItem len     = new ListViewItem.ListViewSubItem();
                                    item.SubItems.AddRange(new ListViewItem.ListViewSubItem[] { TspData, len });

                                    listViewGPSData.Items.Add(item);
                                }
                            }
                            else if (channelNo >= BVCU.BVCU_SUBDEV_INDEXMAJOR_MIN_CHANNEL && channelNo < BVCU.BVCU_SUBDEV_INDEXMAJOR_MAX_CHANNEL)
                            {
                                if (m_sdkOperator.Dialog.Count == 4)
                                {
                                    //MessageBox.Show("窗口已全部占用");
                                    //return;
                                }
                                else
                                {
                                    foreach (Panel panel in m_videoPanels)
                                    {
                                        if (panel.ContextMenuStrip == null)
                                        {
                                            panel.ContextMenuStrip = contextMenuStripVideo;
                                            Console.WriteLine("Open dialog pu " + pu.id + " channel " + channelNo);

                                            //打开浏览*******************************************************************
                                            m_sdkOperator.Dialog.openBrowse(pu, channelNo, panel);
                                            //录像
                                            // RecordPath = "E:\\PIPE_DATA\\TEST";
                                            Thread.Sleep(10000);
                                            m_sdkOperator.Dialog.record(panel);

                                            /*
                                             * Player p = new Player();
                                             * p.Show();
                                             *
                                             * m_sdkOperator.Dialog.PreviewVideo(pu, channelNo, p.tbPlay);
                                             */
                                            break;
                                        }
                                    }

                                    Thread.Sleep(10000);
                                }
                            }

                            #endregion
                        }

                        channelNode.ForeColor = Color.Blue;
                        online = true;
                    }
                    else
                    {
                        channelNode.ForeColor = Color.Gray;
                    }
                    puNode.Nodes.Add(channelNode);
                }

                /*for (int t = 0; t < pu.channelList.Count; t++)
                 * {
                 *  Channel channl = pu.channelList[i] as Channel;
                 *  TreeNode channelNode = new TreeNode(channl.channelName);
                 *  if (channl.online)
                 *  {
                 *      channelNode.ForeColor = Color.Blue;
                 *      online = true;
                 *  }
                 *  else
                 *  {
                 *      channelNode.ForeColor = Color.Gray;
                 *  }
                 *  puNode.Nodes.Add(channelNode);
                 * }*/

                if (online)
                {
                    puNode.ForeColor = Color.Blue;
                }
                else
                {
                    puNode.ForeColor = Color.Gray;
                }

                is_on_dialog = false;
            }

            //打开TSP通道后,向所有打开通道发送数据请求信息
            sndData_timer.Enabled = true;
        }