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(); }
/// <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; } }
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); } }
/// <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); }
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(); }