From 1e387f457092df846ec04e2c6792b83244aae04e Mon Sep 17 00:00:00 2001 From: duheng <2784771470@qq.com> Date: 星期六, 07 十二月 2024 12:09:23 +0800 Subject: [PATCH] Merge branch 'master' of http://47.103.154.90:83/r/HStation/XHS.V1.0 --- WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/XhsProjectSimulationMgrPage.cs | 227 ++++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 209 insertions(+), 18 deletions(-) diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/XhsProjectSimulationMgrPage.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/XhsProjectSimulationMgrPage.cs index 09062f4..37f5caf 100644 --- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/XhsProjectSimulationMgrPage.cs +++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/XhsProjectSimulationMgrPage.cs @@ -1,4 +1,6 @@ -锘縰sing DevExpress.XtraBars.Docking; +锘縰sing DevExpress.Drawing; +using DevExpress.Utils.Svg; +using DevExpress.XtraBars.Docking; using DevExpress.XtraBars.Docking2010.Views; using Yw.Vmo; using Yw.WinFrmUI.Page; @@ -13,16 +15,22 @@ this.PageTitle.Caption = "姘村姏妯℃嫙"; this.PageTitle.HeaderSvgImage = this.svgImg32[0]; this.PageTitle.SvgImageSize = new Size(24, 24); - this.xhsProjectSimulationFunctionMgrCtrl1.ShowProjectSiteInfoEvent += XhsProjectSimulationFunctionMgrCtrl1_ShowProjectSiteInfoEvent; - this.xhsProjectSimulationFunctionMgrCtrl1.ShowProjectSiteSimulationEvent += XhsProjectSimulationFunctionMgrCtrl1_ShowProjectSiteSimulationEvent; - this.xhsProjectSimulationFunctionMgrCtrl1.ShowProjectSiteWorkingEvent += XhsProjectSimulationFunctionMgrCtrl1_ShowProjectSiteWorkingEvent; - this.xhsProjectSimulationFunctionMgrCtrl1.ProjectSiteWorkingCheckedEvent += XhsProjectSimulationFunctionMgrCtrl1_ProjectSiteWorkingCheckedEvent; - this.xhsProjectSimulationFunctionMgrCtrl1.CreateProjectSiteSchemeEvent += XhsProjectSimulationFunctionMgrCtrl1_CreateProjectSiteSchemeEvent; + this.simulationFunctionMgrCtrl1.ShowProjectSiteInfoEvent += XhsProjectSimulationFunctionMgrCtrl1_ShowProjectSiteInfoEvent; + this.simulationFunctionMgrCtrl1.ShowProjectSiteSimulationEvent += XhsProjectSimulationFunctionMgrCtrl1_ShowProjectSiteSimulationEvent; + this.simulationFunctionMgrCtrl1.ShowProjectSiteWorkingEvent += XhsProjectSimulationFunctionMgrCtrl1_ShowProjectSiteWorkingEvent; + this.simulationFunctionMgrCtrl1.ProjectSiteWorkingUpdateEvent += XhsProjectSimulationFunctionMgrCtrl1_ProjectSiteWorkingUpdateEvent; + this.simulationFunctionMgrCtrl1.ProjectSiteWorkingRemoveEvent += XhsProjectSimulationFunctionMgrCtrl1_ProjectSiteWorkingRemoveEvent; + this.simulationFunctionMgrCtrl1.ProjectSiteWorkingCheckedEvent += XhsProjectSimulationFunctionMgrCtrl1_ProjectSiteWorkingCheckedEvent; + this.simulationFunctionMgrCtrl1.CreateProjectSiteSchemeEvent += XhsProjectSimulationFunctionMgrCtrl1_CreateProjectSiteSchemeEvent; + this.simulationFunctionMgrCtrl1.ShowProjectSiteSchemeEvent += XhsProjectSimulationFunctionMgrCtrl1_ShowProjectSiteSchemeEvent; + this.simulationFunctionMgrCtrl1.ShowProjectSiteSchemeWorkingEvent += XhsProjectSimulationFunctionMgrCtrl1_ShowProjectSiteSchemeWorkingEvent; + this.simulationFunctionMgrCtrl1.ProjectSiteSchemeWorkingCheckedEvent += SimulationFunctionMgrCtrl1_ProjectSiteSchemeWorkingCheckedEvent; + this.simulationFunctionMgrCtrl1.ProjectSiteSchemeWorkingUpdateEvent += SimulationFunctionMgrCtrl1_ProjectSiteSchemeWorkingUpdateEvent; + this.simulationFunctionMgrCtrl1.ProjectSiteSchemeWorkingRemoveEvent += SimulationFunctionMgrCtrl1_ProjectSiteSchemeWorkingRemoveEvent; } private XhsProjectVmo _project = null;//椤圭洰 private object _locker = new object();//閿佸畾瀵硅薄 - /// <summary> /// 鍒濆鍖栨暟鎹簮 @@ -34,7 +42,7 @@ { return; } - await this.xhsProjectSimulationFunctionMgrCtrl1.SetBindingData(_project); + await this.simulationFunctionMgrCtrl1.SetBindingData(_project); } /// <summary> @@ -63,7 +71,7 @@ //鏄剧ず椤圭洰绔欐鍐典簨浠� private void XhsProjectSimulationFunctionMgrCtrl1_ShowProjectSiteInfoEvent - (XhsProjectVmo project, XhsProjectSiteVmo projectSite, Yw.Model.HydroModelInfo hydroInfo, DevExpress.Utils.Svg.SvgImage svgImage) + (XhsProjectVmo project, XhsProjectSiteVmo projectSite, Yw.Model.HydroModelInfo hydroInfo, SvgImage svgImage) { lock (_locker) { @@ -85,7 +93,7 @@ //鏄剧ず椤圭洰绔欐按鍔涙ā鎷熶簨浠� private void XhsProjectSimulationFunctionMgrCtrl1_ShowProjectSiteSimulationEvent - (XhsProjectVmo project, XhsProjectSiteVmo projectSite, Yw.Model.HydroModelInfo hydroInfo, Dictionary<HydroWorkingVmo, bool> allWorkingCheckedListDict, DevExpress.Utils.Svg.SvgImage svgImage) + (XhsProjectVmo project, XhsProjectSiteVmo projectSite, Yw.Model.HydroModelInfo hydroInfo, Dictionary<HydroWorkingVmo, bool> allWorkingCheckedListDict, SvgImage svgImage) { lock (_locker) { @@ -102,7 +110,7 @@ page.PageTitle.HeaderSvgImage = svgImage; page.AppendWorkingEvent += (working) => { - this.xhsProjectSimulationFunctionMgrCtrl1.AppendWorking(working); + this.simulationFunctionMgrCtrl1.AppendWorking(working); }; page.SetBindingData(project, projectSite, hydroInfo, allWorkingCheckedListDict); CreatePage(page, guid); @@ -112,7 +120,7 @@ //鏄剧ず椤圭洰绔欏伐鍐典簨浠� private void XhsProjectSimulationFunctionMgrCtrl1_ShowProjectSiteWorkingEvent - (XhsProjectVmo project, XhsProjectSiteVmo projectSite, Yw.Model.HydroModelInfo hydroInfo, HydroWorkingVmo working, DevExpress.Utils.Svg.SvgImage svgImage) + (XhsProjectVmo project, XhsProjectSiteVmo projectSite, Yw.Model.HydroModelInfo hydroInfo, HydroWorkingVmo working, SvgImage svgImage) { lock (_locker) { @@ -126,11 +134,67 @@ if (!IsExistPage(guid, true)) { var page = new XhsProjectSimulationWorkingPage(); + page.UpdateWorkingEvent += (rhs) => + { + this.simulationFunctionMgrCtrl1.UpdateWorking(rhs); + }; + page.RemoveWorkingEvent += (rhs) => + { + this.simulationFunctionMgrCtrl1.RemoveWorking(rhs); + }; page.PageTitle.HeaderSvgImage = svgImage; page.SetBindingData(project, projectSite, hydroInfo, working); CreatePage(page, guid); } } + } + + //椤圭洰绔欏伐鍐垫洿鏂颁簨浠� + private void XhsProjectSimulationFunctionMgrCtrl1_ProjectSiteWorkingUpdateEvent + (XhsProjectVmo project, XhsProjectSiteVmo projectSite, Yw.Model.HydroModelInfo hydroInfo, HydroWorkingVmo working) + { + var guid = new PageGuid() + { + Modular = this.PageGuid.Modular, + MoudingType = eMoudingType.Tab, + Function = SimulationFunctionHelper.Simulation, + TagName = projectSite.ID.ToString() + }; + var page = FindPage(guid); + if (page == null) + { + return; + } + var ctrl = page as XhsProjectSimulationCorePage; + if (ctrl == null) + { + return; + } + ctrl.UpdateWorkingCheckedList(working); + } + + //椤圭洰绔欏伐鍐电Щ闄や簨浠� + private void XhsProjectSimulationFunctionMgrCtrl1_ProjectSiteWorkingRemoveEvent + (XhsProjectVmo project, XhsProjectSiteVmo projectSite, Yw.Model.HydroModelInfo hydroInfo, HydroWorkingVmo working) + { + var guid = new PageGuid() + { + Modular = this.PageGuid.Modular, + MoudingType = eMoudingType.Tab, + Function = SimulationFunctionHelper.Simulation, + TagName = projectSite.ID.ToString() + }; + var page = FindPage(guid); + if (page == null) + { + return; + } + var ctrl = page as XhsProjectSimulationCorePage; + if (ctrl == null) + { + return; + } + ctrl.RemoveWorkingCheckedList(working); } //椤圭洰绔欏伐鍐甸�夋嫨鏀瑰彉浜嬩欢 @@ -158,17 +222,146 @@ } //椤圭洰绔欐柟妗堝垱寤轰簨浠� - private async void XhsProjectSimulationFunctionMgrCtrl1_CreateProjectSiteSchemeEvent - (XhsProjectVmo project, XhsProjectSiteVmo projectSite, DevExpress.Utils.Svg.SvgImage svgImage) + private void XhsProjectSimulationFunctionMgrCtrl1_CreateProjectSiteSchemeEvent + (XhsProjectVmo project, XhsProjectSiteVmo projectSite, Yw.Model.HydroModelInfo hydroInfo, SvgImage svgImage) { + WaitFormHelper.ShowWaitForm(this.FindForm(), "姝e湪鍔犺浇妯″瀷锛岃绋嶄警..."); var dlg = new AddXhsSchemeDlg(); - - await dlg.SetBindingData(project, projectSite, null); + dlg.Shown += delegate { WaitFormHelper.HideWaitForm(this.FindForm()); }; + dlg.ReloadDataEvent += (rhs) => + { + this.simulationFunctionMgrCtrl1.AppendScheme(rhs); + }; + dlg.SetBindingData(project, projectSite, hydroInfo); dlg.ShowDialog(); } + //鏄剧ず椤圭洰绔欐柟妗堜簨浠� + private void XhsProjectSimulationFunctionMgrCtrl1_ShowProjectSiteSchemeEvent + (XhsProjectVmo project, XhsProjectSiteVmo projectSite, XhsSchemeVmo scheme, Yw.Model.HydroModelInfo hydroInfo, Dictionary<HydroWorkingVmo, bool> dict, SvgImage svgImage) + { + lock (_locker) + { + var guid = new PageGuid() + { + Modular = this.PageGuid.Modular, + MoudingType = eMoudingType.Tab, + Function = SimulationFunctionHelper.Scheme, + TagName = scheme.ID.ToString() + }; + if (!IsExistPage(guid, true)) + { + var page = new XhsProjectSimulationSchemePage(); + page.PageTitle.HeaderSvgImage = svgImage; + page.AppendWorkingEvent += (working) => + { + this.simulationFunctionMgrCtrl1.AppendSchemeWorking(scheme, working); + }; + page.SetBindingData(project, projectSite, scheme, hydroInfo, dict); + CreatePage(page, guid); + } + } + } + //鏄剧ず椤圭洰绔欐柟妗堝伐鍐典簨浠� + private void XhsProjectSimulationFunctionMgrCtrl1_ShowProjectSiteSchemeWorkingEvent + (XhsProjectVmo project, XhsProjectSiteVmo projectSite, XhsSchemeVmo scheme, Yw.Model.HydroModelInfo hydroInfo, HydroWorkingVmo working, SvgImage svgImage) + { + lock (_locker) + { + var guid = new PageGuid() + { + Modular = this.PageGuid.Modular, + MoudingType = eMoudingType.Tab, + Function = SimulationFunctionHelper.Working, + TagName = working.ID.ToString() + }; + if (!IsExistPage(guid, true)) + { + var page = new XhsProjectSimulationWorkingPage(); + page.PageTitle.HeaderSvgImage = svgImage; + page.UpdateWorkingEvent += (rhs) => + { + this.simulationFunctionMgrCtrl1.UpdateSchemeWorking(scheme, rhs); + }; + page.RemoveWorkingEvent += (rhs) => + { + this.simulationFunctionMgrCtrl1.RemoveSchemeWorking(scheme, rhs); + }; + page.SetBindingData(project, projectSite, scheme, hydroInfo, working); + CreatePage(page, guid); + } + } + } + //椤圭洰绔欐柟妗堝伐鍐甸�夋嫨鏀瑰彉浜嬩欢 + private void SimulationFunctionMgrCtrl1_ProjectSiteSchemeWorkingCheckedEvent(XhsSchemeVmo scheme, HydroWorkingVmo working, bool hasChecked) + { + var guid = new PageGuid() + { + Modular = this.PageGuid.Modular, + MoudingType = eMoudingType.Tab, + Function = SimulationFunctionHelper.Scheme, + TagName = scheme.ID.ToString() + }; + var page = FindPage(guid); + if (page == null) + { + return; + } + var ctrl = page as XhsProjectSimulationSchemePage; + if (ctrl == null) + { + return; + } + ctrl.UpdateWorkingCheckedList(working, hasChecked); + } + + //椤圭洰绔欐柟妗堝伐鍐垫洿鏂颁簨浠� + private void SimulationFunctionMgrCtrl1_ProjectSiteSchemeWorkingUpdateEvent(XhsSchemeVmo scheme, HydroWorkingVmo working) + { + var guid = new PageGuid() + { + Modular = this.PageGuid.Modular, + MoudingType = eMoudingType.Tab, + Function = SimulationFunctionHelper.Scheme, + TagName = scheme.ID.ToString() + }; + var page = FindPage(guid); + if (page == null) + { + return; + } + var ctrl = page as XhsProjectSimulationSchemePage; + if (ctrl == null) + { + return; + } + + } + + //椤圭洰绔欐柟妗堝伐鍐电Щ闄や簨浠� + private void SimulationFunctionMgrCtrl1_ProjectSiteSchemeWorkingRemoveEvent(XhsSchemeVmo scheme, HydroWorkingVmo working) + { + var guid = new PageGuid() + { + Modular = this.PageGuid.Modular, + MoudingType = eMoudingType.Tab, + Function = SimulationFunctionHelper.Scheme, + TagName = scheme.ID.ToString() + }; + var page = FindPage(guid); + if (page == null) + { + return; + } + var ctrl = page as XhsProjectSimulationSchemePage; + if (ctrl == null) + { + return; + } + + } #endregion @@ -405,7 +598,6 @@ docPnl.Show(); } break; - case eMoudingType.Tab: { this.tabbedView1.BeginUpdate(); @@ -424,7 +616,6 @@ this.tabbedView1.Controller.Activate(doc); } break; - default: break; } page.InitialDataSource(); -- Gitblit v1.9.3