public void OnUINavigatorEvent(UIFuncItemInfo funcItemInfo)
        {
            if (funcItemInfo.Function == UIFunctionEnum.Backward)
            {
                if (m_PreviousFuncItemInfo != null)
                {
                    OnUINavigatorEvent(m_PreviousFuncItemInfo);
                }
                return;
            }

            funcItemInfo = Container.Instance.NaviRecord.GetSubItem(funcItemInfo);
            Container.Instance.NaviRecord.RegisterSubItem(funcItemInfo);

            // m_tabCtrlContainer.SuspendLayout();

            XtraUserControl tabTree = GetNaviContent(funcItemInfo.Function);

            if (tabTree != null)
            {
                tabTree.BringToFront();
                m_PreviousFuncItemInfo = m_CurrentFuncItemInfo;

                if (funcItemInfo.Function == UIFunctionEnum.Backward)
                {
                    m_PreviousFuncItemInfo = null;
                    m_CurrentFuncItemInfo  = m_PreviousFuncItemInfo;
                }
                else
                {
                    m_CurrentFuncItemInfo = funcItemInfo;
                }
            }
            // m_tabCtrlContainer.ResumeLayout();
        }
Exemple #2
0
        /// <summary>
        /// 更新大类对应最近使用小类功能字典
        /// </summary>
        /// <param name="subItem"></param>
        public void RegisterSubItem(UIFuncItemInfo subItem, int oldSplitPosition, out int splitPosition)
        {
            splitPosition = -1;
            if (subItem != null && m_curFuncItemInfo != subItem)
            {
                RegisterSubItem(subItem);

                // 需要记住旧的 splitposition
                UIFuncItemInfo catItemCur = null;
                UIFuncItemInfo catItemNew = subItem.Parent ?? subItem;
                if (m_curFuncItemInfo != null)
                {
                    catItemCur = m_curFuncItemInfo.Parent ?? m_curFuncItemInfo;
                    if (catItemCur != catItemNew)
                    {
                        if (!m_DTCategory2SplitPosition.ContainsKey(catItemCur))
                        {
                            m_DTCategory2SplitPosition.Add(catItemCur, oldSplitPosition);
                        }
                        else
                        {
                            m_DTCategory2SplitPosition[catItemCur] = oldSplitPosition;
                        }
                    }
                }
                if (m_DTCategory2SplitPosition.ContainsKey(catItemNew))
                {
                    splitPosition = m_DTCategory2SplitPosition[catItemNew];
                }
                m_curFuncItemInfo = subItem;
            }
        }
Exemple #3
0
 private void ItemClicked(object sender, DevExpress.XtraNavBar.NavBarLinkEventArgs e)
 {
     if (e.Link.Item.Tag != null && e.Link.Item.Tag is UIFuncItemInfo)
     {
         UIFuncItemInfo func = (UIFuncItemInfo)e.Link.Item.Tag;
         Framework.Container.Instance.EvtAggregator.GetEvent <NavigateEvent>().Publish(func);
     }
 }
        private void AddPage(UIFuncItemInfo itemInfo, ucContentBase tabPage)
        {
            m_tabCtrlContainer.Controls.Add(tabPage);
            m_DTFunction2TabPage.Add(itemInfo.Function, tabPage);

            if (itemInfo.DependsOnCase)
            {
                m_UIFuncsDependonCase.Add(itemInfo.Function);
            }
        }
Exemple #5
0
        /// <summary>
        /// 如果传入的是功能大类, 返回该大类最近操作过的该大类下的小类功能
        /// </summary>
        /// <param name="item"></param>
        /// <returns></returns>
        public UIFuncItemInfo GetSubItem(UIFuncItemInfo item)
        {
            UIFuncItemInfo subItem = item;

            if (item != null && m_DTCategory2SubItem.ContainsKey(item))
            {
                subItem = m_DTCategory2SubItem[item];
            }

            return(subItem);
        }
        private void RemovePage(UIFuncItemInfo itemInfo, ucContentBase tabPage)
        {
            tabPage.Controls.Remove(tabPage);
            m_DTFunction2TabPage.Remove(itemInfo.Function);
            tabPage.UnregisterEventHandlers();

            if (itemInfo.DependsOnCase)
            {
                m_UIFuncsDependonCase.Remove(itemInfo.Function);
            }
        }
        private ucContentBase GetContentPage(UIFuncItemInfo itemInfo)
        {
            ucContentBase  tabPage     = null;
            UIFuncItemInfo itemInfoPar = itemInfo;

            if (itemInfo.Parent != null && itemInfo.Parent == UIFuncItemInfo.SEARCH)
            {
                itemInfoPar = itemInfo.Parent;
            }

            UIFunctionEnum funcItem = itemInfoPar.Function;

            if (m_DTFunction2TabPage.ContainsKey(funcItem))
            {
                tabPage = m_DTFunction2TabPage[funcItem];
            }
            else
            {
                tabPage = CreateContentPage(itemInfoPar);
                if (tabPage != null)
                {
                    tabPage.Dock        = DockStyle.Fill;
                    tabPage.BorderStyle = BorderStyle.None;
                    AddPage(itemInfoPar, tabPage);
                }
            }

            if (itemInfo == UIFuncItemInfo.SEARCHMOTIONOBJECT)
            {
                Framework.Container.Instance.EvtAggregator.GetEvent <SearchVideoFilerChangedEvent>().Publish(SearchResourceResultType.Normal);
            }
            else if (itemInfo == UIFuncItemInfo.SEARCHFACE)
            {
                Framework.Container.Instance.EvtAggregator.GetEvent <SearchVideoFilerChangedEvent>().Publish(SearchResourceResultType.Face);
            }
            else if (itemInfo == UIFuncItemInfo.SEARCHVEHICLE)
            {
                Framework.Container.Instance.EvtAggregator.GetEvent <SearchVideoFilerChangedEvent>().Publish(SearchResourceResultType.Vehicle);
            }
            else if (itemInfo == UIFuncItemInfo.SEARCHBYIMAGE)
            {
                Framework.Container.Instance.EvtAggregator.GetEvent <SearchVideoFilerChangedEvent>().Publish(SearchResourceResultType.NoUse);
            }

            return(tabPage);
        }
