From 02cde90c53b4a80252be2944f6d53a368b7252ba Mon Sep 17 00:00:00 2001 From: Shuxia Ning <NingShuxia0927@outlook.com> Date: 星期一, 14 十月 2024 13:25:04 +0800 Subject: [PATCH] 冲突(变速曲线) --- WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/02-bimface/XhsProjectSimulationBimfaceCtrl.cs | 27 + WinFrmUI/Yw.WinFrmUI.Hydro.Core/09-mark/SetHydroMarkPureCtrl.Designer.cs | 99 ++++ WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/06-simulation/XhsProjectSimulationCorePage.resx | 18 WinFrmUI/Yw.WinFrmUI.Hydro.Core/00-core/05-mark/eWaterboxMarkType.cs | 54 ++ WinFrmUI/Yw.WinFrmUI.Hydro.Core/09-mark/SetHydroMarkCtrl.resx | 120 +++++ WinFrmUI/Yw.WinFrmUI.Hydro.Core/09-mark/SetHydroMarkDlg.cs | 41 + WinFrmUI/Yw.WinFrmUI.Bimface.Core/Yw.WinFrmUI.Bimface.Core.csproj | 4 WinFrmUI/Yw.WinFrmUI.Hydro.Core/09-mark/HydroMarkResultViewModel.cs | 18 WinFrmUI/Yw.WinFrmUI.Hydro.Core/00-core/05-mark/eNozzleMarkType.cs | 34 + WinFrmUI/Yw.WinFrmUI.Hydro.Core/09-mark/SetHydroMarkCtrl.Designer.cs | 174 +++++++ WinFrmUI/Yw.WinFrmUI.Hydro.Core/09-mark/SetHydroMarkPureCtrl.resx | 123 +++++ WinFrmUI/Yw.WinFrmUI.Bimface.Core/01-interop/01-interop3d/IBimfaceInterop3dContainer.cs | 14 WinFrmUI/Yw.WinFrmUI.Bimface.Core/00-core/LeadLabel.cs | 22 WinFrmUI/Yw.WinFrmUI.Bimface.Core/01-interop/01-interop3d/BimfaceInterop3dContainer.cs | 28 + WinFrmUI/Yw.WinFrmUI.Hydro.Core/09-mark/SetHydroMarkDlg.resx | 120 +++++ WinFrmUI/Yw.WinFrmUI.Hydro.Core/00-core/05-mark/ePipeMarkType.cs | 46 + WinFrmUI/Yw.WinFrmUI.Bimface.Core/bimface/js/LeadLabel.js | 65 ++ WinFrmUI/Yw.WinFrmUI.Hydro.Core/09-mark/SetHydroMarkDlg.Designer.cs | 59 ++ WinFrmUI/Yw.WinFrmUI.Hydro.Core/00-core/05-mark/ePumpMarkType.cs | 71 ++ WinFrmUI/Yw.WinFrmUI.Hydro.Core/Properties/DataSources/Yw.WinFrmUI.HydroMarkSetViewModel.datasource | 10 WinFrmUI/Yw.WinFrmUI.Hydro.Core/09-mark/HydroMarkSetViewModel.cs | 28 + WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/06-simulation/XhsProjectSimulationCorePage.Designer.cs | 15 WinFrmUI/Yw.WinFrmUI.Hydro.Core/Yw.WinFrmUI.Hydro.Core.csproj.user | 9 WinFrmUI/Yw.WinFrmUI.Hydro.Core/09-mark/SetHydroMarkCtrl.cs | 49 ++ WinFrmUI/Yw.WinFrmUI.Hydro.Core/09-mark/SetHydroMarkPureCtrl.cs | 102 ++++ WinFrmUI/Yw.WinFrmUI.Bimface.Core/bimface/html/Interop3d.html | 1 WinFrmUI/Yw.WinFrmUI.Hydro.Core/00-core/05-mark/eValveMarkType.cs | 43 + 27 files changed, 1,391 insertions(+), 3 deletions(-) diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/02-bimface/XhsProjectSimulationBimfaceCtrl.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/02-bimface/XhsProjectSimulationBimfaceCtrl.cs index cb283d1..7967ca7 100644 --- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/02-bimface/XhsProjectSimulationBimfaceCtrl.cs +++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/02-bimface/XhsProjectSimulationBimfaceCtrl.cs @@ -416,6 +416,26 @@ #endregion + #region 寮曠嚎鏍囩 + + /// <summary> + /// 璁剧疆寮曠嚎鏍囩 + /// </summary> + public async Task SetLeadLabels(List<LeadLabel> obj) + { + await _bimfaceInteropContainer?.SetLeadLabels(obj); + } + + /// <summary> + /// 娓呴櫎寮曠嚎鏍囩 + /// </summary> + public async Task ClearLeadLabels() + { + await _bimfaceInteropContainer?.ClearLeadLabels(); + } + + #endregion + #region 涓氬姟 @@ -488,7 +508,6 @@ } #endregion - #region 璁剧疆Open鏋勪欢棰滆壊 @@ -591,6 +610,12 @@ #endregion + #region 鏍囨敞 + + + + #endregion + #endregion diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/06-simulation/XhsProjectSimulationCorePage.Designer.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/06-simulation/XhsProjectSimulationCorePage.Designer.cs index 8410f9f..5fa3cbb 100644 --- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/06-simulation/XhsProjectSimulationCorePage.Designer.cs +++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/06-simulation/XhsProjectSimulationCorePage.Designer.cs @@ -71,6 +71,7 @@ controlContainerBottom = new DevExpress.XtraBars.Docking.ControlContainer(); svgImg32 = new DevExpress.Utils.SvgImageCollection(components); rmSet = new DevExpress.XtraBars.Ribbon.RadialMenu(components); + barBtnMark = new DevExpress.XtraBars.BarButtonItem(); ((ISupportInitialize)ribbonControl1).BeginInit(); ((ISupportInitialize)tabPane1).BeginInit(); tabPane1.SuspendLayout(); @@ -87,9 +88,9 @@ // ribbonControl1.ExpandCollapseItem.Id = 0; ribbonControl1.ItemPanelStyle = DevExpress.XtraBars.Ribbon.RibbonItemPanelStyle.Classic; - ribbonControl1.Items.AddRange(new DevExpress.XtraBars.BarItem[] { ribbonControl1.ExpandCollapseItem, barBtnHydroCheck, barBtnHydroCalcu, barBtnHydroExportInp, barBtnSave, barBtnHydroParterList, barBtnShowHide, barBtnMatchingList, barBtnUnMatchingList, barBtnSetList, barBtnSetPumpList, barBtnSetValveList, barBtnSetPipeList, barBtnSetElbowsList, barBtnSetThreelinkList, barBtnFourlinkList, barBtnSetTranslationList, barBtnSetExchangerList, barBtnSetJunctionList, barBtnFeatCurve, barBtnSearch }); + ribbonControl1.Items.AddRange(new DevExpress.XtraBars.BarItem[] { ribbonControl1.ExpandCollapseItem, barBtnHydroCheck, barBtnHydroCalcu, barBtnHydroExportInp, barBtnSave, barBtnHydroParterList, barBtnShowHide, barBtnMatchingList, barBtnUnMatchingList, barBtnSetList, barBtnSetPumpList, barBtnSetValveList, barBtnSetPipeList, barBtnSetElbowsList, barBtnSetThreelinkList, barBtnFourlinkList, barBtnSetTranslationList, barBtnSetExchangerList, barBtnSetJunctionList, barBtnFeatCurve, barBtnSearch, barBtnMark }); ribbonControl1.Location = new Point(0, 0); - ribbonControl1.MaxItemId = 33; + ribbonControl1.MaxItemId = 34; ribbonControl1.Name = "ribbonControl1"; ribbonControl1.Pages.AddRange(new DevExpress.XtraBars.Ribbon.RibbonPage[] { ribbonPage1 }); ribbonControl1.ShowApplicationButton = DevExpress.Utils.DefaultBoolean.False; @@ -271,6 +272,7 @@ pageGroupModel.ItemLinks.Add(barBtnHydroParterList); pageGroupModel.ItemLinks.Add(barBtnSetList); pageGroupModel.ItemLinks.Add(barBtnHydroExportInp); + pageGroupModel.ItemLinks.Add(barBtnMark); pageGroupModel.Name = "pageGroupModel"; pageGroupModel.Text = "妯″瀷"; // @@ -401,6 +403,14 @@ rmSet.Name = "rmSet"; rmSet.Ribbon = ribbonControl1; // + // barBtnMark + // + barBtnMark.Caption = "鏍囨敞"; + barBtnMark.Id = 33; + barBtnMark.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("barBtnMark.ImageOptions.SvgImage"); + barBtnMark.Name = "barBtnMark"; + barBtnMark.ItemClick += barBtnMark_ItemClick; + // // XhsProjectSimulationCorePage // Appearance.BackColor = SystemColors.Control; @@ -469,5 +479,6 @@ private DevExpress.XtraBars.Ribbon.RibbonPageGroup pageGroupModel; private DevExpress.XtraBars.Docking.DockPanel docPnlBottom; private DevExpress.XtraBars.Docking.ControlContainer controlContainerBottom; + private DevExpress.XtraBars.BarButtonItem barBtnMark; } } diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/06-simulation/XhsProjectSimulationCorePage.resx b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/06-simulation/XhsProjectSimulationCorePage.resx index 3ced769..178a1d9 100644 --- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/06-simulation/XhsProjectSimulationCorePage.resx +++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/06-simulation/XhsProjectSimulationCorePage.resx @@ -383,6 +383,24 @@ QmxhY2siIC8+DQogIDwvZz4NCjwvc3ZnPgs= </value> </data> + <data name="barBtnMark.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value> + AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40 + LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl + dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAHwCAAAC77u/ + PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi + IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv + MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh + Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg + MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5Z + ZWxsb3d7ZmlsbDojRkZCMTE1O30KCS5CbGFja3tmaWxsOiM3MjcyNzI7fQoJLkdyZWVue2ZpbGw6IzAz + OUMyMzt9CgkuUmVke2ZpbGw6I0QxMUMxQzt9Cgkuc3Qwe29wYWNpdHk6MC43NTt9Cgkuc3Qxe29wYWNp + dHk6MC41O30KPC9zdHlsZT4NCiAgPGcgaWQ9IkZsYWciPg0KICAgIDxwYXRoIGQ9Ik04LDRINUM0LjQs + NCw0LDQuNCw0LDV2MjJjMCwwLjUsMC40LDEsMSwxaDJjMC42LDAsMS0wLjUsMS0xVjR6IiBjbGFzcz0i + QmxhY2siIC8+DQogICAgPHBvbHlnb24gcG9pbnRzPSIyOCwyMCAxMCwyMCAxMCw0IDI4LDQgMjAsMTIg + ICIgY2xhc3M9IlJlZCIgLz4NCiAgPC9nPg0KPC9zdmc+Cw== +</value> + </data> <metadata name="dockManager1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <value>179, 21</value> </metadata> diff --git a/WinFrmUI/Yw.WinFrmUI.Bimface.Core/00-core/LeadLabel.cs b/WinFrmUI/Yw.WinFrmUI.Bimface.Core/00-core/LeadLabel.cs new file mode 100644 index 0000000..4605ad6 --- /dev/null +++ b/WinFrmUI/Yw.WinFrmUI.Bimface.Core/00-core/LeadLabel.cs @@ -0,0 +1,22 @@ +锘縩amespace Yw.WinFrmUI.Bimface +{ + /// <summary> + /// 寮曠嚎鏍囩 + /// </summary> + public class LeadLabel + { + /// <summary> + /// id + /// </summary> + [JsonProperty("id", NullValueHandling = NullValueHandling.Ignore)] + public string Id { get; set; } + + /// <summary> + /// 鏂囨湰 + /// </summary> + [JsonProperty("text", NullValueHandling = NullValueHandling.Ignore)] + public string Text { get; set; } + + + } +} diff --git a/WinFrmUI/Yw.WinFrmUI.Bimface.Core/01-interop/01-interop3d/BimfaceInterop3dContainer.cs b/WinFrmUI/Yw.WinFrmUI.Bimface.Core/01-interop/01-interop3d/BimfaceInterop3dContainer.cs index 686afa9..d32ac0b 100644 --- a/WinFrmUI/Yw.WinFrmUI.Bimface.Core/01-interop/01-interop3d/BimfaceInterop3dContainer.cs +++ b/WinFrmUI/Yw.WinFrmUI.Bimface.Core/01-interop/01-interop3d/BimfaceInterop3dContainer.cs @@ -446,5 +446,33 @@ #endregion + #region 寮曠嚎鏍囩 + + /// <summary> + /// 璁剧疆寮曠嚎鏍囩 + /// </summary> + public async Task SetLeadLabels(List<LeadLabel> obj) + { + if (!_isViewInitialized) + { + return; + } + await this.webViewControl1.EvaluateScriptAsync("setLeadLabels", obj); + } + + /// <summary> + /// 娓呴櫎寮曠嚎鏍囩 + /// </summary> + public async Task ClearLeadLabels() + { + if (!_isViewInitialized) + { + return; + } + await this.webViewControl1.EvaluateScriptAsync("clearLeadLabels()"); + } + + #endregion + } } diff --git a/WinFrmUI/Yw.WinFrmUI.Bimface.Core/01-interop/01-interop3d/IBimfaceInterop3dContainer.cs b/WinFrmUI/Yw.WinFrmUI.Bimface.Core/01-interop/01-interop3d/IBimfaceInterop3dContainer.cs index 1d58c2b..0777b21 100644 --- a/WinFrmUI/Yw.WinFrmUI.Bimface.Core/01-interop/01-interop3d/IBimfaceInterop3dContainer.cs +++ b/WinFrmUI/Yw.WinFrmUI.Bimface.Core/01-interop/01-interop3d/IBimfaceInterop3dContainer.cs @@ -164,5 +164,19 @@ #endregion + #region 寮曠嚎鏍囩 + + /// <summary> + /// 璁剧疆寮曠嚎鏍囩 + /// </summary> + Task SetLeadLabels(List<LeadLabel> obj); + + /// <summary> + /// 娓呴櫎寮曠嚎鏍囩 + /// </summary> + Task ClearLeadLabels(); + + #endregion + } } diff --git a/WinFrmUI/Yw.WinFrmUI.Bimface.Core/Yw.WinFrmUI.Bimface.Core.csproj b/WinFrmUI/Yw.WinFrmUI.Bimface.Core/Yw.WinFrmUI.Bimface.Core.csproj index 20f0322..2a37d93 100644 --- a/WinFrmUI/Yw.WinFrmUI.Bimface.Core/Yw.WinFrmUI.Bimface.Core.csproj +++ b/WinFrmUI/Yw.WinFrmUI.Bimface.Core/Yw.WinFrmUI.Bimface.Core.csproj @@ -39,6 +39,7 @@ <None Remove="bimface\js\CustomLabels.js" /> <None Remove="bimface\js\GetComponents.js" /> <None Remove="bimface\js\Layer.js" /> + <None Remove="bimface\js\LeadLabel.js" /> <None Remove="bimface\js\Panel.js" /> <None Remove="bimface\js\PipeFlow.js" /> <None Remove="bimface\js\SelectedComponents.js" /> @@ -89,6 +90,9 @@ <Content Include="bimface\js\Layer.js"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </Content> + <Content Include="bimface\js\LeadLabel.js"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </Content> <Content Include="bimface\js\Panel.js"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </Content> diff --git a/WinFrmUI/Yw.WinFrmUI.Bimface.Core/bimface/html/Interop3d.html b/WinFrmUI/Yw.WinFrmUI.Bimface.Core/bimface/html/Interop3d.html index d8ab3e0..49d94de 100644 --- a/WinFrmUI/Yw.WinFrmUI.Bimface.Core/bimface/html/Interop3d.html +++ b/WinFrmUI/Yw.WinFrmUI.Bimface.Core/bimface/html/Interop3d.html @@ -123,6 +123,7 @@ <script src="../js/ComponentsBlink.js"></script> <script src="../js/ComponentsColor.js"></script> <script src="../js/CustomLabels.js"></script> +<script src="../js/LeadLabel.js"></script> <script src="js/Background.js"></script> diff --git a/WinFrmUI/Yw.WinFrmUI.Bimface.Core/bimface/js/LeadLabel.js b/WinFrmUI/Yw.WinFrmUI.Bimface.Core/bimface/js/LeadLabel.js new file mode 100644 index 0000000..440399b --- /dev/null +++ b/WinFrmUI/Yw.WinFrmUI.Bimface.Core/bimface/js/LeadLabel.js @@ -0,0 +1,65 @@ +锘�//寮曠嚎鏍囩 + +let _leadLabelDrawableContainer = null; + +//璁剧疆寮曠嚎鏍囩 +function setLeadLabels(obj) { + // 鍒濆鍖朌rawableContainer + if (_leadLabelDrawableContainer == null) { + let leadLabeldrawableConfig = new Glodon.Bimface.Plugins.Drawable.DrawableContainerConfig(); + leadLabeldrawableConfig.viewer = _viewer; + _leadLabelDrawableContainer = new Glodon.Bimface.Plugins.Drawable.DrawableContainer(leadLabeldrawableConfig); + } + else { + _leadLabelDrawableContainer.clear(); + } + if (obj == null || obj.length < 1) { + return; + } + obj.forEach(item => { + addLeadLabel(item); + }); +} + +//娣诲姞寮曠嚎鏍囩 +function addLeadLabel(item) { + if (_leadLabelDrawableContainer == null) { + return; + } + //寮曠嚎鏍囩鐨勯厤缃被 + let leadLabelConfig = new Glodon.Bimface.Plugins.Drawable.LeadLabelConfig(); + //寮曠嚎鎶樼偣鐨勭浉瀵逛綅缃� + leadLabelConfig.offset = { x: 27, y: -47 }; + //寮曠嚎鏍囩鐨勫唴瀹� + leadLabelConfig.text = item.text; + //寮曠嚎鏍囩鍏宠仈鐨勬瀯浠� + leadLabelConfig.objectId = item.id; + + let boundingBox = _modeler.getBoundingBoxById(item.id); + let boundingBoxMin = boundingBox.min; + let boundingBoxMax = boundingBox.max; + //寮曠嚎鏍囩鐨勪笘鐣屽潗鏍� + leadLabelConfig.worldPosition = { + x: (boundingBoxMin.x + boundingBoxMax.x) / 2, + y: (boundingBoxMin.y + boundingBoxMax.y) / 2, + z: (boundingBoxMin.z + boundingBoxMax.z) / 2 + }; + //寮曠嚎鏍囩鏄惁鍙嫋鎷� + leadLabelConfig.draggable = false; + //寮曠嚎鏍囩鐨勮鍥� + leadLabelConfig.viewer = _viewer; + + let leadLabel = new Glodon.Bimface.Plugins.Drawable.LeadLabel(leadLabelConfig); + _leadLabelDrawableContainer.addItem(leadLabel); +} + +//娓呴櫎寮曠嚎鏍囩 +function clearLeadLabels() { + if (_leadLabelDrawableContainer == null) { + return; + } + _leadLabelDrawableContainer.clear(); +} + + + diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/00-core/05-mark/eNozzleMarkType.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/00-core/05-mark/eNozzleMarkType.cs new file mode 100644 index 0000000..4abf73f --- /dev/null +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/00-core/05-mark/eNozzleMarkType.cs @@ -0,0 +1,34 @@ +锘縩amespace Yw.WinFrmUI.Hydro +{ + /// <summary> + /// 鍠峰槾鏍囨敞绫诲瀷 + /// </summary> + public enum eNozzleMarkType + { + /// <summary> + /// 鏃� + /// </summary> + [Display(Name = "鏃�")] + None = 0, + + /// <summary> + /// 鏍囬珮 + /// </summary> + [Display(Name = "鏍囬珮")] + Elev = 1, + + /// <summary> + /// 闇�姘撮噺 + /// </summary> + [Display(Name = "闇�姘撮噺")] + Demand = 2, + + /// <summary> + /// 鍠峰皠绯绘暟 + /// </summary> + [Display(Name = "鍠峰皠绯绘暟")] + Coefficient = 4, + + + } +} diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/00-core/05-mark/ePipeMarkType.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/00-core/05-mark/ePipeMarkType.cs new file mode 100644 index 0000000..82d1b9d --- /dev/null +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/00-core/05-mark/ePipeMarkType.cs @@ -0,0 +1,46 @@ +锘縩amespace Yw.WinFrmUI.Hydro +{ + /// <summary> + /// 绠¢亾鏍囨敞绫诲瀷 + /// </summary> + public enum ePipeMarkType + { + /// <summary> + /// 鏃� + /// </summary> + [Display(Name = "鏃�")] + None = 0, + + /// <summary> + /// 绠¢亾鐘舵�� + /// </summary> + [Display(Name = "绠¢亾鐘舵��")] + PipeStatus = 1, + + /// <summary> + /// 鐩村緞锛坢m锛� + /// </summary> + [Display(Name = "鐩村緞")] + Diameter = 2, + + /// <summary> + /// 鐩村緞锛坢锛� + /// </summary> + [Display(Name = "鐩村緞")] + Length = 3, + + /// <summary> + /// 绮楃硻绯绘暟 + /// </summary> + [Display(Name = "绮楃硻绯绘暟")] + Roughness = 4, + + /// <summary> + /// 灞�闃荤郴鏁� + /// </summary> + [Display(Name = "灞�闃荤郴鏁�")] + MinorLoss = 5, + + + } +} diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/00-core/05-mark/ePumpMarkType.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/00-core/05-mark/ePumpMarkType.cs new file mode 100644 index 0000000..c3facd3 --- /dev/null +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/00-core/05-mark/ePumpMarkType.cs @@ -0,0 +1,71 @@ +锘縩amespace Yw.WinFrmUI.Hydro +{ + /// <summary> + /// 姘存车鏍囨敞绫诲瀷 + /// </summary> + public enum ePumpMarkType + { + /// <summary> + /// 鏃� + /// </summary> + [Display(Name = "鏃�")] + None = 0, + + /// <summary> + /// 姘存车鐘舵�� + /// </summary> + [Display(Name = "杩愯鐘舵��")] + PumpStatus = 1, + + /// <summary> + /// 棰濆畾鍔熺巼锛坘W锛� + /// </summary> + [Display(Name = "棰濆畾鍔熺巼")] + RatedP = 2, + + /// <summary> + /// 棰濆畾娴侀噺 (m鲁/h) + /// </summary> + [Display(Name = "棰濆畾娴侀噺")] + RatedQ = 3, + + /// <summary> + /// 棰濆畾鎵▼ (m) + /// </summary> + [Display(Name = "棰濆畾鎵▼")] + RatedH = 4, + + /// <summary> + /// 棰濆畾杞�� (r/min) + /// </summary> + [Display(Name = "棰濆畾杞��")] + RatedN = 5, + + /// <summary> + /// 棰濆畾棰戠巼 + /// </summary> + [Display(Name = "棰濆畾棰戠巼")] + RatedHz = 6, + + /// <summary> + /// 杞�� (r/min) + /// </summary> + [Display(Name = "杞��")] + CurrentN = 7, + + /// <summary> + /// 棰戠巼 + /// </summary> + [Display(Name = "棰戠巼")] + CurrentHz = 8, + + + + + + + + + + } +} diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/00-core/05-mark/eValveMarkType.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/00-core/05-mark/eValveMarkType.cs new file mode 100644 index 0000000..4ec641e --- /dev/null +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/00-core/05-mark/eValveMarkType.cs @@ -0,0 +1,43 @@ +锘縩amespace Yw.WinFrmUI.Hydro +{ + /// <summary> + /// 闃�闂ㄦ爣娉ㄧ被鍨� + /// </summary> + public enum eValveMarkType + { + /// <summary> + /// 鏃� + /// </summary> + [Display(Name = "鏃�")] + None = 0, + + /// <summary> + /// 闃�闂ㄧ姸鎬� + /// </summary> + [Display(Name = "闃�闂ㄧ姸鎬�")] + ValveStatus = 1, + + /// <summary> + /// 闃�闂ㄧ被鍨� + /// </summary> + [Display(Name = "闃�闂ㄧ被鍨�")] + ValveType = 2, + + /// <summary> + /// 鐩村緞 (mm) + /// </summary> + [Display(Name = "鐩村緞")] + Diameter = 3, + + /// <summary> + /// 灞�闃荤郴鏁� + /// </summary> + [Display(Name = "灞�闃荤郴鏁�")] + MinorLoss = 4, + + + + + + } +} diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/00-core/05-mark/eWaterboxMarkType.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/00-core/05-mark/eWaterboxMarkType.cs new file mode 100644 index 0000000..a4f7623 --- /dev/null +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/00-core/05-mark/eWaterboxMarkType.cs @@ -0,0 +1,54 @@ +锘縩amespace Yw.WinFrmUI.Hydro +{ + /// <summary> + /// 姘寸鏍囨敞绫诲瀷 + /// </summary> + public enum eWaterboxMarkType + { + /// <summary> + /// 鏃� + /// </summary> + [Display(Name = "鏃�")] + None = 0, + + /// <summary> + /// 姹犲簳鏍囬珮锛坢锛� + /// </summary> + [Display(Name = "姹犲簳鏍囬珮")] + PoolElev = 1, + + /// <summary> + /// 鍒濆姘翠綅锛坢锛� + /// </summary> + [Display(Name = "鍒濆姘翠綅")] + InitLevel = 2, + + /// <summary> + /// 鏈�灏忔按浣嶏紙m锛� + /// </summary> + [Display(Name = "鏈�灏忔按浣�")] + MinLevel = 3, + + /// <summary> + /// 鏈�澶ф按浣嶏紙m锛� + /// </summary> + [Display(Name = "鏈�澶ф按浣�")] + MaxLevel = 4, + + /// <summary> + /// 鐩村緞锛坢锛� + /// </summary> + [Display(Name = "鐩村緞")] + Diameter = 5, + + /// <summary> + /// 鏈�灏忓绉紙m鲁锛� + /// </summary> + [Display(Name = "鏈�灏忓绉�")] + MinVol = 6 + + + + + } +} diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/09-mark/HydroMarkResultViewModel.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/09-mark/HydroMarkResultViewModel.cs new file mode 100644 index 0000000..2b7bff9 --- /dev/null +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/09-mark/HydroMarkResultViewModel.cs @@ -0,0 +1,18 @@ +锘縩amespace Yw.WinFrmUI +{ + /// <summary> + /// + /// </summary> + public class HydroMarkResultViewModel + { + /// <summary> + /// 缂栫爜 + /// </summary> + public string Code { get; set; } + + /// <summary> + /// 鏂囨湰 + /// </summary> + public string Text { get; set; } + } +} diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/09-mark/HydroMarkSetViewModel.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/09-mark/HydroMarkSetViewModel.cs new file mode 100644 index 0000000..9020495 --- /dev/null +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/09-mark/HydroMarkSetViewModel.cs @@ -0,0 +1,28 @@ +锘縩amespace Yw.WinFrmUI +{ + /// <summary> + /// + /// </summary> + public class HydroMarkSetViewModel + { + /// <summary> + /// 鍒嗙被 + /// </summary> + [DisplayName("鍒嗙被")] + public string Code { get; set; } + + /// <summary> + /// 绫诲瀷 + /// </summary> + [DisplayName("绫诲瀷")] + public string Name { get; set; } + + /// <summary> + /// 鏍囨敞 + /// </summary> + [DisplayName("鏍囨敞")] + public int MarkType { get; set; } + + + } +} diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/09-mark/SetHydroMarkCtrl.Designer.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/09-mark/SetHydroMarkCtrl.Designer.cs new file mode 100644 index 0000000..cf2e5e2 --- /dev/null +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/09-mark/SetHydroMarkCtrl.Designer.cs @@ -0,0 +1,174 @@ +锘縩amespace Yw.WinFrmUI +{ + partial class SetHydroMarkCtrl + { + /// <summary> + /// Required designer variable. + /// </summary> + private System.ComponentModel.IContainer components = null; + + /// <summary> + /// Clean up any resources being used. + /// </summary> + /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param> + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Component Designer generated code + + /// <summary> + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// </summary> + private void InitializeComponent() + { + layoutControl1 = new DevExpress.XtraLayout.LayoutControl(); + btnOk = new DevExpress.XtraEditors.SimpleButton(); + btnCancel = new DevExpress.XtraEditors.SimpleButton(); + setHydroMarkPureCtrl1 = new SetHydroMarkPureCtrl(); + Root = new DevExpress.XtraLayout.LayoutControlGroup(); + layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem(); + layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem(); + layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem(); + emptySpaceItem1 = new DevExpress.XtraLayout.EmptySpaceItem(); + ((ISupportInitialize)layoutControl1).BeginInit(); + layoutControl1.SuspendLayout(); + ((ISupportInitialize)Root).BeginInit(); + ((ISupportInitialize)layoutControlItem1).BeginInit(); + ((ISupportInitialize)layoutControlItem2).BeginInit(); + ((ISupportInitialize)layoutControlItem3).BeginInit(); + ((ISupportInitialize)emptySpaceItem1).BeginInit(); + SuspendLayout(); + // + // layoutControl1 + // + layoutControl1.Controls.Add(btnOk); + layoutControl1.Controls.Add(btnCancel); + layoutControl1.Controls.Add(setHydroMarkPureCtrl1); + layoutControl1.Dock = DockStyle.Fill; + layoutControl1.Location = new Point(0, 0); + layoutControl1.Name = "layoutControl1"; + layoutControl1.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new Rectangle(670, 266, 650, 400); + layoutControl1.Root = Root; + layoutControl1.Size = new Size(398, 555); + layoutControl1.TabIndex = 0; + layoutControl1.Text = "layoutControl1"; + // + // btnOk + // + btnOk.Appearance.BackColor = DevExpress.LookAndFeel.DXSkinColors.FillColors.Primary; + btnOk.Appearance.Options.UseBackColor = true; + btnOk.Location = new Point(222, 531); + btnOk.Name = "btnOk"; + btnOk.Size = new Size(85, 22); + btnOk.StyleController = layoutControl1; + btnOk.TabIndex = 6; + btnOk.Text = "纭畾"; + btnOk.Click += btnOk_Click; + // + // btnCancel + // + btnCancel.Appearance.BackColor = DevExpress.LookAndFeel.DXSkinColors.FillColors.Warning; + btnCancel.Appearance.Options.UseBackColor = true; + btnCancel.Location = new Point(311, 531); + btnCancel.Name = "btnCancel"; + btnCancel.Size = new Size(85, 22); + btnCancel.StyleController = layoutControl1; + btnCancel.TabIndex = 5; + btnCancel.Text = "鍙栨秷"; + btnCancel.Click += btnCancel_Click; + // + // setHydroMarkPureCtrl1 + // + setHydroMarkPureCtrl1.Location = new Point(2, 2); + setHydroMarkPureCtrl1.Name = "setHydroMarkPureCtrl1"; + setHydroMarkPureCtrl1.Size = new Size(394, 525); + setHydroMarkPureCtrl1.TabIndex = 4; + // + // Root + // + Root.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True; + Root.GroupBordersVisible = false; + Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { layoutControlItem1, layoutControlItem2, layoutControlItem3, emptySpaceItem1 }); + Root.Name = "Root"; + Root.Padding = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0); + Root.Size = new Size(398, 555); + Root.TextVisible = false; + // + // layoutControlItem1 + // + layoutControlItem1.Control = setHydroMarkPureCtrl1; + layoutControlItem1.Location = new Point(0, 0); + layoutControlItem1.Name = "layoutControlItem1"; + layoutControlItem1.Size = new Size(398, 529); + layoutControlItem1.TextSize = new Size(0, 0); + layoutControlItem1.TextVisible = false; + // + // layoutControlItem2 + // + layoutControlItem2.Control = btnCancel; + layoutControlItem2.Location = new Point(309, 529); + layoutControlItem2.MaxSize = new Size(89, 26); + layoutControlItem2.MinSize = new Size(89, 26); + layoutControlItem2.Name = "layoutControlItem2"; + layoutControlItem2.Size = new Size(89, 26); + layoutControlItem2.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + layoutControlItem2.TextSize = new Size(0, 0); + layoutControlItem2.TextVisible = false; + // + // layoutControlItem3 + // + layoutControlItem3.Control = btnOk; + layoutControlItem3.Location = new Point(220, 529); + layoutControlItem3.MaxSize = new Size(89, 26); + layoutControlItem3.MinSize = new Size(89, 26); + layoutControlItem3.Name = "layoutControlItem3"; + layoutControlItem3.Size = new Size(89, 26); + layoutControlItem3.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + layoutControlItem3.TextSize = new Size(0, 0); + layoutControlItem3.TextVisible = false; + // + // emptySpaceItem1 + // + emptySpaceItem1.AllowHotTrack = false; + emptySpaceItem1.Location = new Point(0, 529); + emptySpaceItem1.Name = "emptySpaceItem1"; + emptySpaceItem1.Size = new Size(220, 26); + emptySpaceItem1.TextSize = new Size(0, 0); + // + // SetHydroMarkCtrl + // + AutoScaleDimensions = new SizeF(7F, 14F); + AutoScaleMode = AutoScaleMode.Font; + Controls.Add(layoutControl1); + Name = "SetHydroMarkCtrl"; + Size = new Size(398, 555); + ((ISupportInitialize)layoutControl1).EndInit(); + layoutControl1.ResumeLayout(false); + ((ISupportInitialize)Root).EndInit(); + ((ISupportInitialize)layoutControlItem1).EndInit(); + ((ISupportInitialize)layoutControlItem2).EndInit(); + ((ISupportInitialize)layoutControlItem3).EndInit(); + ((ISupportInitialize)emptySpaceItem1).EndInit(); + ResumeLayout(false); + } + + #endregion + + private DevExpress.XtraLayout.LayoutControl layoutControl1; + private DevExpress.XtraEditors.SimpleButton btnOk; + private DevExpress.XtraEditors.SimpleButton btnCancel; + private SetHydroMarkPureCtrl setHydroMarkPureCtrl1; + private DevExpress.XtraLayout.LayoutControlGroup Root; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem3; + private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem1; + } +} diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/09-mark/SetHydroMarkCtrl.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/09-mark/SetHydroMarkCtrl.cs new file mode 100644 index 0000000..fee072b --- /dev/null +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/09-mark/SetHydroMarkCtrl.cs @@ -0,0 +1,49 @@ +锘縩amespace Yw.WinFrmUI +{ + public partial class SetHydroMarkCtrl : DevExpress.XtraEditors.XtraUserControl + { + public SetHydroMarkCtrl() + { + InitializeComponent(); + this.layoutControl1.SetupLayoutControl(); + } + + /// <summary> + /// + /// </summary> + public event Action<List<HydroMarkResultViewModel>> ReloadDataEvent; + /// <summary> + /// + /// </summary> + public event Action OkEvent; + /// <summary> + /// + /// </summary> + public event Action CancelEvent; + + + /// <summary> + /// + /// </summary> + public void SetBindingData(Func<Yw.Model.HydroModelInfo> hydroInfoFunc, List<HydroMarkSetViewModel> list) + { + this.setHydroMarkPureCtrl1.SetBindingData(hydroInfoFunc, list); + } + + + private void btnCancel_Click(object sender, EventArgs e) + { + var list = this.setHydroMarkPureCtrl1.GetResultList(); + this.ReloadDataEvent?.Invoke(list); + this.OkEvent?.Invoke(); + + } + + private void btnOk_Click(object sender, EventArgs e) + { + this.CancelEvent?.Invoke(); + } + + + } +} diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/09-mark/SetHydroMarkCtrl.resx b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/09-mark/SetHydroMarkCtrl.resx new file mode 100644 index 0000000..af32865 --- /dev/null +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/09-mark/SetHydroMarkCtrl.resx @@ -0,0 +1,120 @@ +锘�<?xml version="1.0" encoding="utf-8"?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>[base64 mime encoded serialized .NET Framework object]</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" /> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="xsd:string" /> + <xsd:attribute name="type" type="xsd:string" /> + <xsd:attribute name="mimetype" type="xsd:string" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string" /> + <xsd:attribute name="name" type="xsd:string" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" /> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> +</root> \ No newline at end of file diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/09-mark/SetHydroMarkDlg.Designer.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/09-mark/SetHydroMarkDlg.Designer.cs new file mode 100644 index 0000000..472e1b6 --- /dev/null +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/09-mark/SetHydroMarkDlg.Designer.cs @@ -0,0 +1,59 @@ +锘縩amespace Yw.WinFrmUI +{ + partial class SetHydroMarkDlg + { + /// <summary> + /// Required designer variable. + /// </summary> + private System.ComponentModel.IContainer components = null; + + /// <summary> + /// Clean up any resources being used. + /// </summary> + /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param> + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// <summary> + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// </summary> + private void InitializeComponent() + { + setHydroMarkCtrl1 = new SetHydroMarkCtrl(); + SuspendLayout(); + // + // setHydroMarkCtrl1 + // + setHydroMarkCtrl1.Dock = DockStyle.Fill; + setHydroMarkCtrl1.Location = new Point(10, 5); + setHydroMarkCtrl1.Name = "setHydroMarkCtrl1"; + setHydroMarkCtrl1.Size = new Size(397, 510); + setHydroMarkCtrl1.TabIndex = 0; + // + // SetHydroMarkDlg + // + AutoScaleDimensions = new SizeF(7F, 14F); + AutoScaleMode = AutoScaleMode.Font; + ClientSize = new Size(417, 525); + Controls.Add(setHydroMarkCtrl1); + Name = "SetHydroMarkDlg"; + Padding = new Padding(10, 5, 10, 10); + StartPosition = FormStartPosition.CenterParent; + Text = "鏍囨敞"; + ResumeLayout(false); + } + + #endregion + + private SetHydroMarkCtrl setHydroMarkCtrl1; + } +} \ No newline at end of file diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/09-mark/SetHydroMarkDlg.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/09-mark/SetHydroMarkDlg.cs new file mode 100644 index 0000000..ff2ac13 --- /dev/null +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/09-mark/SetHydroMarkDlg.cs @@ -0,0 +1,41 @@ +锘縩amespace Yw.WinFrmUI +{ + public partial class SetHydroMarkDlg : DevExpress.XtraEditors.XtraForm + { + public SetHydroMarkDlg() + { + InitializeComponent(); + this.IconOptions.Icon = Yw.WinFrmUI.GlobalParas.AppIcon; + this.setHydroMarkCtrl1.CancelEvent += () => + { + this.DialogResult = DialogResult.Cancel; + this.Close(); + }; + this.setHydroMarkCtrl1.OkEvent += () => + { + this.DialogResult = DialogResult.OK; + this.Close(); + }; + this.setHydroMarkCtrl1.ReloadDataEvent += (obj) => + { + this.ReloadDataEvent?.Invoke(obj); + }; + } + + /// <summary> + /// + /// </summary> + public event Action<List<HydroMarkResultViewModel>> ReloadDataEvent; + + /// <summary> + /// + /// </summary> + public void SetBindingData(Func<Yw.Model.HydroModelInfo> hydroInfoFunc, List<HydroMarkSetViewModel> list) + { + this.setHydroMarkCtrl1.SetBindingData(hydroInfoFunc, list); + } + + + + } +} \ No newline at end of file diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/09-mark/SetHydroMarkDlg.resx b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/09-mark/SetHydroMarkDlg.resx new file mode 100644 index 0000000..af32865 --- /dev/null +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/09-mark/SetHydroMarkDlg.resx @@ -0,0 +1,120 @@ +锘�<?xml version="1.0" encoding="utf-8"?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>[base64 mime encoded serialized .NET Framework object]</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" /> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="xsd:string" /> + <xsd:attribute name="type" type="xsd:string" /> + <xsd:attribute name="mimetype" type="xsd:string" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string" /> + <xsd:attribute name="name" type="xsd:string" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" /> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> +</root> \ No newline at end of file diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/09-mark/SetHydroMarkPureCtrl.Designer.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/09-mark/SetHydroMarkPureCtrl.Designer.cs new file mode 100644 index 0000000..f083523 --- /dev/null +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/09-mark/SetHydroMarkPureCtrl.Designer.cs @@ -0,0 +1,99 @@ +锘縩amespace Yw.WinFrmUI +{ + partial class SetHydroMarkPureCtrl + { + /// <summary> + /// Required designer variable. + /// </summary> + private System.ComponentModel.IContainer components = null; + + /// <summary> + /// Clean up any resources being used. + /// </summary> + /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param> + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Component Designer generated code + + /// <summary> + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// </summary> + private void InitializeComponent() + { + components = new Container(); + gridControl1 = new DevExpress.XtraGrid.GridControl(); + hydroMarkSetViewModelBindingSource = new BindingSource(components); + gridView1 = new DevExpress.XtraGrid.Views.Grid.GridView(); + colName = new DevExpress.XtraGrid.Columns.GridColumn(); + colMarkType = new DevExpress.XtraGrid.Columns.GridColumn(); + ((ISupportInitialize)gridControl1).BeginInit(); + ((ISupportInitialize)hydroMarkSetViewModelBindingSource).BeginInit(); + ((ISupportInitialize)gridView1).BeginInit(); + SuspendLayout(); + // + // gridControl1 + // + gridControl1.DataSource = hydroMarkSetViewModelBindingSource; + gridControl1.Dock = DockStyle.Fill; + gridControl1.Location = new Point(0, 0); + gridControl1.MainView = gridView1; + gridControl1.Name = "gridControl1"; + gridControl1.Size = new Size(355, 443); + gridControl1.TabIndex = 0; + gridControl1.ViewCollection.AddRange(new DevExpress.XtraGrid.Views.Base.BaseView[] { gridView1 }); + // + // hydroMarkSetViewModelBindingSource + // + hydroMarkSetViewModelBindingSource.DataSource = typeof(HydroMarkSetViewModel); + // + // gridView1 + // + gridView1.Columns.AddRange(new DevExpress.XtraGrid.Columns.GridColumn[] { colName, colMarkType }); + gridView1.GridControl = gridControl1; + gridView1.Name = "gridView1"; + // + // colName + // + colName.FieldName = "Name"; + colName.Name = "colName"; + colName.OptionsColumn.AllowEdit = false; + colName.Visible = true; + colName.VisibleIndex = 0; + // + // colMarkType + // + colMarkType.FieldName = "MarkType"; + colMarkType.Name = "colMarkType"; + colMarkType.Visible = true; + colMarkType.VisibleIndex = 1; + // + // SetHydroMarkPureCtrl + // + AutoScaleDimensions = new SizeF(7F, 14F); + AutoScaleMode = AutoScaleMode.Font; + Controls.Add(gridControl1); + Name = "SetHydroMarkPureCtrl"; + Size = new Size(355, 443); + ((ISupportInitialize)gridControl1).EndInit(); + ((ISupportInitialize)hydroMarkSetViewModelBindingSource).EndInit(); + ((ISupportInitialize)gridView1).EndInit(); + ResumeLayout(false); + } + + #endregion + + private DevExpress.XtraGrid.GridControl gridControl1; + private DevExpress.XtraGrid.Views.Grid.GridView gridView1; + private BindingSource hydroMarkSetViewModelBindingSource; + private DevExpress.XtraGrid.Columns.GridColumn colName; + private DevExpress.XtraGrid.Columns.GridColumn colMarkType; + } +} diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/09-mark/SetHydroMarkPureCtrl.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/09-mark/SetHydroMarkPureCtrl.cs new file mode 100644 index 0000000..26bf46f --- /dev/null +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/09-mark/SetHydroMarkPureCtrl.cs @@ -0,0 +1,102 @@ +锘縰sing DevExpress.XtraEditors.Repository; +using DevExpress.XtraRichEdit.Design; +using Yw.WinFrmUI.Hydro; + +namespace Yw.WinFrmUI +{ + public partial class SetHydroMarkPureCtrl : DevExpress.XtraEditors.XtraUserControl + { + public SetHydroMarkPureCtrl() + { + InitializeComponent(); + this.gridView1.SetNormalEditView(); + this.colName.OptionsColumn.AllowEdit = false; + this.gridView1.CustomRowCellEdit += GridView1_CustomRowCellEdit; + } + + private Func<Yw.Model.HydroModelInfo> _hydroInfoFunc; + private BindingList<HydroMarkSetViewModel> _allBindingList = null; + + /// <summary> + /// + /// </summary> + public void SetBindingData(Func<Yw.Model.HydroModelInfo> hydroInfoFunc, List<HydroMarkSetViewModel> list) + { + _hydroInfoFunc = hydroInfoFunc; + _allBindingList = new BindingList<HydroMarkSetViewModel>(); + list?.ForEach(x => + { + _allBindingList.Add(x); + }); + this.hydroMarkSetViewModelBindingSource.DataSource = _allBindingList; + this.hydroMarkSetViewModelBindingSource.ResetBindings(false); + } + + /// <summary> + /// 鑾峰彇缁撴灉鍒楄〃 + /// </summary> + /// <returns></returns> + public List<HydroMarkResultViewModel> GetResultList() + { + var hydroInfo = _hydroInfoFunc?.Invoke(); + if (hydroInfo == null) + { + return default; + } + if (_allBindingList == null || _allBindingList.Count < 1) + { + return default; + } + var resultList = new List<HydroMarkResultViewModel>(); + + + return resultList; + } + + //鑷畾涔� + private void GridView1_CustomRowCellEdit(object sender, DevExpress.XtraGrid.Views.Grid.CustomRowCellEditEventArgs e) + { + var row = this.gridView1.GetRow(e.RowHandle) as HydroMarkSetViewModel; + if (row == null) + { + return; + } + if (e.Column == this.colMarkType) + { + var repositoryItem = new RepositoryItemImageComboBox(); + switch (row.Code) + { + case Yw.Hydro.ParterCatalog.Waterbox: + { + repositoryItem.AddEnum(typeof(eWaterboxMarkType), true); + } + break; + case Yw.Hydro.ParterCatalog.Pump: + { + repositoryItem.AddEnum(typeof(ePumpMarkType), true); + } + break; + case Yw.Hydro.ParterCatalog.Valve: + { + repositoryItem.AddEnum(typeof(eValveMarkType), true); + } + break; + case Yw.Hydro.ParterCatalog.Pipe: + { + repositoryItem.AddEnum(typeof(ePipeMarkType), true); + } + break; + case Yw.Hydro.ParterCatalog.Nozzle: + { + repositoryItem.AddEnum(typeof(eNozzleMarkType), true); + } + break; + default: break; + } + e.RepositoryItem = repositoryItem; + } + } + + + } +} diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/09-mark/SetHydroMarkPureCtrl.resx b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/09-mark/SetHydroMarkPureCtrl.resx new file mode 100644 index 0000000..cf7d79a --- /dev/null +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/09-mark/SetHydroMarkPureCtrl.resx @@ -0,0 +1,123 @@ +锘�<?xml version="1.0" encoding="utf-8"?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>[base64 mime encoded serialized .NET Framework object]</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" /> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="xsd:string" /> + <xsd:attribute name="type" type="xsd:string" /> + <xsd:attribute name="mimetype" type="xsd:string" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string" /> + <xsd:attribute name="name" type="xsd:string" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" /> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <metadata name="hydroMarkSetViewModelBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> + <value>17, 17</value> + </metadata> +</root> \ No newline at end of file diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/Properties/DataSources/Yw.WinFrmUI.HydroMarkSetViewModel.datasource b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/Properties/DataSources/Yw.WinFrmUI.HydroMarkSetViewModel.datasource new file mode 100644 index 0000000..08ba3f1 --- /dev/null +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/Properties/DataSources/Yw.WinFrmUI.HydroMarkSetViewModel.datasource @@ -0,0 +1,10 @@ +锘�<?xml version="1.0" encoding="utf-8"?> +<!-- + This file is automatically generated by Visual Studio. It is + used to store generic object data source configuration information. + Renaming the file extension or editing the content of this file may + cause the file to be unrecognizable by the program. +--> +<GenericObjectDataSource DisplayName="HydroMarkSetViewModel" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource"> + <TypeInfo>Yw.WinFrmUI.HydroMarkSetViewModel, Yw.WinFrmUI.Hydro.Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo> +</GenericObjectDataSource> \ No newline at end of file diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/Yw.WinFrmUI.Hydro.Core.csproj.user b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/Yw.WinFrmUI.Hydro.Core.csproj.user index 245a492..a97c654 100644 --- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/Yw.WinFrmUI.Hydro.Core.csproj.user +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/Yw.WinFrmUI.Hydro.Core.csproj.user @@ -34,5 +34,14 @@ <Compile Update="06-q3d\HydroQ3dViewPage.cs"> <SubType>UserControl</SubType> </Compile> + <Compile Update="09-mark\SetHydroMarkCtrl.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="09-mark\SetHydroMarkDlg.cs"> + <SubType>Form</SubType> + </Compile> + <Compile Update="09-mark\SetHydroMarkPureCtrl.cs"> + <SubType>UserControl</SubType> + </Compile> </ItemGroup> </Project> \ No newline at end of file -- Gitblit v1.9.3