WinFrmUI/Yw.WinFrmUI.Hydro.Core/00-core/HydroQ3dTransferHelper.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,375 @@ using Yw.WinFrmUI.Q3d; namespace Yw.WinFrmUI { /// <summary> /// Q3d转æ¢è¾ å©ç±» /// </summary> public static class HydroQ3dTransferHelper { /// <summary> /// /// </summary> public static NetworkViewModel ToNetworkViewModel(this Yw.Model.HydroModelInfo rhs) { if (rhs == null) { return default; } var vm = new NetworkViewModel(); if (rhs.Junctions != null && rhs.Junctions.Count > 0) { foreach (var junction in rhs.Junctions) { var junctionViewModel = new JunctionViewModel(); junctionViewModel.ID = junction.Code; junctionViewModel.Name = junction.Name; junctionViewModel.Position3D = new PointF3D((float)junction.Position3d.X, (float)junction.Position3d.Y, (float)junction.Position3d.Z); vm.Nodes.Add(junctionViewModel); } } if (rhs.Nozzles != null && rhs.Nozzles.Count > 0) { foreach (var nozzle in rhs.Nozzles) { var nozzleViewModel = new NozzleViewModel(); nozzleViewModel.ID = nozzle.Code; nozzleViewModel.Name = nozzle.Name; nozzleViewModel.Position3D = new PointF3D((float)nozzle.Position3d.X, (float)nozzle.Position3d.Y, (float)nozzle.Position3d.Z); vm.Nodes.Add(nozzleViewModel); } } if (rhs.Hydrants != null && rhs.Hydrants.Count > 0) { foreach (var hydrant in rhs.Hydrants) { var hydrantViewModel = new JunctionViewModel(); hydrantViewModel.ID = hydrant.Code; hydrantViewModel.Name = hydrant.Name; hydrantViewModel.Position3D = new PointF3D((float)hydrant.Position3d.X, (float)hydrant.Position3d.Y, (float)hydrant.Position3d.Z); vm.Nodes.Add(hydrantViewModel); } } if (rhs.Elbows != null && rhs.Elbows.Count > 0) { foreach (var elbow in rhs.Elbows) { var elbowViewModel = new JunctionViewModel(); elbowViewModel.ID = elbow.Code; elbowViewModel.Name = elbow.Name; elbowViewModel.Position3D = new PointF3D((float)elbow.Position3d.X, (float)elbow.Position3d.Y, (float)elbow.Position3d.Z); vm.Nodes.Add(elbowViewModel); } } if (rhs.Threelinks != null && rhs.Threelinks.Count > 0) { foreach (var threelink in rhs.Threelinks) { var threelinkViewModel = new JunctionViewModel(); threelinkViewModel.ID = threelink.Code; threelinkViewModel.Name = threelink.Name; threelinkViewModel.Position3D = new PointF3D((float)threelink.Position3d.X, (float)threelink.Position3d.Y, (float)threelink.Position3d.Z); vm.Nodes.Add(threelinkViewModel); } } if (rhs.Fourlinks != null && rhs.Fourlinks.Count > 0) { foreach (var fourlink in rhs.Fourlinks) { var fourlinkViewModel = new JunctionViewModel(); fourlinkViewModel.ID = fourlink.Code; fourlinkViewModel.Name = fourlink.Name; fourlinkViewModel.Position3D = new PointF3D((float)fourlink.Position3d.X, (float)fourlink.Position3d.Y, (float)fourlink.Position3d.Z); vm.Nodes.Add(fourlinkViewModel); } } if (rhs.Meters != null && rhs.Meters.Count > 0) { foreach (var meter in rhs.Meters) { var meterViewModel = new MeterViewModel(); meterViewModel.ID = meter.Code; meterViewModel.Name = meter.Name; meterViewModel.Position3D = new PointF3D((float)meter.Position3d.X, (float)meter.Position3d.Y, (float)meter.Position3d.Z); vm.Nodes.Add(meterViewModel); } } if (rhs.Flowmeters != null && rhs.Flowmeters.Count > 0) { foreach (var flowmeter in rhs.Flowmeters) { var flowmeterViewModel = new JunctionViewModel(); flowmeterViewModel.ID = flowmeter.Code; flowmeterViewModel.Name = flowmeter.Name; flowmeterViewModel.Position3D = new PointF3D((float)flowmeter.Position3d.X, (float)flowmeter.Position3d.Y, (float)flowmeter.Position3d.Z); vm.Nodes.Add(flowmeterViewModel); } } if (rhs.Pressmeters != null && rhs.Pressmeters.Count > 0) { foreach (var pressmeter in rhs.Pressmeters) { var pressmeterViewModel = new JunctionViewModel(); pressmeterViewModel.ID = pressmeter.Code; pressmeterViewModel.Name = pressmeter.Name; pressmeterViewModel.Position3D = new PointF3D((float)pressmeter.Position3d.X, (float)pressmeter.Position3d.Y, (float)pressmeter.Position3d.Z); vm.Nodes.Add(pressmeterViewModel); } } if (rhs.Bluntheads != null && rhs.Bluntheads.Count > 0) { foreach (var blunthead in rhs.Bluntheads) { var bluntheadViewModel = new JunctionViewModel(); bluntheadViewModel.ID = blunthead.Code; bluntheadViewModel.Name = blunthead.Name; bluntheadViewModel.Position3D = new PointF3D((float)blunthead.Position3d.X, (float)blunthead.Position3d.Y, (float)blunthead.Position3d.Z); vm.Nodes.Add(bluntheadViewModel); } } if (rhs.Reservoirs != null && rhs.Reservoirs.Count > 0) { foreach (var reservoir in rhs.Reservoirs) { var reservoirViewModel = new ReservoirViewModel(); reservoirViewModel.ID = reservoir.Code; reservoirViewModel.Name = reservoir.Name; reservoirViewModel.Position3D = new PointF3D((float)reservoir.Position3d.X, (float)reservoir.Position3d.Y, (float)reservoir.Position3d.Z); vm.Nodes.Add(reservoirViewModel); } } if (rhs.Tanks != null && rhs.Tanks.Count > 0) { foreach (var tank in rhs.Tanks) { var tankViewModel = new TankViewModel(); tankViewModel.ID = tank.Code; tankViewModel.Name = tank.Name; tankViewModel.Position3D = new PointF3D((float)tank.Position3d.X, (float)tank.Position3d.Y, (float)tank.Position3d.Z); vm.Nodes.Add(tankViewModel); } } if (rhs.Waterboxs != null && rhs.Waterboxs.Count > 0) { foreach (var waterbox in rhs.Waterboxs) { var waterboxViewModel = new TankViewModel(); waterboxViewModel.ID = waterbox.Code; waterboxViewModel.Name = waterbox.Name; waterboxViewModel.Position3D = new PointF3D((float)waterbox.Position3d.X, (float)waterbox.Position3d.Y, (float)waterbox.Position3d.Z); vm.Nodes.Add(waterboxViewModel); } } if (rhs.Pipes != null && rhs.Pipes.Count > 0) { foreach (var pipe in rhs.Pipes) { var pipeViewModel = new PipeViewModel(); pipeViewModel.ID = pipe.Code; pipeViewModel.Name = pipe.Name; pipeViewModel.StartNode = vm.Nodes.Find(x => x.ID == pipe.StartCode); pipeViewModel.EndNode = vm.Nodes.Find(x => x.ID == pipe.EndCode); vm.Links.Add(pipeViewModel); } } if (rhs.Translations != null && rhs.Translations.Count > 0) { foreach (var translation in rhs.Translations) { var translationViewModel = new PipeViewModel(); translationViewModel.ID = translation.Code; translationViewModel.Name = translation.Name; translationViewModel.StartNode = vm.Nodes.Find(x => x.ID == translation.StartCode); translationViewModel.EndNode = vm.Nodes.Find(x => x.ID == translation.EndCode); vm.Links.Add(translationViewModel); } } if (rhs.Exchangers != null && rhs.Exchangers.Count > 0) { foreach (var exchanger in rhs.Exchangers) { var exchangerViewModel = new PipeViewModel(); exchangerViewModel.ID = exchanger.Code; exchangerViewModel.Name = exchanger.Name; exchangerViewModel.StartNode = vm.Nodes.Find(x => x.ID == exchanger.StartCode); exchangerViewModel.EndNode = vm.Nodes.Find(x => x.ID == exchanger.EndCode); vm.Links.Add(exchangerViewModel); } } if (rhs.Pumps != null && rhs.Pumps.Count > 0) { foreach (var pump in rhs.Pumps) { var pumpViewModel = new PumpViewModel(); pumpViewModel.ID = pump.Code; pumpViewModel.Name = pump.Name; pumpViewModel.StartNode = vm.Nodes.Find(x => x.ID == pump.StartCode); pumpViewModel.EndNode = vm.Nodes.Find(x => x.ID == pump.EndCode); vm.Links.Add(pumpViewModel); } } if (rhs.Valves != null && rhs.Valves.Count > 0) { foreach (var valve in rhs.Valves) { var valveViewModel = new ValveViewModel(); valveViewModel.ID = valve.Code; valveViewModel.Name = valve.Name; valveViewModel.StartNode = vm.Nodes.Find(x => x.ID == valve.StartCode); valveViewModel.EndNode = vm.Nodes.Find(x => x.ID == valve.EndCode); vm.Links.Add(valveViewModel); } } return vm; } /// <summary> /// è½¬æ¢ /// </summary> /// <param name="info">模åä¿¡æ¯</param> /// <returns></returns> public static object Transfer(Yw.Model.HydroModelInfo info) { if (info == null) { return default; } //var netWork = new HyView.MapViewNetWork(); //netWork.Nodes = new HyView.NodeViewModelList(); //netWork.Links = new HyView.LinkViewModelList(); //è¿æ¥èç¹ if (info.Junctions != null && info.Junctions.Count > 0) { foreach (var junction in info.Junctions) { //var junctionModel = new HyView.JunctionViewModel(); //junctionModel.ID = junction.Code; //junctionModel.Name = junction.Name; //junctionModel.X = (float)junction.Position3d.X; //junctionModel.Y = (float)junction.Position3d.Y; ////junctionModel.Z = (float)junction.Position3d.Z; //junctionModel.Position3D = new HyView.PointF3D((float)junction.Position3d.X, (float)junction.Position3d.Y, (float)junction.Position3d.Z); //junctionModel.Elev = (float)junction.Elev; //junctionModel.Demand = junction.Demand.HasValue ? (float)junction.Demand.Value : 0; //junctionModel.PatternID = junction.DemandPattern; ////junctionModel.Status = StatusType.DEFAULT; //netWork.Nodes.Add(junctionModel); //netWork.Nodes.Add(junctionModel); } } //æ°´åº if (info.Reservoirs != null && info.Reservoirs.Count > 0) { foreach (var reservoir in info.Reservoirs) { //var reservoirModel = new HyView.ReservoirViewModel(); //reservoirModel.ID = reservoir.Code; //reservoirModel.Name = reservoir.Name; //reservoirModel.X = (float)reservoir.Position3d.X; //reservoirModel.Y = (float)reservoir.Position3d.Y; ////reservoirModel.Z = (float)reservoir.Position3d.Z; //reservoirModel.Demand = 0; //reservoirModel.Head = (float)reservoir.Head; //reservoirModel.PatternID = reservoir.HeadPattern; //reservoirModel.Position3D = new HyView.PointF3D((float)reservoir.Position3d.X, (float)reservoir.Position3d.Y, (float)reservoir.Position3d.Z); //netWork.Nodes.Add(reservoirModel); } } //æ°´æ± if (info.Tanks != null && info.Tanks.Count > 0) { foreach (var tank in info.Tanks) { //var tankModel = new HyView.TankViewModel(); //tankModel.ID = tank.Code; //tankModel.Name = tank.Name; //tankModel.X = (float)tank.Position3d.X; //tankModel.Y = (float)tank.Position3d.Y; ////tankModel.Z = (float)tank.Position3d.Z; //tankModel.Demand = 0; //tankModel.Diameter = (float)tank.Diameter; //tankModel.Elev = (float)tank.PoolElev; //tankModel.InitLevel = (float)tank.InitLevel; //tankModel.MinLevel = (float)tank.MinLevel; //tankModel.MaxLevel = (float)tank.MaxLevel; //tankModel.MinVol = (float)tank.MinVol; //tankModel.VolCurve = tank.VolCurve; //tankModel.Position3D = new HyView.PointF3D((float)tank.Position3d.X, (float)tank.Position3d.Y, (float)tank.Position3d.Z); //netWork.Nodes.Add(tankModel); } } //管é if (info.Pipes != null && info.Pipes.Count > 0) { foreach (var pipe in info.Pipes) { //var pipeModel = new HyView.PipeViewModel(); //pipeModel.ID = pipe.Code; //pipeModel.Name = pipe.Name; //// pipeModel.Status = StatusType.OPEN; //pipeModel.StartNode = netWork.Nodes.Find(x => x.ID == pipe.StartCode); //pipeModel.EndNode = netWork.Nodes.Find(x => x.ID == pipe.EndCode); //pipeModel.Diameter = (float)pipe.Diameter; //pipeModel.Length = (float)pipe.Length; //pipeModel.Roughness = (float)pipe.Roughness; //pipeModel.MinorLoss = (float)pipe.MinorLoss; //netWork.Links.Add(pipeModel); } } //æ°´æ³µ if (info.Pumps != null && info.Pumps.Count > 0) { foreach (var pump in info.Pumps) { //var pumpModel = new HyView.PumpViewModel(); //pumpModel.ID = pump.Code; //pumpModel.Name = pump.Name; ////pumpModel.Status = StatusType.OPEN; //pumpModel.StartNode = netWork.Nodes.Find(x => x.ID == pump.StartCode); //pumpModel.EndNode = netWork.Nodes.Find(x => x.ID == pump.EndCode); //pumpModel.HeadCurve = pump.CurveQH; //netWork.Links.Add(pumpModel); } } //éé¨ if (info.Valves != null && info.Valves.Count > 0) { foreach (var valve in info.Valves) { //var valveModel = new HyView.ValveViewModel(); //valveModel.ID = valve.Code; //valveModel.Name = valve.Name; ////valveModel.Status = StatusType.OPEN; //valveModel.StartNode = netWork.Nodes.Find(x => x.ID == valve.StartCode); //valveModel.EndNode = netWork.Nodes.Find(x => x.ID == valve.EndCode); //valveModel.Diameter = (float)valve.Diameter; //valveModel.Type = valve.ValveType; //valveModel.Setting = valve.ValveSetting; //netWork.Links.Add(valveModel); } } return default; } } } WinFrmUI/Yw.WinFrmUI.Hydro.Core/02-model/HydroModelMgrPage.Designer.cs
@@ -46,6 +46,7 @@ barBtnViewModel = new DevExpress.XtraBars.BarButtonItem(); barBtnCalcuModel = new DevExpress.XtraBars.BarButtonItem(); barBtnValidModel = new DevExpress.XtraBars.BarButtonItem(); barBtnExportInp = new DevExpress.XtraBars.BarButtonItem(); ribbonPage1 = new DevExpress.XtraBars.Ribbon.RibbonPage(); ribPageGrpBaseMgr = new DevExpress.XtraBars.Ribbon.RibbonPageGroup(); ribbonPageGroup2 = new DevExpress.XtraBars.Ribbon.RibbonPageGroup(); @@ -63,7 +64,7 @@ colDescription = new DevExpress.XtraGrid.Columns.GridColumn(); colDetail = new DevExpress.XtraGrid.Columns.GridColumn(); repositoryItemButtonEdit1 = new DevExpress.XtraEditors.Repository.RepositoryItemButtonEdit(); barBtnExportInp = new DevExpress.XtraBars.BarButtonItem(); barBtnParter = new DevExpress.XtraBars.BarButtonItem(); ((ISupportInitialize)ribbonControl1).BeginInit(); ((ISupportInitialize)svgImage32).BeginInit(); ((ISupportInitialize)panelControl1).BeginInit(); @@ -78,9 +79,9 @@ // ribbonControl1.ExpandCollapseItem.Id = 0; ribbonControl1.ItemPanelStyle = DevExpress.XtraBars.Ribbon.RibbonItemPanelStyle.Classic; ribbonControl1.Items.AddRange(new DevExpress.XtraBars.BarItem[] { ribbonControl1.ExpandCollapseItem, barBtnDelete, barBtnDetail, barBtnEdit, barBtnAdd, barBtnUp, barBtnDown, barBtnRefresh, barBtnViewModel, barBtnCalcuModel, barBtnValidModel, barBtnExportInp }); ribbonControl1.Items.AddRange(new DevExpress.XtraBars.BarItem[] { ribbonControl1.ExpandCollapseItem, barBtnDelete, barBtnDetail, barBtnEdit, barBtnAdd, barBtnUp, barBtnDown, barBtnRefresh, barBtnViewModel, barBtnCalcuModel, barBtnValidModel, barBtnExportInp, barBtnParter }); ribbonControl1.Location = new Point(1, 1); ribbonControl1.MaxItemId = 21; ribbonControl1.MaxItemId = 22; ribbonControl1.Name = "ribbonControl1"; ribbonControl1.Pages.AddRange(new DevExpress.XtraBars.Ribbon.RibbonPage[] { ribbonPage1 }); ribbonControl1.ShowApplicationButton = DevExpress.Utils.DefaultBoolean.False; @@ -168,6 +169,14 @@ barBtnValidModel.Name = "barBtnValidModel"; barBtnValidModel.ItemClick += barBtnValidModel_ItemClick; // // barBtnExportInp // barBtnExportInp.Caption = "导åºINP"; barBtnExportInp.Id = 20; barBtnExportInp.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("barBtnExportInp.ImageOptions.SvgImage"); barBtnExportInp.Name = "barBtnExportInp"; barBtnExportInp.ItemClick += barBtnExportInp_ItemClick; // // ribbonPage1 // ribbonPage1.Groups.AddRange(new DevExpress.XtraBars.Ribbon.RibbonPageGroup[] { ribPageGrpBaseMgr, ribbonPageGroup2, ribbonPageGroup1 }); @@ -189,6 +198,7 @@ ribbonPageGroup2.ItemLinks.Add(barBtnCalcuModel); ribbonPageGroup2.ItemLinks.Add(barBtnValidModel); ribbonPageGroup2.ItemLinks.Add(barBtnExportInp); ribbonPageGroup2.ItemLinks.Add(barBtnParter); ribbonPageGroup2.Name = "ribbonPageGroup2"; ribbonPageGroup2.Text = "æ°´å"; // @@ -304,13 +314,13 @@ repositoryItemButtonEdit1.Name = "repositoryItemButtonEdit1"; repositoryItemButtonEdit1.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.HideTextEditor; // // barBtnExportInp // barBtnParter // barBtnExportInp.Caption = "导åºINP"; barBtnExportInp.Id = 20; barBtnExportInp.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("barBtnExportInp.ImageOptions.SvgImage"); barBtnExportInp.Name = "barBtnExportInp"; barBtnExportInp.ItemClick += barBtnExportInp_ItemClick; barBtnParter.Caption = "ç»ä»¶"; barBtnParter.Id = 21; barBtnParter.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("barBtnParter.ImageOptions.SvgImage"); barBtnParter.Name = "barBtnParter"; barBtnParter.ItemClick += barBtnParter_ItemClick; // // HydroModelMgrPage // @@ -365,5 +375,6 @@ protected DevExpress.XtraBars.BarButtonItem barBtnCalcuModel; protected DevExpress.XtraBars.BarButtonItem barBtnValidModel; private DevExpress.XtraBars.BarButtonItem barBtnExportInp; private DevExpress.XtraBars.BarButtonItem barBtnParter; } } WinFrmUI/Yw.WinFrmUI.Hydro.Core/02-model/HydroModelMgrPage.cs
@@ -3,6 +3,7 @@ using DevExpress.XtraEditors; using Yw.EPAnet; using Yw.EPAnet.Calcu; using Yw.WinFrmUI.Page; namespace Yw.WinFrmUI { @@ -83,9 +84,22 @@ /// <summary> /// æ¥ç模å /// </summary> protected virtual void ViewModel(Yw.Dto.HydroModelDto dto) protected virtual async void ViewModel(Yw.Dto.HydroModelDto dto) { var info = await new Yw.BLL.HydroModelInfo().GetByID(dto.ID); var guid = new PageGuid() { Modular = "Hydro", MoudingType = eMoudingType.Tab, Function = "HydroQ3d", TagName = info.ID.ToString() }; if (!IsExistPage(guid, true)) { var page = new HydroQ3dViewPage(); page.SetBindingData(info); CreatePage(page, guid); } } /// <summary> @@ -214,6 +228,20 @@ XtraMessageBox.Show(result); } //ç»ä»¶ private async void barBtnParter_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { var vm = GetCurrentViewModel(); if (vm == null) { return; } var info = await new Yw.BLL.HydroModelInfo().GetByID(vm.ID); var dlg = new HydroParterListDlg(); dlg.SetBindingData(info); dlg.Show(); } //ä¸ç§» private void barBtnUp_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { @@ -238,5 +266,6 @@ } } WinFrmUI/Yw.WinFrmUI.Hydro.Core/02-model/HydroModelMgrPage.resx
@@ -343,6 +343,27 @@ IDwvZz4NCjwvc3ZnPgs= </value> </data> <data name="barBtnParter.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> <value> AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40 LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAACUDAAAC77u/ PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLlllbGxvd3tmaWxsOiNGRkIxMTU7fQoJ LlJlZHtmaWxsOiNEMTFDMUM7fQoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5HcmVlbntmaWxsOiMwMzlD MjM7fQoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh Y2l0eTowLjc1O30KPC9zdHlsZT4NCiAgPGcgaWQ9Ik1lbnUiPg0KICAgIDxwYXRoIGQ9Ik0yLDEwVjNj MC0wLjUsMC41LTEsMS0xaDI2YzAuNSwwLDEsMC41LDEsMXY3SDJ6IE05LDEyYy0xLjcsMC0zLDEuMy0z LDNzMS4zLDMsMywzczMtMS4zLDMtM1MxMC43LDEyLDksMTJ6ICAgIE05LDIwYy0xLjcsMC0zLDEuMy0z LDNzMS4zLDMsMywzczMtMS4zLDMtM1MxMC43LDIwLDksMjB6IiBjbGFzcz0iQmx1ZSIgLz4NCiAgICA8 cGF0aCBkPSJNMzAsMTB2MTljMCwwLjUtMC41LDEtMSwxSDNjLTAuNSwwLTEtMC41LTEtMVYxMGgydjE4 aDI0VjEwSDMweiBNMjQsMTRIMTR2MmgxMFYxNHogTTI0LDIySDE0djJoMTBWMjJ6IiBjbGFzcz0iQmxh Y2siIC8+DQogIDwvZz4NCjwvc3ZnPgs= </value> </data> <metadata name="svgImage32.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <value>311, 17</value> </metadata> WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/00-core/HydroParterListDlg.Designer.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,60 @@ namespace Yw.WinFrmUI { partial class HydroParterListDlg { /// <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() { hydroParterListCtrl1 = new HydroParterListCtrl(); SuspendLayout(); // // hydroParterListCtrl1 // hydroParterListCtrl1.Dock = DockStyle.Fill; hydroParterListCtrl1.HidePageWhenListIsNull = true; hydroParterListCtrl1.Location = new Point(0, 0); hydroParterListCtrl1.Name = "hydroParterListCtrl1"; hydroParterListCtrl1.Size = new Size(1040, 592); hydroParterListCtrl1.TabIndex = 0; // // HydroParterListDlg // AutoScaleDimensions = new SizeF(7F, 14F); AutoScaleMode = AutoScaleMode.Font; ClientSize = new Size(1040, 592); Controls.Add(hydroParterListCtrl1); Name = "HydroParterListDlg"; StartPosition = FormStartPosition.CenterParent; Text = "æ°´åç»ä»¶"; TopMost = true; ResumeLayout(false); } #endregion private HydroParterListCtrl hydroParterListCtrl1; } } WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/00-core/HydroParterListDlg.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,29 @@ namespace Yw.WinFrmUI { public partial class HydroParterListDlg : DevExpress.XtraEditors.XtraForm { public HydroParterListDlg() { InitializeComponent(); this.hydroParterListCtrl1.HydroClickEvent += HydroParterListCtrl1_HydroClickEvent; } private void HydroParterListCtrl1_HydroClickEvent(Model.HydroParterInfo obj) { this.HydroClickEvent?.Invoke(obj); } /// <summary> /// æ°´åç¹å»äºä»¶ /// </summary> public event Action<Yw.Model.HydroParterInfo> HydroClickEvent; /// <summary> /// ç»å®æ°æ® /// </summary> public void SetBindingData(Yw.Model.HydroModelInfo rhs) { this.hydroParterListCtrl1.SetBindingData(rhs); } } } WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/00-core/HydroParterListDlg.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> WinFrmUI/Yw.WinFrmUI.Hydro.Core/05-q3d/HydroQ3dViewPage.Designer.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,63 @@ namespace Yw.WinFrmUI { partial class HydroQ3dViewPage { /// <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() { ComponentResourceManager resources = new ComponentResourceManager(typeof(HydroQ3dViewPage)); drawer1 = new Q3d.Drawer(); SuspendLayout(); // // drawer1 // drawer1.BackColor = Color.Transparent; drawer1.Dock = DockStyle.Fill; drawer1.IsEditMode = true; drawer1.Location = new Point(0, 0); drawer1.MapCenter = (PointF)resources.GetObject("drawer1.MapCenter"); drawer1.mapOption = (Q3d.MapDimensions)resources.GetObject("drawer1.mapOption"); drawer1.Name = "drawer1"; drawer1.Size = new Size(224, 174); drawer1.TabIndex = 0; drawer1.zoom = 1F; // // HydroQ3dViewPage // Appearance.BackColor = SystemColors.Control; Appearance.Options.UseBackColor = true; AutoScaleDimensions = new SizeF(7F, 14F); AutoScaleMode = AutoScaleMode.Font; Controls.Add(drawer1); Name = "HydroQ3dViewPage"; ResumeLayout(false); } #endregion private Q3d.Drawer drawer1; } } WinFrmUI/Yw.WinFrmUI.Hydro.Core/05-q3d/HydroQ3dViewPage.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,47 @@ using DevExpress.XtraEditors; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace Yw.WinFrmUI { public partial class HydroQ3dViewPage : Yw.WinFrmUI.DocumentPage { public HydroQ3dViewPage() { InitializeComponent(); this.PageTitle.Caption = "æ°´åæ¨¡å"; } /// <summary> /// ç»å®æ°æ® /// </summary> /// <param name="hydroModelId">æ°´åæ¨¡åid</param> public async void SetBindingData(Yw.Model.HydroModelInfo rhs) { this.PageTitle.Caption = $"{rhs.Name}\r\næ°´åæ¨¡å"; var netWork = HydroQ3dTransferHelper.ToNetworkViewModel(rhs); this.drawer1.SetData(netWork); //var temp = new Template(); //temp.network = netWork; //mapViewer1.SetData(temp); } /// <summary> /// åå§åæ°æ®æº /// </summary> public override void InitialDataSource() { base.InitialDataSource(); } } } WinFrmUI/Yw.WinFrmUI.Hydro.Core/05-q3d/HydroQ3dViewPage.resx
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,145 @@ <?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> <data name="drawer1.MapCenter" mimetype="application/x-microsoft.net.object.binary.base64"> <value> AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0 dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAABVTeXN0ZW0uRHJh d2luZy5Qb2ludEYCAAAAAXgBeQAACwsCAAAAAAAAAAAAAAAL </value> </data> <data name="drawer1.mapOption" mimetype="application/x-microsoft.net.object.binary.base64"> <value> AAEAAAD/////AQAAAAAAAAAMAgAAAEBZdy5XaW5Gcm1VSS5IeWRyby5RM2QuQ29yZSwgQ3VsdHVyZT1u ZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1udWxsDAMAAABRU3lzdGVtLkRyYXdpbmcsIFZlcnNpb249NC4w LjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iMDNmNWY3ZjExZDUwYTNhBQEAAAAd WXcuV2luRnJtVUkuUTNkLk1hcERpbWVuc2lvbnMNAAAAFzxDZW50ZXI+a19fQmFja2luZ0ZpZWxkFTx6 b29tPmtfX0JhY2tpbmdGaWVsZBk8cm90YXRpb24+a19fQmFja2luZ0ZpZWxkCl9yb3RhdGlvbkYaPFNo b3dGbG9vcj5rX19CYWNraW5nRmllbGQaPGlzU2hvd1BpYz5rX19CYWNraW5nRmllbGQVaXNBdXRvQmFj a2dyb3VuZEltYWdlHjxpc1Nob3dVbmZhdm9yPmtfX0JhY2tpbmdGaWVsZBs8TG9jazJEVmlldz5rX19C YWNraW5nRmllbGQbPGlzRWRpdE1vZGU+a19fQmFja2luZ0ZpZWxkGDxJc09ydGhvPmtfX0JhY2tpbmdG aWVsZBs8Q29sb3VyTm9kZT5rX19CYWNraW5nRmllbGQbPENvbG91ckxpbms+a19fQmFja2luZ0ZpZWxk BAAAAAAAAAAAAAAEBBVTeXN0ZW0uRHJhd2luZy5Qb2ludEYDAAAACwYGCAEBAQEBARpZdy5XaW5Gcm1V SS5RM2QuQ29sb3VyVHlwZQIAAAAaWXcuV2luRnJtVUkuUTNkLkNvbG91clR5cGUCAAAAAgAAAAX8//// FVN5c3RlbS5EcmF3aW5nLlBvaW50RgIAAAABeAF5AAALCwMAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAA AAAAAAAAAAAAgAEAAQABAQX7////Gll3LldpbkZybVVJLlEzZC5Db2xvdXJUeXBlAQAAAAd2YWx1ZV9f AAgCAAAAAAAAAAH6////+////wAAAAAL </value> </data> </root> WinFrmUI/Yw.WinFrmUI.Hydro.Core/Yw.WinFrmUI.Hydro.Core.csproj
@@ -8,6 +8,7 @@ </PropertyGroup> <ItemGroup> <PackageReference Include="DevExpress.Win.Design" Version="23.2.4" /> <PackageReference Include="Yw.BLL.Basic.Core" Version="3.2.5" /> <PackageReference Include="Yw.BLL.Hydro.Core" Version="3.1.6" /> </ItemGroup> @@ -15,6 +16,7 @@ <ItemGroup> <ProjectReference Include="..\..\Hydro\Yw.Hydro.Core\Yw.Hydro.Core.csproj" /> <ProjectReference Include="..\Yw.WinFrmUI.Core\Yw.WinFrmUI.Core.csproj" /> <ProjectReference Include="..\Yw.WinFrmUI.Hydro.Q3d.Core\Yw.WinFrmUI.Hydro.Q3d.Core.csproj" /> </ItemGroup> <ItemGroup> WinFrmUI/Yw.WinFrmUI.Hydro.Core/Yw.WinFrmUI.Hydro.Core.csproj.user
@@ -7,11 +7,17 @@ <Compile Update="04-parter\00-core\HydroParterListCtrl.cs"> <SubType>UserControl</SubType> </Compile> <Compile Update="04-parter\00-core\HydroParterListDlg.cs"> <SubType>Form</SubType> </Compile> <Compile Update="04-parter\01-junction\HydroJunctionListCtrl.cs"> <SubType>UserControl</SubType> </Compile> <Compile Update="04-parter\02-nozzle\HydroNozzleListCtrl.cs"> <SubType>UserControl</SubType> </Compile> <Compile Update="05-q3d\HydroQ3dViewPage.cs"> <SubType>UserControl</SubType> </Compile> </ItemGroup> </Project>