Exemple #8
0
        public void RegisterSubItem(UIFuncItemInfo subItem)
        {
            if (subItem != null && m_curFuncItemInfo != subItem)
            {
                if (subItem.Function == UIFunctionEnum.NewTask)
                {
                    return;
                }

                foreach (UIFuncItemInfo item in m_DTCategory2SubItems.Keys)
                {
                    if (m_DTCategory2SubItems[item].Contains(subItem))
                    {
                        m_DTCategory2SubItem[item] = subItem;
                        break;
                    }
                }
            }
        }
        public void OnShowDialogEvent(UIFuncItemInfo itemInfo)
        {
            UIFunctionEnum funcItem = itemInfo.Function;
            ucContentBase  ctrl     = null;
            Form           dlg;

            switch (funcItem)
            {
            case UIFunctionEnum.NewCase:
                dlg = new FormNewCase(new CaseInfo()
                {
                    CaseHappenTime = DateTime.Now
                });
                dlg.ShowDialog();
                break;

            case UIFunctionEnum.ModifyCase:
                dlg = new FormNewCase(itemInfo.Subject as CaseInfo, true);
                dlg.ShowDialog();
                break;
            }
        }
        private ucContentBase CreateContentPage(UIFuncItemInfo itemInfo)
        {
            UIFunctionEnum funcItem = itemInfo.Function;
            ucContentBase  ctrl     = null;
            Form           dlg;

            switch (funcItem)
            {
            case UIFunctionEnum.MyCaseList:
                ctrl = new ucMyCaseList();
                break;

            case UIFunctionEnum.CurrCase:
                ctrl = new ucCurrentCase(itemInfo.Subject as CaseInfo);
                break;

            case UIFunctionEnum.CaseExport:
                ctrl = new ucCaseExport();
                break;

            case UIFunctionEnum.NewCase:
                dlg = new FormNewCase(new CaseInfo()
                {
                    CaseHappenTime = DateTime.Now
                });
                dlg.ShowDialog();
                break;

            case UIFunctionEnum.ModifyCase:
                dlg = new FormNewCase(itemInfo.Subject as CaseInfo, true);
                dlg.ShowDialog();
                break;

            case UIFunctionEnum.ImportVideos:
                ctrl = new ucVideoTaskStatus();
                break;

            case UIFunctionEnum.ImportPictures:
                ctrl = new ucPictureTaskStatus();
                break;

            case UIFunctionEnum.Search:
                //case UIFunctionEnum.SearchMotionObject:
                //case UIFunctionEnum.SearchFace:
                //case UIFunctionEnum.SearchVehicle:
                //case UIFunctionEnum.SearchByImage:
                ctrl = new ucSearch();
                break;

            case UIFunctionEnum.LiveVideo:
                ctrl = new ucPlayVideo();
                break;

            case UIFunctionEnum.BriefVideo:
                ctrl = new ucPlayBriefVideoNew();
                break;

            //case UIFunctionEnum.RunningTasks:
            //    ctrl = new ucRunningTasks();
            //    break;
            //case UIFunctionEnum.FinishedTasks:
            //    ctrl = new ucFinishedTasks();
            //    break;
            case UIFunctionEnum.VideoTasks:
                ctrl = new ucVideoTaskStatus();
                break;

            case UIFunctionEnum.PictureTasks:
                ctrl = new ucPictureTaskStatus();
                break;

            case UIFunctionEnum.TaskStatus:
                ctrl = new ucTasksStatus();
                break;

            case UIFunctionEnum.NewTask:
                //ctrl = new ucCreateTaskWizard();
                dlg = new FormCreateTaskWizard();
                dlg.StartPosition = FormStartPosition.CenterParent;
                dlg.ShowDialog();
                break;

            case UIFunctionEnum.NewTaskUnit:
                // ctrl = new ucCreateTaskWizard(itemInfo.Subject as TaskInfo);
                dlg = new FormCreateTaskWizard(itemInfo.Subject as TaskInfo);
                dlg.StartPosition = FormStartPosition.CenterParent;
                dlg.ShowDialog();
                break;

            case UIFunctionEnum.CameraManagement:
                ctrl = new ucCameraManagement();
                break;

            case UIFunctionEnum.PlatManagement:
                ctrl = new ucVideoSupplierDeviceManagement();
                break;

            case UIFunctionEnum.UserManagement:
                ctrl = new ucUserManagement();
                break;

            case UIFunctionEnum.ClusterMonitor:
                ctrl = new ucClusterMonitor();
                break;

            case UIFunctionEnum.VDAServerManagement:
                ctrl = new ucVDAServerManagement();
                break;

            case UIFunctionEnum.PASServerManagement:
                ctrl = new ucPASServerManagement();
                break;

            case UIFunctionEnum.FtpHttpServerManagement:
                ctrl = new ucFtpHttpServerManagement();
                break;

            case UIFunctionEnum.MediaServerManagement:
                ctrl = new ucMediaServerManagement();
                break;

            case UIFunctionEnum.MediaRouterManagement:
                ctrl = new ucMediaRouterManagement();
                break;

            case UIFunctionEnum.VDAResultServerManagement:
                ctrl = new ucVDAResultServerManagement();
                break;

            case UIFunctionEnum.ClientRouterManagement:
                ctrl = new ucClientRouterManagement();
                break;

            case UIFunctionEnum.LogManagement:
                ctrl = new ucLogManagement();
                break;

            case UIFunctionEnum.CaseManagement:
                ctrl = new ucCaseManagement();
                break;

            case UIFunctionEnum.TagExport:
                ctrl = new ucTagExport();
                break;

            default:
                break;
            }

            return(ctrl);
        }
        public void OnUINavigatorEvent(UIFuncItemInfo funcItemInfo)
        {
            if (funcItemInfo.Function == UIFunctionEnum.Backward)
            {
                if (m_PreviousFuncItemInfo != null)
                {
                    OnUINavigatorEvent(m_PreviousFuncItemInfo);
                }
                return;
            }
            m_tabCtrlContainer.SuspendLayout();
            m_splitContainer.SuspendLayout();

            if (funcItemInfo.Function == UIFunctionEnum.ShowDownloadListForm)
            {
                if (m_FormDownloadInfoList == null)
                {
                    System.Diagnostics.Trace.WriteLine("m_FormDownloadInfoList = new FormDownloadInfoList()");
                    m_FormDownloadInfoList = new FormDownloadInfoList();
                    m_FormDownloadInfoList.StartPosition = FormStartPosition.CenterParent;
                    m_FormDownloadInfoList.FormClosed   += new FormClosedEventHandler(FormDownloadInfoList_FormClosed);
                    m_FormDownloadInfoList.Show(Framework.Container.Instance.MainControl);
                }
                else
                {
                    System.Diagnostics.Trace.WriteLine("m_FormDownloadInfoList.Show()");

                    m_FormDownloadInfoList.Show();
                }
            }

            funcItemInfo = Container.Instance.NaviRecord.GetSubItem(funcItemInfo);
            int oldSplitPosition = m_splitContainer.SplitterPosition;

            // m_tabCtrlContainer.SuspendLayout();

            ucContentBase tabPage = GetContentPage(funcItemInfo);

            if (tabPage != null)
            {
                this.m_captionLabel.Text    = funcItemInfo.Caption;
                this.m_captionLabel.Visible = tabPage.ShowCaption;

                tabPage.BringToFront();

                if (m_CurrentContentPage != null)
                {
                    if (!m_CurrentContentPage.RetainWhenDisppear)
                    {
                        RemovePage(m_CurrentFuncItemInfo, m_CurrentContentPage);

                        if (m_CurrentContentPage.ViewModel != null)
                        {
                            Framework.Container.Instance.VVMDataBindings.RemoveBindings(m_CurrentContentPage.ViewModel);
                        }
                    }
                    else
                    {
                        m_PreviousFuncItemInfo = m_CurrentFuncItemInfo;
                    }
                }

                m_CurrentContentPage = tabPage;

                if (funcItemInfo.Function == UIFunctionEnum.Backward)
                {
                    m_PreviousFuncItemInfo = null;
                    m_CurrentFuncItemInfo  = m_PreviousFuncItemInfo;
                }
                else
                {
                    m_CurrentFuncItemInfo = funcItemInfo;
                }

                int splitPosition;
                Container.Instance.NaviRecord.RegisterSubItem(funcItemInfo, oldSplitPosition, out splitPosition);

                if (splitPosition > -1)
                {
                    m_splitContainer.SplitterPosition = splitPosition;
                    object o = AppDomain.CurrentDomain.GetData("OCXContainer");
                    if (o == null)
                    {
                        m_splitContainer.PanelVisibility = (splitPosition == 0) ? SplitPanelVisibility.Panel2 : SplitPanelVisibility.Both;
                    }
                }
            }
            m_tabCtrlContainer.ResumeLayout();
            m_splitContainer.ResumeLayout();
        }