WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/01-property/XhsProjectSimulationPropertyCtrl.cs
@@ -233,6 +233,14 @@ { var pumpInfo = hydroInfo.Pumps?.Find(x => x.Code == parter.Code); var input = AssetsMatchingParasHelper.Create(hydroInfo, pumpInfo); if (input.DbId != string.Empty) { var detailDlg = new DetailInfo4DsDlg(); detailDlg.SetBindindData(input); detailDlg.ShowDialog(); } var dlg = new PumpSingleMatchingDlg(); dlg.SetBindingData(input); dlg.ReloadDataEvent += (rhs) => WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/PumpFullInfoCtrl.cs
@@ -1,4 +1,9 @@ namespace HStation.WinFrmUI using DevExpress.CodeParser; using HStation.WinFrmUI.PhartRelation; using System; using Yw.WinFrmUI.Phart; namespace HStation.WinFrmUI { public partial class PumpFullInfoCtrl : DevExpress.XtraEditors.XtraUserControl { @@ -13,10 +18,113 @@ this.navBarControlPara.ClientSizeChanged += new System.EventHandler(this.NavBarControlPara_ClientSizeChanged); } private PumpMatchingViewModel _pump_mathing_vm = null; public void SetBindingData(PumpMatchingViewModel pumpMatchingViewModel) { _pump_mathing_vm = pumpMatchingViewModel; pumpPropViewCtrl1.SetBindingData(pumpMatchingViewModel.DbId); if (long.TryParse(_pump_mathing_vm.DbId,out long pump_mian_id)) { Init(pump_mian_id); } } private async void Init(long pump_main_id) { var pump_main = await new BLL.AssetsPumpMain().GetByID(pump_main_id); if (pump_main == null) { return; } var phart_list = await new BLL.XhsPumpMainPhartMappingExtensions().GetByPumpMainID(pump_main_id); if (phart_list == null || !phart_list.Any()) { return; } var phart = phart_list.OrderBy(x => x.Importance).First(); var diagram = phart.Diagram; if (diagram == null) { return; } var graph_list = diagram.GraphList; if (graph_list == null || !graph_list.Any()) { return; } var graph_qh = graph_list.Find(x => x.GraphType == HStation.PhartRelation.eGraphType.PumpQH); var graph_qe = graph_list.Find(x => x.GraphType == HStation.PhartRelation.eGraphType.PumpQE); var graph_qp = graph_list.Find(x => x.GraphType == HStation.PhartRelation.eGraphType.PumpQP); if (graph_qh == null) { return; } List<Yw.Geometry.Point2d> points_qh = null, points_qe = null, points_qp = null; points_qh = PhartPerformCurveHelper.GetFeatPointList(graph_qh.GraphType, graph_qh.GeometryInfo, 12, null); if (graph_qe != null) points_qe = PhartPerformCurveHelper.GetFeatPointList(graph_qe.GraphType, graph_qe.GeometryInfo, 12, null); if (graph_qp != null) points_qp = PhartPerformCurveHelper.GetFeatPointList(graph_qp.GraphType, graph_qp.GeometryInfo, 12, null); var cubic_spline_qh = new Yw.Geometry.CubicSpline2d(points_qh); var cubic_spline_qe = new Yw.Geometry.CubicSpline2d(points_qe); var cubic_spline_qp = new Yw.Geometry.CubicSpline2d(points_qp); var design_pt = new Yw.Geometry.Point2d(); design_pt.X = Math.Round(cubic_spline_qh.MaxX / 2); design_pt.Y = Math.Round(cubic_spline_qh.GetPointY(design_pt.X), 1); var disp_paras = diagram.DispParas; var is_calc_disp_paras = string.IsNullOrWhiteSpace(disp_paras); this.pumpPerformChart1.SetBindingData(cubic_spline_qh, cubic_spline_qe, cubic_spline_qp, disp_paras, is_calc_disp_paras); this.pumpPerformInfoCtrl1.SetDesignPoint(design_pt); var vm_vs = new Yw.WinFrmUI.Phart.PumpVariableSpeedViewModel(); vm_vs.Id = phart.ID.ToString(); vm_vs.Name = $"{pump_main.RatedSpeed}"; //vm.IsBp = pump_mian.; vm_vs.RatedSpeed = pump_main.RatedSpeed; vm_vs.CurrentSpeed = pump_main.RatedSpeed; vm_vs.CurrentHz = 50; vm_vs.Qh = cubic_spline_qh; vm_vs.Qe = cubic_spline_qe; vm_vs.Qp = cubic_spline_qp; var vm_vs_info = new Yw.WinFrmUI.Phart.PumpVariableSpeedInfoViewModel(vm_vs); vm_vs_info.Color = Color.Black; vm_vs_info.IsDefault = true; this.pumpVariableSpeedInfoCtrl1.SetBindingData(vm_vs_info, design_pt); this.pumpVariableSpeedChart1.Add(vm_vs_info, design_pt); var vm_sp = new Yw.WinFrmUI.Phart.PumpSerialParallelViewModel(); vm_sp.Id = phart.ID.ToString(); vm_sp.Name = $"{pump_main.RatedSpeed}"; //vm.IsBp = pump_mian.; vm_sp.RatedSpeed = pump_main.RatedSpeed; vm_sp.CurrentSpeed = pump_main.RatedSpeed; vm_sp.CurrentHz = 50; vm_sp.Qh = cubic_spline_qh; vm_sp.Qe = cubic_spline_qe; vm_sp.Qp = cubic_spline_qp; var vm_sp_info = new Yw.WinFrmUI.Phart.PumpSerialParallelInfoViewModel(vm_sp); vm_sp_info.Color = GetRandomColor(0); this.pumpSingleSerialParallelInfoCtrl1.SetBindingData(vm_sp_info, design_pt); this.pumpSerialParallelChart1.Add(vm_sp_info, design_pt); } private void OnFrmLoad(object sender, EventArgs e) { @@ -51,7 +159,403 @@ //else if (this._m3dDispCtrlType == Model.e3dDispCtrlType.CAD_51JM) //{ //} InitChart(); } private void SetChart(PumpMatchingViewModel vm) { if (vm == null) { return; } } private void InitChart() { #region æ²çº¿ this.pumpPerformInfoCtrl1.SetDesignPointEvent += (q, h) => { this.pumpPerformChart1.CalcDesignPointByQ(q, h); }; this.pumpPerformChart1.OnCalcQueryPoint += (gropu_pt) => { var vm_list = new List<Yw.WinFrmUI.Phart.PumpPointItmeViewModel>(); vm_list.Add(new Yw.WinFrmUI.Phart.PumpPointItmeViewModel() { Group = "æ¥è¯¢ç¹", Name = "æµé", Value = $"{gropu_pt.Q:N1}", Unit = "m³/h" }); vm_list.Add(new Yw.WinFrmUI.Phart.PumpPointItmeViewModel() { Group = "æ¥è¯¢ç¹", Name = "æ¬ç¨", Value = $"{gropu_pt.H:N1}", Unit = "m" }); vm_list.Add(new Yw.WinFrmUI.Phart.PumpPointItmeViewModel() { Group = "æ¥è¯¢ç¹", Name = "æç", Value = $"{gropu_pt.E:N1}", Unit = "%" }); vm_list.Add(new Yw.WinFrmUI.Phart.PumpPointItmeViewModel() { Group = "æ¥è¯¢ç¹", Name = "åç", Value = $"{gropu_pt.P:N1}", Unit = "kW" }); this.pumpPerformInfoCtrl1.SetBindingData(vm_list); }; #endregion #region åéæ²çº¿ this.pumpVariableSpeedInfoCtrl1.SetEvent += (id, qh, qe, qp) => { this.pumpVariableSpeedChart1.Set(id, qh, qe, qp); ResetSectPointGrid(); }; this.pumpVariableSpeedInfoCtrl1.SetInfoEvent += (id, name, color) => { this.pumpVariableSpeedChart1.SetInfo(id, name, color); ResetSectPointGrid(); }; this.pumpVariableSpeedChart1.AddBySpeedEvent += () => { AddBySpeed(); ResetSectPointGrid(); }; this.pumpVariableSpeedChart1.AddByHzEvent += () => { AddByHz(); ResetSectPointGrid(); }; this.pumpVariableSpeedChart1.AddByPointEvent += () => { AddByPoint(); ResetSectPointGrid(); }; this.pumpVariableSpeedInfoCtrl1.SetDesignPointEvent += (q, h) => { this.pumpVariableSpeedChart1.SetDesignPt(new Yw.Geometry.Point2d(q, h)); ResetSectPointGrid(); }; this.pumpVariableSpeedChart1.OnCalcQueryPoint += (id, pt) => { this.pumpVariableSpeedInfoCtrl1.SetQueryInfo(id, pt); }; void ResetSectPointGrid() { var vm_list = this.pumpVariableSpeedChart1.GetList(); this.pumpVariableSpeedInfoCtrl1.SetSectPoint(vm_list); } void AddBySpeed() { var list = this.pumpVariableSpeedInfoCtrl1.GetList(); if (list == null || list.Count < 1) { return; } var design_pt = this.pumpVariableSpeedInfoCtrl1.GetDesignPoint(); var index = list.Count; var vm_def = list.First(); var dlg = new SetValueDlg(); dlg.SetBindingData(vm_def.RatedSpeed); dlg.VerifyValueChanged += (speed) => { var hz = Math.Round(speed / vm_def.RatedSpeed * 50, 1); if (hz > 50 || hz < 10) { return false; } var vm = new PumpVariableSpeedInfoViewModel(vm_def); vm.Id = Guid.NewGuid().ToString(); vm.Name = this.pumpVariableSpeedChart1.LineNameShowHz ? hz.ToString() : speed.ToString(); vm.Color = GetRandomColor(index); vm.CurrentHz = hz; vm.CurrentSpeed = speed; vm.Calc(); this.pumpVariableSpeedInfoCtrl1.Add(vm); this.pumpVariableSpeedChart1.Add(vm, design_pt); return true; }; dlg.ShowDialog(); } void AddByHz() { var list = this.pumpVariableSpeedInfoCtrl1.GetList(); if (list == null || list.Count < 1) { return; } var design_pt = this.pumpVariableSpeedInfoCtrl1.GetDesignPoint(); var index = list.Count; var vm_def = list.First(); var dlg = new SetValueDlg(); dlg.VerifyValueChanged += (hz) => { if (hz > 50 || hz < 10) { return false; } var speed = Math.Round(hz / 50 * vm_def.RatedSpeed); var vm = new PumpVariableSpeedInfoViewModel(vm_def); vm.Id = Guid.NewGuid().ToString(); vm.Name = this.pumpVariableSpeedChart1.LineNameShowHz ? hz.ToString() : speed.ToString(); vm.Color = GetRandomColor(index); vm.CurrentHz = hz; vm.CurrentSpeed = speed; vm.Calc(); this.pumpVariableSpeedInfoCtrl1.Add(vm); this.pumpVariableSpeedChart1.Add(vm, design_pt); return true; }; dlg.ShowDialog(); } void AddByPoint() { var list = this.pumpVariableSpeedInfoCtrl1.GetList(); if (list == null || list.Count < 1) { return; } var index = list.Count; var vm_def = list.First(); var design_pt = this.pumpVariableSpeedInfoCtrl1.GetDesignPoint(); var dlg = new SetPointDlg(); dlg.SetBindingData(); dlg.VerifyValueChanged += (x, y) => { var pt = new Yw.Geometry.Point2d(x, y); var speed = PumpCalcHelper.GetSimuValue(vm_def.Qh, pt, vm_def.RatedSpeed); var hz = Math.Round(speed / vm_def.RatedSpeed * 50, 1); if (hz > 50 || hz < 20) { return false; } var vm = new PumpVariableSpeedInfoViewModel(vm_def); vm.Id = Guid.NewGuid().ToString(); vm.Name = this.pumpVariableSpeedChart1.LineNameShowHz ? hz.ToString() : speed.ToString(); vm.Color = GetRandomColor(index); vm.CurrentHz = hz; vm.CurrentSpeed = speed; vm.Calc(); this.pumpVariableSpeedInfoCtrl1.Add(vm); this.pumpVariableSpeedChart1.Add(vm, design_pt); return true; }; dlg.ShowDialog(); } #endregion #region ä¸²å¹¶èæ²çº¿ string _serial_parallel_id = "serial_parallel"; this.pumpSingleSerialParallelInfoCtrl1.SetEvent += (id, design_pt, is_parallel, qh, qe, qp) => { this.pumpSerialParallelChart1.Set(id, qh, qe, qp); var list = this.pumpSingleSerialParallelInfoCtrl1.GetList(); SetSerialParallel(list, design_pt, is_parallel); }; this.pumpSingleSerialParallelInfoCtrl1.SetInfoEvent += (id, name, color) => { this.pumpSerialParallelChart1.SetInfo(id, name, color); }; this.pumpSingleSerialParallelInfoCtrl1.SetDesignPointEvent += (q, h) => { this.pumpSerialParallelChart1.SetDesignPt(new Yw.Geometry.Point2d(q, h)); }; this.pumpSingleSerialParallelInfoCtrl1.ResetEvent += (type, count) => { if (count<1) { return; } var is_parallel = type == 0; var list = this.pumpSingleSerialParallelInfoCtrl1.GetList(); var first = list.First(); var new_list = new List<Yw.WinFrmUI.Phart.PumpSerialParallelInfoViewModel>(); for (int i = 0; i <count; i++) { var vm = new Yw.WinFrmUI.Phart.PumpSerialParallelInfoViewModel(first); vm.Id = Guid.NewGuid().ToString(); vm.Color = GetRandomColor(i); vm.CurrentSpeed = vm.RatedSpeed; vm.CurrentHz = 50; vm.Calc(); new_list.Add(vm); } var design_pt = this.pumpSingleSerialParallelInfoCtrl1.GetDesignPoint(); this.pumpSingleSerialParallelInfoCtrl1.SetBindingData(new_list,design_pt); this.pumpSerialParallelChart1.Add(new_list, design_pt); SetSerialParallel(new_list, design_pt, is_parallel); }; this.pumpSerialParallelChart1.OnCalcQueryPoint += (id, pt) => { this.pumpSingleSerialParallelInfoCtrl1.SetQueryInfo(id, pt); }; string SetSerialParallel(List<Yw.WinFrmUI.Phart.PumpSerialParallelInfoViewModel> list, Yw.Geometry.Point2d design_pt, bool is_parallel) { this.pumpSerialParallelChart1.Delete(_serial_parallel_id); if (list == null || !list.Any()) { return "æ æ°æ®!"; } if (list.Count<2) { return "æ°æ®è¿å°!"; } var vm_serial_parallel = CalcSerialParallel(list, is_parallel); if (vm_serial_parallel == null) { return "æ æ³è®¡ç®ä¸²å¹¶èæ²çº¿!"; } var qh = vm_serial_parallel.Qh; var min_h = qh.GetPointY(qh.MinX); var max_h = qh.GetPointY(qh.MaxX); //if (design_pt != null) //{ // //if (design_pt.X > qh.MaxX || design_pt.X < qh.MinX) // //{ // // return "设计æµéæ æï¼"; // //} // //if (design_pt.Y > max_h * 2 || design_pt.Y < min_h * 0.5) // //{ // // return "设计æ¬ç¨æ æï¼"; // //} //} //else //{ // var design_q = qh.MaxX / 2; // var design_h = qh.GetPointY(design_q); // design_q = Math.Round(design_q, 1); // design_h = Math.Round(design_h, 1); // design_pt = new Yw.Geometry.Point2d(design_q, design_h); // this.pumpSingleSerialParallelInfoCtrl1.SetDesignPoint(design_pt); //} this.pumpSerialParallelChart1.Add(vm_serial_parallel, design_pt); return string.Empty; } Yw.WinFrmUI.Phart.PumpSerialParallelInfoViewModel CalcSerialParallel(List<Yw.WinFrmUI.Phart.PumpSerialParallelInfoViewModel> list, bool is_parallel) { if (list == null || !list.Any()) { return default; } var calc_bol = false; var line_name = ""; List<Yw.Geometry.Point2d> calc_pt_qh_list; List<Yw.Geometry.Point2d> calc_pt_qe_list; List<Yw.Geometry.Point2d> calc_pt_qp_list; var helper = new Yw.WinFrmUI.Phart.PumpParallelConnectionHelper(); list.ForEach(x => helper.Add(x.QhCalc, x.QpCalc)); if (is_parallel) { line_name = "å¹¶èæ²çº¿"; calc_bol = helper.CalculateParallel(out calc_pt_qh_list, out calc_pt_qe_list, out calc_pt_qp_list); } else { line_name = "ä¸²èæ²çº¿"; calc_bol = helper.CalculateSeries(out calc_pt_qh_list, out calc_pt_qe_list, out calc_pt_qp_list); } if (!calc_bol) { return default; } var vm_sp = new Yw.WinFrmUI.Phart.PumpSerialParallelInfoViewModel(); vm_sp.Id = _serial_parallel_id; vm_sp.Name = line_name; vm_sp.Qh = new Yw.Geometry.CubicSpline2d(calc_pt_qh_list); vm_sp.Qe = new Yw.Geometry.CubicSpline2d(calc_pt_qe_list); vm_sp.Qp = new Yw.Geometry.CubicSpline2d(calc_pt_qp_list); vm_sp.QhCalc = vm_sp.Qh; vm_sp.QeCalc = vm_sp.Qe; vm_sp.QpCalc = vm_sp.Qp; vm_sp.Color = Color.Black; vm_sp.IsBp = true; vm_sp.IsDefault = true; return vm_sp; } #endregion } #region Color private List<Color> _color_array = new List<Color>() { Color.Red, Color.Blue, Color.Green,Color.DodgerBlue, Color.Fuchsia, Color.MidnightBlue, Color.Maroon, Color.Aquamarine, Color.Bisque,Color.BurlyWood }; /// <summary> /// è·åéæºé¢è² /// </summary> /// <returns></returns> private Color GetRandomColor(int count) { if (count < _color_array.Count) { return _color_array[count]; } var _random = new Random(); int r = _random.Next(1, 256); int g = _random.Next(1, 256); int b = _random.Next(1, 256); return Color.FromArgb(r, g, b); } #endregion #region èµ°é©¬ç¯æç¤º @@ -134,6 +638,8 @@ } #endregion èµ°é©¬ç¯æç¤º public void CloseFrm() { @@ -264,44 +770,44 @@ private void CalcBarHeight() { if (!navBarGroupPoint.Expanded) return; //if (!navBarGroupPoint.Expanded) // return; int GroupTitleHeight = 55;//头é¨é«åº¦ //int GroupTitleHeight = 55;//头é¨é«åº¦ var height = this.Size.Height - 18;//18 : TAB 头é¨é«åº¦ //var height = this.Size.Height - 18;//18 : TAB 头é¨é«åº¦ if (navBarGroupPara.Expanded) { var grp_height = CalcGroupParaHeight(); //if (row_count == 7) //{ // grp_height = 280; //} this.navBarGroupControlXPumpParas.Height = grp_height; this.navBarGroupPara.Expanded = true; this.navBarGroupPara.GroupClientHeight = grp_height; height = height - GroupTitleHeight - grp_height - 3; } else { height = height - GroupTitleHeight; } //if (navBarGroupPara.Expanded) //{ // var grp_height = CalcGroupParaHeight(); // //if (row_count == 7) // //{ // // grp_height = 280; // //} // this.navBarGroupControlXPumpParas.Height = grp_height; // this.navBarGroupPara.Expanded = true; // this.navBarGroupPara.GroupClientHeight = grp_height; // height = height - GroupTitleHeight - grp_height - 3; //} //else //{ // height = height - GroupTitleHeight; //} if (navBarGroupJieZhi.Expanded) { height = height - 150; } else { height = height - GroupTitleHeight; } //if (navBarGroupJieZhi.Expanded) //{ // height = height - 150; //} //else //{ // height = height - GroupTitleHeight; //} if (height > 100) {//294, 393 height = height - GroupTitleHeight; navBarGroupPoint.GroupClientHeight = height; } //if (height > 100) //{//294, 393 // height = height - GroupTitleHeight; // navBarGroupPoint.GroupClientHeight = height; //} } #endregion 计ç®å±ç¤ºé¢æ¿é«åº¦ WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/PumpFullInfoCtrl.designer.cs
@@ -33,9 +33,12 @@ xtraTabCtrlMain = new DevExpress.XtraTab.XtraTabControl(); imageCollection1 = new DevExpress.Utils.ImageCollection(components); _tabPageæ§è½æ²çº¿å¾1 = new DevExpress.XtraTab.XtraTabPage(); pumpPerformChart1 = new Yw.WinFrmUI.Phart.PumpPerformChart(); _tabPage产å屿§1 = new DevExpress.XtraTab.XtraTabPage(); _tabPageå¤é度æ²çº¿ = new DevExpress.XtraTab.XtraTabPage(); pumpVariableSpeedChart1 = new Yw.WinFrmUI.Phart.PumpVariableSpeedChart(); _tabPageä¸²å¹¶èæ²çº¿ = new DevExpress.XtraTab.XtraTabPage(); pumpSerialParallelChart1 = new Yw.WinFrmUI.Phart.PumpSerialParallelChart(); _tabPageé»è®¤å®ç©å¾2d = new DevExpress.XtraTab.XtraTabPage(); _tabPageç³»ç»å®ç©å¾2d = new DevExpress.XtraTab.XtraTabPage(); _tabPageé»è®¤å°ºå¯¸å¾2d = new DevExpress.XtraTab.XtraTabPage(); @@ -53,21 +56,23 @@ imageCollection2 = new DevExpress.Utils.ImageCollection(components); tabPageåºæ¬åæ° = new DevExpress.XtraTab.XtraTabPage(); navBarControlPara = new DevExpress.XtraNavBar.NavBarControl(); navBarGroupPara = new DevExpress.XtraNavBar.NavBarGroup(); navBarGroupControlXPumpParas = new DevExpress.XtraNavBar.NavBarGroupControlContainer(); navBarGroupControlPointParas = new DevExpress.XtraNavBar.NavBarGroupControlContainer(); navBarGroupPoint = new DevExpress.XtraNavBar.NavBarGroup(); pumpPerformInfoCtrl1 = new Yw.WinFrmUI.Phart.PumpPerformInfoCtrl(); tabPage产å屿§2 = new DevExpress.XtraTab.XtraTabPage(); pumpPropViewCtrl1 = new PumpPropViewCtrl(); _tabPageäº§åææ = new DevExpress.XtraTab.XtraTabPage(); splitContainerControlMaterial = new SplitContainerControl(); _tabPageå¤é度æ²çº¿åæ° = new DevExpress.XtraTab.XtraTabPage(); pumpVariableSpeedInfoCtrl1 = new Yw.WinFrmUI.Phart.PumpVariableSpeedInfoCtrl(); _tabPageä¸²å¹¶èæ²çº¿åæ° = new DevExpress.XtraTab.XtraTabPage(); navBarGroupControlContainer6 = new DevExpress.XtraNavBar.NavBarGroupControlContainer(); navBarGroupJieZhi = new DevExpress.XtraNavBar.NavBarGroup(); pumpSingleSerialParallelInfoCtrl1 = new Yw.WinFrmUI.Phart.PumpSingleSerialParallelInfoCtrl(); ((ISupportInitialize)xtraTabCtrlMain).BeginInit(); xtraTabCtrlMain.SuspendLayout(); ((ISupportInitialize)imageCollection1).BeginInit(); _tabPageæ§è½æ²çº¿å¾1.SuspendLayout(); _tabPageå¤é度æ²çº¿.SuspendLayout(); _tabPageä¸²å¹¶èæ²çº¿.SuspendLayout(); ((ISupportInitialize)splitContainerControl1).BeginInit(); ((ISupportInitialize)splitContainerControl1.Panel1).BeginInit(); splitContainerControl1.Panel1.SuspendLayout(); @@ -86,6 +91,8 @@ ((ISupportInitialize)splitContainerControlMaterial.Panel1).BeginInit(); ((ISupportInitialize)splitContainerControlMaterial.Panel2).BeginInit(); splitContainerControlMaterial.SuspendLayout(); _tabPageå¤é度æ²çº¿åæ°.SuspendLayout(); _tabPageä¸²å¹¶èæ²çº¿åæ°.SuspendLayout(); SuspendLayout(); // // xtraTabCtrlMain @@ -107,7 +114,7 @@ xtraTabCtrlMain.Padding = new Padding(0, 5, 0, 0); xtraTabCtrlMain.PaintStyleName = "Skin"; xtraTabCtrlMain.SelectedTabPage = _tabPageæ§è½æ²çº¿å¾1; xtraTabCtrlMain.Size = new Size(668, 729); xtraTabCtrlMain.Size = new Size(663, 729); xtraTabCtrlMain.TabIndex = 10; xtraTabCtrlMain.TabPages.AddRange(new DevExpress.XtraTab.XtraTabPage[] { _tabPageæ§è½æ²çº¿å¾1, _tabPage产å屿§1, _tabPageå¤é度æ²çº¿, _tabPageä¸²å¹¶èæ²çº¿, _tabPageé»è®¤å®ç©å¾2d, _tabPageç³»ç»å®ç©å¾2d, _tabPageé»è®¤å°ºå¯¸å¾2d, _tabPageé»è®¤å®è£ å¾2d, _tabPageç³»ç»å®è£ å¾2d, _tabPageé»è®¤å®è£ å¾3d, _tabPageé»è®¤ç»æå¾2d, _tabPageé»è®¤ç»æå¾3d, _tabPageçµæ°å¾, _tabPageä¸ç»´æ¨¡å, _tabPageè§é¢æä»¶, _tabPageç³»åéä»¶ }); xtraTabCtrlMain.SelectedPageChanged += xtraTabCtrlMain_SelectedPageChanged; @@ -133,116 +140,150 @@ // // _tabPageæ§è½æ²çº¿å¾1 // _tabPageæ§è½æ²çº¿å¾1.Controls.Add(pumpPerformChart1); _tabPageæ§è½æ²çº¿å¾1.ImageOptions.ImageIndex = 10; _tabPageæ§è½æ²çº¿å¾1.Margin = new Padding(0); _tabPageæ§è½æ²çº¿å¾1.Name = "_tabPageæ§è½æ²çº¿å¾1"; _tabPageæ§è½æ²çº¿å¾1.Size = new Size(543, 727); _tabPageæ§è½æ²çº¿å¾1.Size = new Size(498, 727); _tabPageæ§è½æ²çº¿å¾1.Text = "æ§è½æ²çº¿å¾"; // // pumpPerformChart1 // pumpPerformChart1.DefinePointVisible = false; pumpPerformChart1.Dock = DockStyle.Fill; pumpPerformChart1.LineVisible = false; pumpPerformChart1.Location = new Point(0, 0); pumpPerformChart1.Name = "pumpPerformChart1"; pumpPerformChart1.Size = new Size(498, 727); pumpPerformChart1.TabIndex = 0; // // _tabPage产å屿§1 // _tabPage产å屿§1.ImageOptions.ImageIndex = 9; _tabPage产å屿§1.Name = "_tabPage产å屿§1"; _tabPage产å屿§1.PageVisible = false; _tabPage产å屿§1.Size = new Size(543, 727); _tabPage产å屿§1.Size = new Size(498, 727); _tabPage产å屿§1.Text = "产å屿§"; // // _tabPageå¤é度æ²çº¿ // _tabPageå¤é度æ²çº¿.Controls.Add(pumpVariableSpeedChart1); _tabPageå¤é度æ²çº¿.ImageOptions.ImageIndex = 7; _tabPageå¤é度æ²çº¿.Name = "_tabPageå¤é度æ²çº¿"; _tabPageå¤é度æ²çº¿.Size = new Size(543, 727); _tabPageå¤é度æ²çº¿.Size = new Size(498, 727); _tabPageå¤é度æ²çº¿.Text = "å¤é度æ²çº¿"; // // pumpVariableSpeedChart1 // pumpVariableSpeedChart1.Dock = DockStyle.Fill; pumpVariableSpeedChart1.LineNameShowHz = false; pumpVariableSpeedChart1.LineNameVisible = true; pumpVariableSpeedChart1.LineVisible = false; pumpVariableSpeedChart1.Location = new Point(0, 0); pumpVariableSpeedChart1.Name = "pumpVariableSpeedChart1"; pumpVariableSpeedChart1.Size = new Size(498, 727); pumpVariableSpeedChart1.TabIndex = 0; // // _tabPageä¸²å¹¶èæ²çº¿ // _tabPageä¸²å¹¶èæ²çº¿.Controls.Add(pumpSerialParallelChart1); _tabPageä¸²å¹¶èæ²çº¿.ImageOptions.ImageIndex = 6; _tabPageä¸²å¹¶èæ²çº¿.Name = "_tabPageä¸²å¹¶èæ²çº¿"; _tabPageä¸²å¹¶èæ²çº¿.Size = new Size(543, 727); _tabPageä¸²å¹¶èæ²çº¿.Size = new Size(498, 727); _tabPageä¸²å¹¶èæ²çº¿.Text = "ä¸²å¹¶èæ²çº¿"; // // pumpSerialParallelChart1 // pumpSerialParallelChart1.Dock = DockStyle.Fill; pumpSerialParallelChart1.LineNameVisible = true; pumpSerialParallelChart1.LineVisible = false; pumpSerialParallelChart1.Location = new Point(0, 0); pumpSerialParallelChart1.Name = "pumpSerialParallelChart1"; pumpSerialParallelChart1.Size = new Size(498, 727); pumpSerialParallelChart1.TabIndex = 0; // // _tabPageé»è®¤å®ç©å¾2d // _tabPageé»è®¤å®ç©å¾2d.ImageOptions.ImageIndex = 5; _tabPageé»è®¤å®ç©å¾2d.Name = "_tabPageé»è®¤å®ç©å¾2d"; _tabPageé»è®¤å®ç©å¾2d.Size = new Size(543, 727); _tabPageé»è®¤å®ç©å¾2d.Size = new Size(498, 727); _tabPageé»è®¤å®ç©å¾2d.Text = "å®ç©å¾"; // // _tabPageç³»ç»å®ç©å¾2d // _tabPageç³»ç»å®ç©å¾2d.ImageOptions.ImageIndex = 5; _tabPageç³»ç»å®ç©å¾2d.Name = "_tabPageç³»ç»å®ç©å¾2d"; _tabPageç³»ç»å®ç©å¾2d.Size = new Size(543, 727); _tabPageç³»ç»å®ç©å¾2d.Size = new Size(498, 727); _tabPageç³»ç»å®ç©å¾2d.Text = "å®ç©å¾(ç³»ç»)"; // // _tabPageé»è®¤å°ºå¯¸å¾2d // _tabPageé»è®¤å°ºå¯¸å¾2d.ImageOptions.ImageIndex = 4; _tabPageé»è®¤å°ºå¯¸å¾2d.Name = "_tabPageé»è®¤å°ºå¯¸å¾2d"; _tabPageé»è®¤å°ºå¯¸å¾2d.Size = new Size(543, 727); _tabPageé»è®¤å°ºå¯¸å¾2d.Size = new Size(498, 727); _tabPageé»è®¤å°ºå¯¸å¾2d.Text = "产å尺寸å¾"; // // _tabPageé»è®¤å®è£ å¾2d // _tabPageé»è®¤å®è£ å¾2d.ImageOptions.ImageIndex = 3; _tabPageé»è®¤å®è£ å¾2d.Name = "_tabPageé»è®¤å®è£ å¾2d"; _tabPageé»è®¤å®è£ å¾2d.Size = new Size(543, 727); _tabPageé»è®¤å®è£ å¾2d.Size = new Size(498, 727); _tabPageé»è®¤å®è£ å¾2d.Text = "å®è£ å¾"; // // _tabPageç³»ç»å®è£ å¾2d // _tabPageç³»ç»å®è£ å¾2d.ImageOptions.ImageIndex = 3; _tabPageç³»ç»å®è£ å¾2d.Name = "_tabPageç³»ç»å®è£ å¾2d"; _tabPageç³»ç»å®è£ å¾2d.Size = new Size(543, 727); _tabPageç³»ç»å®è£ å¾2d.Size = new Size(498, 727); _tabPageç³»ç»å®è£ å¾2d.Text = "ç³»ç»å®è£ å¾"; // // _tabPageé»è®¤å®è£ å¾3d // _tabPageé»è®¤å®è£ å¾3d.ImageOptions.ImageIndex = 3; _tabPageé»è®¤å®è£ å¾3d.Name = "_tabPageé»è®¤å®è£ å¾3d"; _tabPageé»è®¤å®è£ å¾3d.Size = new Size(543, 727); _tabPageé»è®¤å®è£ å¾3d.Size = new Size(498, 727); _tabPageé»è®¤å®è£ å¾3d.Text = "å®è£ å¾(ä¸ç»´)"; // // _tabPageé»è®¤ç»æå¾2d // _tabPageé»è®¤ç»æå¾2d.ImageOptions.ImageIndex = 2; _tabPageé»è®¤ç»æå¾2d.Name = "_tabPageé»è®¤ç»æå¾2d"; _tabPageé»è®¤ç»æå¾2d.Size = new Size(543, 727); _tabPageé»è®¤ç»æå¾2d.Size = new Size(498, 727); _tabPageé»è®¤ç»æå¾2d.Text = "ç»æå¾"; // // _tabPageé»è®¤ç»æå¾3d // _tabPageé»è®¤ç»æå¾3d.ImageOptions.ImageIndex = 11; _tabPageé»è®¤ç»æå¾3d.Name = "_tabPageé»è®¤ç»æå¾3d"; _tabPageé»è®¤ç»æå¾3d.Size = new Size(543, 727); _tabPageé»è®¤ç»æå¾3d.Size = new Size(498, 727); _tabPageé»è®¤ç»æå¾3d.Text = "ç»æå¾"; // // _tabPageçµæ°å¾ // _tabPageçµæ°å¾.ImageOptions.ImageIndex = 13; _tabPageçµæ°å¾.Name = "_tabPageçµæ°å¾"; _tabPageçµæ°å¾.Size = new Size(543, 727); _tabPageçµæ°å¾.Size = new Size(498, 727); _tabPageçµæ°å¾.Text = "çµæ°å¾"; // // _tabPageä¸ç»´æ¨¡å // _tabPageä¸ç»´æ¨¡å.ImageOptions.ImageIndex = 0; _tabPageä¸ç»´æ¨¡å.Name = "_tabPageä¸ç»´æ¨¡å"; _tabPageä¸ç»´æ¨¡å.Size = new Size(543, 727); _tabPageä¸ç»´æ¨¡å.Size = new Size(498, 727); _tabPageä¸ç»´æ¨¡å.Text = "ä¸ç»´æ¨¡å"; // // _tabPageè§é¢æä»¶ // _tabPageè§é¢æä»¶.ImageOptions.ImageIndex = 12; _tabPageè§é¢æä»¶.Name = "_tabPageè§é¢æä»¶"; _tabPageè§é¢æä»¶.Size = new Size(543, 727); _tabPageè§é¢æä»¶.Size = new Size(498, 727); _tabPageè§é¢æä»¶.Text = "è§é¢æä»¶"; // // _tabPageç³»åéä»¶ // _tabPageç³»åéä»¶.ImageOptions.ImageIndex = 1; _tabPageç³»åéä»¶.Name = "_tabPageç³»åéä»¶"; _tabPageç³»åéä»¶.Size = new Size(543, 727); _tabPageç³»åéä»¶.Size = new Size(498, 727); _tabPageç³»åéä»¶.Text = "éä»¶æä»¶"; // // splitContainerControl1 @@ -297,77 +338,47 @@ tabPageåºæ¬åæ°.Controls.Add(navBarControlPara); tabPageåºæ¬åæ°.ImageOptions.ImageIndex = 0; tabPageåºæ¬åæ°.Name = "tabPageåºæ¬åæ°"; tabPageåºæ¬åæ°.Size = new Size(389, 693); tabPageåºæ¬åæ°.Size = new Size(389, 689); tabPageåºæ¬åæ°.Text = "åºæ¬åæ°"; // // navBarControlPara // navBarControlPara.ActiveGroup = navBarGroupPara; navBarControlPara.Appearance.GroupHeader.Font = new Font("Tahoma", 8.25F, FontStyle.Bold, GraphicsUnit.Point); navBarControlPara.Appearance.GroupHeader.Options.UseFont = true; navBarControlPara.Controls.Add(navBarGroupControlXPumpParas); navBarControlPara.Controls.Add(navBarGroupControlPointParas); navBarControlPara.Controls.Add(pumpPerformInfoCtrl1); navBarControlPara.Dock = DockStyle.Fill; navBarControlPara.Groups.AddRange(new DevExpress.XtraNavBar.NavBarGroup[] { navBarGroupPara, navBarGroupPoint }); navBarControlPara.Location = new Point(0, 0); navBarControlPara.Name = "navBarControlPara"; navBarControlPara.OptionsNavPane.ExpandedWidth = 389; navBarControlPara.Size = new Size(389, 693); navBarControlPara.Size = new Size(389, 689); navBarControlPara.SkinExplorerBarViewScrollStyle = DevExpress.XtraNavBar.SkinExplorerBarViewScrollStyle.ScrollBar; navBarControlPara.StoreDefaultPaintStyleName = true; navBarControlPara.TabIndex = 7; navBarControlPara.Text = "navBarControl1"; // // navBarGroupPara // pumpPerformInfoCtrl1 // navBarGroupPara.Appearance.Font = new Font("Tahoma", 14F, FontStyle.Regular, GraphicsUnit.Point); navBarGroupPara.Appearance.Options.UseFont = true; navBarGroupPara.Caption = "éååæ°"; navBarGroupPara.ControlContainer = navBarGroupControlXPumpParas; navBarGroupPara.Expanded = true; navBarGroupPara.GroupClientHeight = 336; navBarGroupPara.GroupStyle = DevExpress.XtraNavBar.NavBarGroupStyle.ControlContainer; navBarGroupPara.ImageOptions.LargeImage = (Image)resources.GetObject("navBarGroupPara.ImageOptions.LargeImage"); navBarGroupPara.Name = "navBarGroupPara"; // // navBarGroupControlXPumpParas // navBarGroupControlXPumpParas.Name = "navBarGroupControlXPumpParas"; navBarGroupControlXPumpParas.Size = new Size(389, 336); navBarGroupControlXPumpParas.TabIndex = 0; // // navBarGroupControlPointParas // navBarGroupControlPointParas.Name = "navBarGroupControlPointParas"; navBarGroupControlPointParas.Size = new Size(389, 248); navBarGroupControlPointParas.TabIndex = 2; // // navBarGroupPoint // navBarGroupPoint.Appearance.Font = new Font("Tahoma", 14F, FontStyle.Regular, GraphicsUnit.Point); navBarGroupPoint.Appearance.Options.UseFont = true; navBarGroupPoint.Caption = "ä½ç½®åæ°"; navBarGroupPoint.ControlContainer = navBarGroupControlPointParas; navBarGroupPoint.Expanded = true; navBarGroupPoint.GroupClientHeight = 248; navBarGroupPoint.GroupStyle = DevExpress.XtraNavBar.NavBarGroupStyle.ControlContainer; navBarGroupPoint.ImageOptions.LargeImage = (Image)resources.GetObject("navBarGroupPoint.ImageOptions.LargeImage"); navBarGroupPoint.Name = "navBarGroupPoint"; pumpPerformInfoCtrl1.Dock = DockStyle.Fill; pumpPerformInfoCtrl1.Location = new Point(0, 0); pumpPerformInfoCtrl1.Name = "pumpPerformInfoCtrl1"; pumpPerformInfoCtrl1.Size = new Size(389, 689); pumpPerformInfoCtrl1.TabIndex = 0; // // tabPage产å屿§2 // tabPage产å屿§2.Controls.Add(pumpPropViewCtrl1); tabPage产å屿§2.ImageOptions.ImageIndex = 1; tabPage产å屿§2.Name = "tabPage产å屿§2"; tabPage产å屿§2.Size = new Size(389, 693); tabPage产å屿§2.Size = new Size(389, 689); tabPage产å屿§2.Text = "产å屿§"; // // pumpPropViewCtrl1 // pumpPropViewCtrl1.Dock = DockStyle.Fill; pumpPropViewCtrl1.Location = new Point(0, 0); pumpPropViewCtrl1.Margin = new Padding(4, 5, 4, 5); pumpPropViewCtrl1.Name = "pumpPropViewCtrl1"; pumpPropViewCtrl1.Size = new Size(389, 693); pumpPropViewCtrl1.Size = new Size(389, 689); pumpPropViewCtrl1.TabIndex = 0; // // _tabPageäº§åææ @@ -375,7 +386,7 @@ _tabPageäº§åææ.Controls.Add(splitContainerControlMaterial); _tabPageäº§åææ.ImageOptions.ImageIndex = 2; _tabPageäº§åææ.Name = "_tabPageäº§åææ"; _tabPageäº§åææ.Size = new Size(389, 693); _tabPageäº§åææ.Size = new Size(389, 689); _tabPageäº§åææ.Text = "äº§åææ"; // // splitContainerControlMaterial @@ -397,23 +408,33 @@ splitContainerControlMaterial.Panel2.ShowCaption = true; splitContainerControlMaterial.Panel2.Text = "Panel2"; splitContainerControlMaterial.ShowCaption = true; splitContainerControlMaterial.Size = new Size(389, 693); splitContainerControlMaterial.Size = new Size(389, 689); splitContainerControlMaterial.SplitterPosition = 500; splitContainerControlMaterial.TabIndex = 0; splitContainerControlMaterial.Text = "splitContainerControl2"; // // _tabPageå¤é度æ²çº¿åæ° // _tabPageå¤é度æ²çº¿åæ°.Controls.Add(pumpVariableSpeedInfoCtrl1); _tabPageå¤é度æ²çº¿åæ°.ImageOptions.ImageIndex = 3; _tabPageå¤é度æ²çº¿åæ°.Name = "_tabPageå¤é度æ²çº¿åæ°"; _tabPageå¤é度æ²çº¿åæ°.Size = new Size(389, 693); _tabPageå¤é度æ²çº¿åæ°.Text = "åé¢åæ°"; _tabPageå¤é度æ²çº¿åæ°.Size = new Size(389, 689); _tabPageå¤é度æ²çº¿åæ°.Text = "åéåæ°"; // // pumpVariableSpeedInfoCtrl1 // pumpVariableSpeedInfoCtrl1.Dock = DockStyle.Fill; pumpVariableSpeedInfoCtrl1.Location = new Point(0, 0); pumpVariableSpeedInfoCtrl1.Name = "pumpVariableSpeedInfoCtrl1"; pumpVariableSpeedInfoCtrl1.Size = new Size(389, 689); pumpVariableSpeedInfoCtrl1.TabIndex = 0; // // _tabPageä¸²å¹¶èæ²çº¿åæ° // _tabPageä¸²å¹¶èæ²çº¿åæ°.Controls.Add(pumpSingleSerialParallelInfoCtrl1); _tabPageä¸²å¹¶èæ²çº¿åæ°.ImageOptions.ImageIndex = 4; _tabPageä¸²å¹¶èæ²çº¿åæ°.Name = "_tabPageä¸²å¹¶èæ²çº¿åæ°"; _tabPageä¸²å¹¶èæ²çº¿åæ°.Size = new Size(389, 693); _tabPageä¸²å¹¶èæ²çº¿åæ°.Size = new Size(389, 689); _tabPageä¸²å¹¶èæ²çº¿åæ°.Text = "åæ°è®¾ç½®"; // // navBarGroupControlContainer6 @@ -433,6 +454,14 @@ navBarGroupJieZhi.ImageOptions.LargeImage = (Image)resources.GetObject("navBarGroupJieZhi.ImageOptions.LargeImage"); navBarGroupJieZhi.Name = "navBarGroupJieZhi"; // // pumpSingleSerialParallelInfoCtrl1 // pumpSingleSerialParallelInfoCtrl1.Dock = DockStyle.Fill; pumpSingleSerialParallelInfoCtrl1.Location = new Point(0, 0); pumpSingleSerialParallelInfoCtrl1.Name = "pumpSingleSerialParallelInfoCtrl1"; pumpSingleSerialParallelInfoCtrl1.Size = new Size(389, 689); pumpSingleSerialParallelInfoCtrl1.TabIndex = 0; // // PumpFullInfoCtrl // AutoScaleMode = AutoScaleMode.None; @@ -443,6 +472,9 @@ ((ISupportInitialize)xtraTabCtrlMain).EndInit(); xtraTabCtrlMain.ResumeLayout(false); ((ISupportInitialize)imageCollection1).EndInit(); _tabPageæ§è½æ²çº¿å¾1.ResumeLayout(false); _tabPageå¤é度æ²çº¿.ResumeLayout(false); _tabPageä¸²å¹¶èæ²çº¿.ResumeLayout(false); ((ISupportInitialize)splitContainerControl1.Panel1).EndInit(); splitContainerControl1.Panel1.ResumeLayout(false); ((ISupportInitialize)splitContainerControl1.Panel2).EndInit(); @@ -461,6 +493,8 @@ ((ISupportInitialize)splitContainerControlMaterial.Panel2).EndInit(); ((ISupportInitialize)splitContainerControlMaterial).EndInit(); splitContainerControlMaterial.ResumeLayout(false); _tabPageå¤é度æ²çº¿åæ°.ResumeLayout(false); _tabPageä¸²å¹¶èæ²çº¿åæ°.ResumeLayout(false); ResumeLayout(false); } @@ -488,11 +522,6 @@ private DevExpress.XtraTab.XtraTabPage tabPageåºæ¬åæ°; private DevExpress.XtraTab.XtraTabPage tabPage产å屿§2; private DevExpress.XtraNavBar.NavBarControl navBarControlPara; private DevExpress.XtraNavBar.NavBarGroup navBarGroupPara; private DevExpress.XtraNavBar.NavBarGroupControlContainer navBarGroupControlXPumpParas; private DevExpress.XtraNavBar.NavBarGroupControlContainer navBarGroupControlPointParas; private DevExpress.XtraNavBar.NavBarGroup navBarGroupPoint; private DevExpress.XtraTab.XtraTabPage _tabPageç³»ç»å®è£ å¾2d; private DevExpress.XtraTab.XtraTabPage _tabPageäº§åææ; private DevExpress.Utils.ImageCollection imageCollection2; @@ -506,5 +535,11 @@ private DevExpress.XtraNavBar.NavBarGroupControlContainer navBarGroupControlContainer6; private DevExpress.XtraNavBar.NavBarGroup navBarGroupJieZhi; private PumpPropViewCtrl pumpPropViewCtrl1; private Yw.WinFrmUI.Phart.PumpPerformChart pumpPerformChart1; private Yw.WinFrmUI.Phart.PumpPerformInfoCtrl pumpPerformInfoCtrl1; private Yw.WinFrmUI.Phart.PumpVariableSpeedChart pumpVariableSpeedChart1; private Yw.WinFrmUI.Phart.PumpVariableSpeedInfoCtrl pumpVariableSpeedInfoCtrl1; private Yw.WinFrmUI.Phart.PumpSerialParallelChart pumpSerialParallelChart1; private Yw.WinFrmUI.Phart.PumpSingleSerialParallelInfoCtrl pumpSingleSerialParallelInfoCtrl1; } } WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/PumpFullInfoCtrl.resx
@@ -1,7 +1,7 @@ <?xml version="1.0" encoding="utf-8"?> <root> <!-- Microsoft ResX Schema Microsoft ResX Schema Version 2.0 @@ -48,7 +48,7 @@ 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 @@ -130,7 +130,7 @@ cmVhbWVyAgAAAAlJbWFnZVNpemUERGF0YQQHE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAAgIAAAAF/P// /xNTeXN0ZW0uRHJhd2luZy5TaXplAgAAAAV3aWR0aAZoZWlnaHQAAAgIAwAAACMAAAAjAAAACQUAAAAP BQAAAEw5AAACBgUAAIlQTkcNChoKAAAADUlIRFIAAAAjAAAAIwgGAAAAHtmzWQAAAARnQU1BAACxjwv8 YQUAAAAJcEhZcwAADr8AAA6/ATgFUyQAAASoSURBVFhH7VddaFxFFL5pFW2b5P7ttga2WCgWfKmG4oMo YQUAAAAJcEhZcwAADr0AAA69AUf7kK0AAASoSURBVFhH7VddaFxFFL5pFW2b5P7ttga2WCgWfKmG4oMo YrVgnxSqfVKktYhFfBGxb3YfivpQm2TdO/dmm4IVWiQRW/9A7EtFQWtpTZaG7N65d7s2mqpI/anYH7VZ vzM5u+7e/UlCl4SCHwx358yZmW/OnHPmrPY/2gm9v7jGcuWwJeSw3p9bw+LFgSWCouUGJWqmCEIWLw5A 4kqZDKwzbQv5lCX8O7Xjx29ilQVAsrQEBLaCwKUyGdMNfkS/iO/vsNgvppCvEjErJbt5VvvRk5laDj85 @@ -151,7 +151,7 @@ P9b3bQ9ku7DRKBP7mYpxW+Tv6UzJuJrEgF6ayOj9o4buyl7MmYJsbD5XPS/EUrkNiIwjCEuq8Mm/JH4/ rZHDl//coaREm8Zj2TIVtA1UMKmqXxXw9EDKfxQRbqYnU6y60Ch1wDqfV5Ox3eAlHlx4UL7ANZ2cIRN+ smrv2AoeWjx0D42rf5w3ODTtX+WXXW7fd+AQAAAAAElFTkSuQmCCQwUAAIlQTkcNChoKAAAADUlIRFIA AAAjAAAAIwgGAAAAHtmzWQAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADr8AAA6/ATgFUyQAAATlSURB AAAjAAAAIwgGAAAAHtmzWQAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADr0AAA69AUf7kK0AAATlSURB VFhH7Vfda1xFFJ9+KjZ270fSWCxERUSrL76oD6KggiBonyqE+uAfoCilhVLQLVpJIMaQ7Ny52fULDKgE FbSIWtQWfEhRsaVuTe7M3aStpFgpgtqGNmm6/mb23Ll3NambzQc++IOBvec3Z86ZM+ecmWX/Y6XQxs+2 uGHc6Qo54IbqTXdwfLcXVu4heuXgcdXtCvWrJ1T178MV0VBuYOxmmrqMGK6u8QL5Tp0DgZx1AzmVlcHR @@ -174,7 +174,7 @@ oDkh70YVZf9BznhhdKOZs2So3byfZoxoh37X4UeZKnyfxDiHcSnh4dR0Q521Wfgiessau9rg8v32nmMb SG35gAjdh6gMISp1f+iRG+fxtv3M52obTV1BIE9yXafc1kLltg36kty+iEf1fx+M/QWYOCDvyk0/qwAA AABJRU5ErkJggtkBAACJUE5HDQoaCgAAAA1JSERSAAAAIwAAACMIBgAAAB7Zs1kAAAAEZ0FNQQAAsY8L /GEFAAAACXBIWXMAAA6/AAAOvwE4BVMkAAABe0lEQVRYR+2WMUvDQBTHg6CTtsldqyIKgosfxkEEF3Fy /GEFAAAACXBIWXMAAA69AAAOvQFH+5CtAAABe0lEQVRYR+2WMUvDQBTHg6CTtsldqyIKgosfxkEEF3Fy dHQQN1cXh7a5k2j9Aq7uIgji4KZQe9dSHOwiKjiIiBpf9AUaLgchRhvlfvCW93+v+dEe11iESz8vlU8Z h8snh8nHfpQqA02rD1AuNoxMHEZGx/+Vgb0pm4lVUpOLlnc+iO3EZCZT3OlMh/v4GWsYJSYzGeKKlXD/ s5i4xygxmcnYvD0X7n+VOMEoMZmeGTgvy7B7Z/PWqeO1i9hOTKYy38XI6DAyOv6+TGH7khDeOiZMvsBb @@ -182,7 +182,7 @@ lnrngm9yfL9bxlghlUy5cjEDc89w5b8HD6BMzmOkAD/RDcy+wX/VK+HNLWzHkvoAk4ookF0xOexdlbAV z4E/ROvXE6N77TFr0x/AbiypZX4CI6PDyOgwMjq0MkHw2wUX6KEik4fKkYz0PwA0ITdAs8f/EgAAAABJ RU5ErkJggk4GAACJUE5HDQoaCgAAAA1JSERSAAAAIwAAACMIBgAAAB7Zs1kAAAAEZ0FNQQAAsY8L/GEF AAAACXBIWXMAAA6/AAAOvwE4BVMkAAAF8ElEQVRYR+1Xa2wUVRQeFFHpY+exS0EhxaRixKiYYMQfxGB8 AAAACXBIWXMAAA69AAAOvQFH+5CtAAAF8ElEQVRYR+1Xa2wUVRQeFFHpY+exS0EhxaRixKiYYMQfxGB8 xAcBTXwlGg0qJvoD/UNMEy3RRGIqynZe3dIIGojahChRgyRiY0QhprGIZbtzZ5ZKy6tCsVBKKZSu37lz dunabQvyMDF+yc3OPefcM98599xzZ5X/cTGgmsHNmuXV67bYQIOeY6v8ClZfWuiu+Ea3/U7dEV/IYQs8 +w2svrTAy7tU03uWp0q0dtdizfH/4OnFw6SV6TLN9pdFbH8efqcZtliKbJzW6zqmsgnIeTeSTLXFfLIp @@ -209,7 +209,7 @@ GFsu+P8mCWydYbfSn7hjIHAEL3pTaWwcnyWjJQ5HQBbXA32yigNqjXdroYZ5QVH2MbbO8l4Cif7wmIrD eKZG1g2iPRhPDM3cJQF/ra3CGAgz5S/X49tKWf3vILa6ZXLpqnadp/8FKMpf0O60mqXbDwsAAAAASUVO RK5CYILYAgAAiVBORw0KGgoAAAANSUhEUgAAACMAAAAjCAYAAAAe2bNZAAAABGdBTUEAALGPC/xhBQAA AAlwSFlzAAAOvwAADr8BOAVTJAAAAnpJREFUWEftVz1oFEEUXguLQHB3ds+LP9doY6GFYGWbRsEmkMZO AAlwSFlzAAAOvQAADr0BR/uQrQAAAnpJREFUWEftVz1oFEEUXguLQHB3ds+LP9doY6GFYGWbRsEmkMZO sBAtbUUL0cIi4k9mJrkg6SzUdFY2aYSg0SJFSHZmNib+IFgYRVQUxfPN3Ju7M9x4F252TyEffNztN/tm vp33dmYn2AjCs0Mxkx+D6vPtKHlFfEvuiLlchDHGUHIjouJCzFUtoukllLyiNLm2W/cP/IGSG2Dmor6Z 0PQqSl6RjC/vQTM1lNzoqxnIYSVi4kTC0hFNMHO3frO4bzWfjKk8bc206iEVh4OIKRy8z9QvTXg7HSZU @@ -221,7 +221,7 @@ uASv8Wynw1/PafKJ/8dMyF8SfWYp8eyIJhxduDHDxR2r+SSk+Zg106rHE6/2wkFfTdvGvpKpdV2cx+HP YyjGJ4ZcCt0I+nxD80xr4A9tQp7HZDWxVcAu/FNm4LvjDNz4PWSrIyh5BamuhHrhJDSbRQkRBL8BZJVH ypml/dsAAAAASUVORK5CYIJPAwAAiVBORw0KGgoAAAANSUhEUgAAACMAAAAjCAYAAAAe2bNZAAAABGdB TUEAALGPC/xhBQAAAAlwSFlzAAAOvwAADr8BOAVTJAAAAvFJREFUWEftlk1oE0EUx1eLeLA2O7tpBVHr TUEAALGPC/xhBQAAAAlwSFlzAAAOvQAADr0BR/uQrQAAAvFJREFUWEftlk1oE0EUx1eLeLA2O7tpBVHr R0VEEfTUkwelCoogeBA8eBK9iidvOQuijdmZbSIWRCw1FEFQRAQrIqjgzZTNzmyjBy/1ol5UMHV9k7zZ ZG3cbJL1IvnBO+Q/897773xsVuvTJyl0qzJKbO+YScsnkwqd8hOEeXuxRTxM5uwyGF82mPD/RRDLua5l /NXYLhowUmpVJLGgorqBeSPYLppwIi+QgtgjV6uX0Gl5H2F8vl4XVj3LN2G7aJQRSBZaJhNvOWMAZ/AC @@ -235,7 +235,7 @@ vkApEXozw/hLlBKh2cywJcZQjkYlwJl5hVLPyHcSvCpmVO20vbATh6KB7fmMZt7I3+vg41n+NcBL0Oky KrAqP5QRebVH4h7gVE5ckglQZF7+hkLnGoUSCCo+wSdEqtYsDibjZ9QXmgRWaQ4KyafrOkwmvsJ30TUs 2afP/4Sm/QYhIWlpSUIV4AAAAABJRU5ErkJggrMDAACJUE5HDQoaCgAAAA1JSERSAAAAIwAAACMIBgAA AB7Zs1kAAAAEZ0FNQQAAsY8L/GEFAAAACXBIWXMAAA6/AAAOvwE4BVMkAAADVUlEQVRYR+2XTWgTQRTH AB7Zs1kAAAAEZ0FNQQAAsY8L/GEFAAAACXBIWXMAAA69AAAOvQFH+5CtAAADVUlEQVRYR+2XTWgTQRTH oxWRCtmd2dov0WL1VhA/EVG8VkGxVVQEBQ89CMWLKAgeigdBWi202ZlEW1AEQeOhoKA3D+LNHnoomMxs 0qYH60ERq7ZatPHt5s2mTdI2u0msB3/wWHjvzXt/dj52NvBX6Rpda3DZSbh8S7kcIUxeqTbH6jH69zBY rI1w8QFEpOcbCPtKePwqplUe3Ywfotz6kStEGYicqeHWbkwvjaApt1FmndDN2PlCRpiIuY1haur7xIbN @@ -251,7 +251,7 @@ 3XnQ0II1043u8gM/V5N2E5iq74RbR9DtYm9xiH9UYsg92YKh8uOcJ0z8dJrZTyYfgcBrMCWXDSYegN9+ zRkhTJ7BYZUDGp2CA21CNc01EDdtcNEPvxurcUhlCQ5MUFicQ3A4vbebg804Uwg/X5o5tgPTKkQg8AcR vKlxXPS5CQAAAABJRU5ErkJggvsEAACJUE5HDQoaCgAAAA1JSERSAAAAIwAAACMIBgAAAB7Zs1kAAAAE Z0FNQQAAsY8L/GEFAAAACXBIWXMAAA6/AAAOvwE4BVMkAAAEnUlEQVRYR71XW4gbVRgerBZbbSZnZosX Z0FNQQAAsY8L/GEFAAAACXBIWXMAAA69AAAOvQFH+5CtAAAEnUlEQVRYR71XW4gbVRgerBZbbSZnZosX WiqiUItFWlAQC4JS8KUgq1V8EfTBRbw8qKAPhRSpvi2lmTkzSVusiGANFe1LhUpd9E2tLtiYzZwzMbhd d11XWhENamzX75z5ZzJpk93Z6wc/u/lv55v/3P5jLBWMi3ctT85aXJ5jXO43S3InmVYfCZm0cPkv9JOM ByeYW99FriuPnmSuEObJwCoFgxSycugmEwwzTxRRmS9VddKEIhHHTS+4nUKXH2kypid2kNqwj85ssD35 @@ -272,7 +272,7 @@ Q1cSNOv4om8wz6/2e6JuKYxcz8r1XfA9jPhGvH2VILaFnfoGuS4M6t2EhPuv/jISLmdg/woDfqEE1atB n3oEdkR1B6xYf4BSLx4YcDMaLwcDpp+n84uqCpff6YW7TE+cDrAQ0fM8hivjDAji0NJvrTYGxfThXYV+ FhWYVFXAFv4Azfp9FJkBhvE/nULYPJSZHqUAAAAASUVORK5CYILnBgAAiVBORw0KGgoAAAANSUhEUgAA ACMAAAAjCAYAAAAe2bNZAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOvwAADr8BOAVTJAAABolJREFU ACMAAAAjCAYAAAAe2bNZAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOvQAADr0BR/uQrQAABolJREFU WEe9V2tsVEUUvoggSNu9d++WiqmSGMSowR+oCfhH1IgaTTAKCRGfSASC/iCa+MBQE4mWmAp179zdCkmF HyjlF2IkRJ7yiI8Gamm6vTN3WSgWAhQkoOVRSv3O3LO3vexiAAtfMtmd75yZc2bOmTlzjWuBncxNirv+ zriQC5m6cShb1h63XD9pCSktV52Ou6pXNyEvWE7bZ6x2Y2Cl1LrQgaAdRmvQ/4W8aKf9Fca03sGsfv1Q @@ -302,7 +302,7 @@ Qd5NIpzIShoHno7+D/Q8RbKOH131P746cX2/rB0KWg8M/IwPuGr8bkP/bD+ZbsiBDh5qJJKtYw0UVO4O DLC694P4Rg2DQymRByDfhHfu51ZaTeQh1xfIhVUwfA6Gj6DoNVpO2wfF7o+rh2H8C/tPpAJKeuZcAAAA AElFTkSuQmCCLgIAAIlQTkcNChoKAAAADUlIRFIAAAAjAAAAIwgGAAAAHtmzWQAAAARnQU1BAACxjwv8 YQUAAAAJcEhZcwAADr8AAA6/ATgFUyQAAAHQSURBVFhH7ZY9SMNAFMc7KSqY5hIRxUGhuGvxa3RxFsRF YQUAAAAJcEhZcwAADr0AAA69AUf7kK0AAAHQSURBVFhH7ZY9SMNAFMc7KSqY5hIRxUGhuGvxa3RxFsRF cBKc3UQQujgoIsU2d610ExcXQXBzdhMUkTa9S7XW70UQFF2KvtZnaZuobWnSwfzgT8i9d/d/gdy787i4 2EXPRqZFofoQoXyiQxM+HHaezvXTNpnxNGHioyDK5zDsLIQaOyWFfCmrxq78mFJ/JKpPyky8m4xp2ftf 4xWLn6G1GRJJDcuUP1pPrL/Aax+tK8fLxKppISaepeBlL6Y4i8KMEBTwAF/zBs+4yvgAhlxcagK26Shh @@ -311,7 +311,7 @@ RBMUOuyRzIx5HHYeEr0Yga76WrJjKN/FsD1IoXQf3PaWwGytWLn7S76AckX4NjxLcqtR7pqL1mZ+7MD2 3YF/6cDh+CCJiANoWMfFAtMnq8Wgr+jluVWJ6otoXTleZsyAeeFUzkvjKQw7j8oMvxwxDuFHvpc1vtK1 dduKIReXBuHxfAKJMLsWKlnJHAAAAABJRU5ErkJggqgCAACJUE5HDQoaCgAAAA1JSERSAAAAIwAAACMI BgAAAB7Zs1kAAAAEZ0FNQQAAsY8L/GEFAAAACXBIWXMAAA6/AAAOvwE4BVMkAAACSklEQVRYR+2VzWsT BgAAAB7Zs1kAAAAEZ0FNQQAAsY8L/GEFAAAACXBIWXMAAA69AAAOvQFH+5CtAAACSklEQVRYR+2VzWsT QRTAVwTxq25ndmMoFBQU/DwouXjw4N3ebE8VES/e+n9IERV2ZptUyFHISTzXg3oTwSiYpDObLhY1BcH6 VQSrxLfJo/uR2eyullBwf/BI8t6bmV9mH4mWkwS1nDnK5INgYGn09AS47AYDS6Mnl4njv5UZZ43LBS5n 8OMgfyNjLjQm8G1qKF+Zwf1/US6uYDpMVhmTiynCRYdaYhpTiRhWeza4P+Fyw+TtKSz7ZJExbPcSYfIL @@ -322,8 +322,8 @@ Xk32FiHGreYYfOvPwb5ggOwTrdbdg+3JxMlM3l7dR9hyXwgO1KvrysEz7jfHlDfE5DOt6u7FtnTEyXh4 P0pwIw8P320XMaUEH9nWDBFbPD6SVcRjmEwW6D1x2htgGPpHWq22G9PZ2C4ZD8qWT2nd7i78mJ3tlPln cpk4cpk4dryMyZ3SKAIVfFQyowpU8MllMFDBZ0fJ5ITQtD9ezk3xfUWR9wAAAABJRU5ErkJggnEEAACJ UE5HDQoaCgAAAA1JSERSAAAAIwAAACMIBgAAAB7Zs1kAAAAEZ0FNQQAAsY8L/GEFAAAACXBIWXMAAA6/ AAAOvwE4BVMkAAAEE0lEQVRYR+1XXYhUZRg+/WDS1uz5mZ3N6KYgqhUFf0CUoJvoIhIlqC6K6qYkwSK6 UE5HDQoaCgAAAA1JSERSAAAAIwAAACMIBgAAAB7Zs1kAAAAEZ0FNQQAAsY8L/GEFAAAACXBIWXMAAA69 AAAOvQFH+5CtAAAEE0lEQVRYR+1XXYhUZRg+/WDS1uz5mZ3N6KYgqhUFf0CUoJvoIhIlqC6K6qYkwSK6 sW62C/HCH3R3z/fN6BqGIizTRfTjTQSSZN5U9jM253znzI4aGYtgYLr+pePzfuedWWa+OTvssCMEPvCy +73f+/Oc9/3+xrqDbuCNBk+6I2qoFzI0XFrAaWaHK+M3HKHOuTKq9UoQfxric8r2yI5Fy7WxjP6F8ReO jD/vhbhC/aaJifBFTm3CE8F6MsoI9RyreoakQtEnPDTRLZncWHkJqvkB5DPbV6+yelbMOxlvrPywI4Lj @@ -342,7 +342,7 @@ /6WPTTqTme9fB25hchU9T6jNrGrgtpOZDf8vMq6sPEtGtlTHrGJNH3C9AA7U13UeP/yIVSbwozyDlf8j Gd4OeWhEDXDqFAxXF6Iy7+Do3kdl7In4lc19s7yV7mAGlnULxav3YjbLby4AAAAASUVORK5CYIK2AwAA iVBORw0KGgoAAAANSUhEUgAAACMAAAAjCAYAAAAe2bNZAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO vwAADr8BOAVTJAAAA1hJREFUWEfdmE9IFHEUx6cCMTadf+6ugWB4CToUQXTISxgIdbEIIgjq0ik72CUK vQAADr0BR/uQrQAAA1hJREFUWEfdmE9IFHEUx6cCMTadf+6ugWB4CToUQXTISxgIdbEIIgjq0ik72CUK oq1bHWrddn4zSpkgWLgEUUQFEdYlOkSEre3O/GZ30cLI0shMKkv7/mZ/m5q6uOPOCn3h4c57vz8f3u/N mxmFhaTqdoNMzHNemUqsY2I4I/Ht5qu2M1MuE6tX1q0JRafTnhuxfuHvsBRNNnOErCQjvUUmdIwNAnVU 0a39op5s8MoUkm5Uo7QZWbKzYLSbowgCMvLBcbalG7mrJAq09gWx7z1kaUrWzD2CqlmHsnT2WT6mpPJd @@ -357,8 +357,8 @@ eKEZGEJfsh+oBVe3ZTEka7QVHD9BZZ5xshOxNvFYyYU+9Qx35hehqu3NehTQDzgGazt7y3m8ZMIHXFO2 VOwexwGqSNZBnwRIarMQmnb9GbJUsRrF14VzKth/SAjFy3gIQd2OIkPOv0UQHIP1e2hpdG7nsxonEq80 zO0cY0ZqNLENg26imDKYMOyhDcGe42ha+NaQIPwBvnLRA85dlrkAAAAASUVORK5CYILrAwAAiVBORw0K GgoAAAANSUhEUgAAACMAAAAjCAYAAAAe2bNZAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOvwAADr8B OAVTJAAAA41JREFUWEftlstrE0Ecx1dbEWzT7Mw0iVQRpahV0YOgoh58gHgTD6KgoiiKeBHx4rFaUFsf GgoAAAANSUhEUgAAACMAAAAjCAYAAAAe2bNZAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOvQAADr0B R/uQrQAAA41JREFUWEftlstrE0Ecx1dbEWzT7Mw0iVQRpahV0YOgoh58gHgTD6KgoiiKeBHx4rFaUFsf tGn2kTSFFvViwBc+8ElRUXwUPGibZGa3pSJUVFDwD4jfWaa1qX1kDT2ZDww7v99vZve7v/ntzGolSpT4 bwgn3QgxeZqYIjNps8VhNW1qoHZ2DjGzDcocnyifSSxxGu0QRO2Uc0ibWKaiHqz9W4C1D9Ro9bnpyuWP scQEbGdhuMWNKHOYyIXBCmToKzP53mBcrKSmk6S2u0XGqMUPEsu5RS2nDZl+HIj1Mm+SH/LEJLpn4K0b @@ -388,7 +388,7 @@ cmVhbWVyAgAAAAlJbWFnZVNpemUERGF0YQQHE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAAgIAAAAF/P// /xNTeXN0ZW0uRHJhd2luZy5TaXplAgAAAAV3aWR0aAZoZWlnaHQAAAgIAwAAABgAAAAYAAAACQUAAAAP BQAAAHYRAAACUQMAAIlQTkcNChoKAAAADUlIRFIAAAAYAAAAGAgGAAAA4Hc9+AAAAARnQU1BAACxjwv8 YQUAAAAJcEhZcwAADsAAAA7AAWrWiQkAAAAHdElNRQflCAUIAxZcGSxIAAAAB3RFWHRBdXRob3IAqa7M YQUAAAAJcEhZcwAADr4AAA6+AepCscAAAAAHdElNRQflCAUIAxZcGSxIAAAAB3RFWHRBdXRob3IAqa7M SAAAAAx0RVh0RGVzY3JpcHRpb24AEwkhIwAAAAp0RVh0Q29weXJpZ2h0AKwPzDoAAAAJdEVYdFNvZnR3 YXJlAF1w/zoAAAAHdEVYdFNvdXJjZQD1/4PrAAAACHRFWHRDb21tZW50APbMlr8AAAAGdEVYdFRpdGxl AKju0icAAAJRSURBVEhL3ZbPa9NgGMfTbk0jdDUpu9mhh83b1pO2nhQR27WwXx16dN4UWzecJz2qE6S3 @@ -402,7 +402,7 @@ 9DmhchFGE+KX2cY9eYl1THYD4P4lka1RjzC8icw01e1Q72A6BqPInyL8vo6eKto3iWs/ACmamRrW9MY2 ByiF2enIUDpGNTdE2gM0VkSfdBCAhMd0mQP+051sh3S21QGw+6JPwmdLFvUd6AMeipy/js+WBQewtedb 0i+miWUm3rmsyAAAAABJRU5ErkJggjYDAACJUE5HDQoaCgAAAA1JSERSAAAAGAAAABgIBgAAAOB3PfgA AAAEZ0FNQQAAsY8L/GEFAAAACXBIWXMAAA7AAAAOwAFq1okJAAAAB3RJTUUH5QgFCAUpvCWm8wAAAAd0 AAAEZ0FNQQAAsY8L/GEFAAAACXBIWXMAAA6+AAAOvgHqQrHAAAAAB3RJTUUH5QgFCAUpvCWm8wAAAAd0 RVh0QXV0aG9yAKmuzEgAAAAMdEVYdERlc2NyaXB0aW9uABMJISMAAAAKdEVYdENvcHlyaWdodACsD8w6 AAAACXRFWHRTb2Z0d2FyZQBdcP86AAAAB3RFWHRTb3VyY2UA9f+D6wAAAAh0RVh0Q29tbWVudAD2zJa/ AAAABnRFWHRUaXRsZQCo7tInAAACNklEQVRIS2P4//8/HDNw8vJzxXTUCU29/RCI/wlNu/2faAzUwx3b @@ -416,7 +416,7 @@ 3gapAerbCawyQ4AWvAZi3FUmqMIGuQCIQS75BXTlEaBrXZDVIGPumDZnoAWHgWp/Q/X854rrbEZWg6IB 6H0BLmDTA9QEAbpqF09cuzlQjAVZDTIGyXHHtpkLTbu5D9xsAcYRIycfUrPlPwMAF2ID8e3mEC0AAAAA SUVORK5CYIKyBAAAiVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGPC/xh BQAAAAlwSFlzAAAOwAAADsABataJCQAAAAd0SU1FB+UIBQgHKY4TxHEAAAAHdEVYdEF1dGhvcgCprsxI BQAAAAlwSFlzAAAOvgAADr4B6kKxwAAAAAd0SU1FB+UIBQgHKY4TxHEAAAAHdEVYdEF1dGhvcgCprsxI AAAADHRFWHREZXNjcmlwdGlvbgATCSEjAAAACnRFWHRDb3B5cmlnaHQArA/MOgAAAAl0RVh0U29mdHdh cmUAXXD/OgAAAAd0RVh0U291cmNlAPX/g+sAAAAIdEVYdENvbW1lbnQA9syWvwAAAAZ0RVh0VGl0bGUA qO7SJwAAA7JJREFUSEu1lWtIU2EYx9XNnW1uOzvrYrgooW3qh+jGnBFFUVHOUtIuH5yWH0IidUYQToXI @@ -436,7 +436,7 @@ 5J6Ad2iOz0bZOuz98UmzYfCYXRN+Dc0E6i7SjNOFI7dOI3APSSqIA2t6S+O8sEtmzNJAPwPvxT59Y+A2 S0vomwJ3tNVdtfz+rgWxmXEZOYnqPOccpb0K/63iUdgK50jnjPcilaUlFDlFU/q/iv490YTfk7A7mb9U KgkAAAAASUVORK5CYILFAwAAiVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEA ALGPC/xhBQAAAAlwSFlzAAAOwAAADsABataJCQAAAAd0SU1FB+UMAgYxFD2uqmYAAANUSURBVEhL3ZVd ALGPC/xhBQAAAAlwSFlzAAAOvgAADr4B6kKxwAAAAAd0SU1FB+UMAgYxFD2uqmYAAANUSURBVEhL3ZVd aBNBEIDPatWGNHe3m5JUai2CqKCiiAiCiK+CQu2bPqggPojog8UqVIuICBWsl9xf0rQBadQIIvgDSrU+ FFFpkYKx6f01aeyfINaq4A/COntZoa2tMeBTv7ebmZuZnZmd5eY/fCztxaq1W1SsJqQYYaxYV3nFOs0r 9i5RM5Zxes8iZprnXKrUJ70o53QyXT4TJKXWIi1zSVStYVFzvkKAEaRajqBaOaRY33DbKIHve0v1bFBQ @@ -452,7 +452,7 @@ gRt7VtSdt6I+OAn6ZnSlP8h+KQ54VBQoz0dBM45Axlfzc+/UQYBeuAffYWt+Af1zFB6qZL8UB2R9GHb6 e0E2WugC8yc+0i27kz5EAgQB/Us+bK+rnrrUiiFwbcwjyDZkbzXxqnUUHp6oV3rtLkIhZG+DV26LazjP 4bhfNRunpcLrCnEAAAAASUVORK5CYIJkAgAAiVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34 AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOwAAADsABataJCQAAAAd0SU1FB+MMDwEOHT3QFbsAAAAH AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOvgAADr4B6kKxwAAAAAd0SU1FB+MMDwEOHT3QFbsAAAAH dEVYdEF1dGhvcgCprsxIAAAADHRFWHREZXNjcmlwdGlvbgATCSEjAAAACnRFWHRDb3B5cmlnaHQArA/M OgAAAAl0RVh0U29mdHdhcmUAXXD/OgAAAAd0RVh0U291cmNlAPX/g+sAAAAIdEVYdENvbW1lbnQA9syW vwAAAAZ0RVh0VGl0bGUAqO7SJwAAAWRJREFUSEu1lb1OwzAUhQNESpAa0eQJuhRmKkQklkpILIl4AV6A @@ -465,70 +465,6 @@ </value> </data> <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> <data name="navBarGroupPara.ImageOptions.LargeImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <value> iVBORw0KGgoAAAANSUhEUgAAAB8AAAAfCAYAAAAfrhY5AAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAADCklEQVRYR+2W70tTURjH/bfqRa960/+Q xYiUSJMiiDTQltMLWVOnW/5gluJENyoTzVZtkksrI0Vx+OtVWhn+wDQJRvTtfs+9zzzIGl5d601feLju 7Hg+3+d5zjm7BUdVoDaB8vIIiotb1dPnG0Mg8A7PjEXYU3IvQj3uQbQPz6F3ZgNDX4EnK8Cjj0B4Cega 24C/N4k6dzS3JhrdcYSic1jYhYpFADO/gPc/956vvlsm2se24fHGUVE9eHQTzDgxaaZoa92Eze5YUMIY rALhNBH9ZBqYSOHmnZGjGSA4NLpsYy0RTgCD4NC8FWKCBhKblgHCrxQ2H85AW8+0ykgX4ew1YfyOPedn PWjg+RrQEl/F5fPtzuEd4SQeJ7cwYfbYXE+Vmv2WjAkhnJDYt72QzzTAOTeMp86zb7n/QS3E3nKDCVTA BBA+nrJAesgYv/cPzjuDM2sG4VyEQPaRwTEdSnOZQozwWBLOCtjLZxfB3bEVVXJCumatYH/1nU0Iq5Ip xADn8kJyDGemApdySzV0MPeEHvsNEH7g0kvZ2Wf+s/Q6U9aE8QToIQY4J7psld1R3/0tEwrIBZixDt8P Ng9CWvybY5J93/iCs55TA0YSnW+20htM73c2uEgy99RbR80RnGrunFb9Zpl5tLKVfb8BjsWW1tQl46jk osbGF2gaWEmXXy6SP/Vc15cfKVTXWddrTVnIOZwyjOG0AR49giV0A3xKBdZNsK91BJWnHexyCj1nsB6M YapjCpFIBBUVHvU73tA3pwxwD9AEwXoQzni7ug1vII5bZ4MOwX0uYLTQ3F2nMBmuhdvtRvBeEOHWh6p0 /JXidclbi+XXr1b2t3soqYwSemjwTtMxvL56EvUl5+B1eXGpqEQtylcm7loJ/TXq7rX+NNRRjzOBw2Uu dFXeRnPpg/RCYoBPAgQmwXF76sGUDdzmi4GvUPbU3OogYJbcnp476eDNhuP/wX8PTO2+/EdgquZ6ET57 T+QfTBmGgfKLLnSX5hksqrpQpWD+6v78gkW8jQjNH7ig4DcMNAAPcC3SKQAAAABJRU5ErkJggg== </value> </data> <data name="navBarGroupPoint.ImageOptions.LargeImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <value> iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABV0RVh0VGl0 bGUAUGFsZXR0ZTtDb2xvcnM7PtdOcAAACSxJREFUWEe1l/lXVOcZx02aZjWrWbr8E22z9LQ9TWuO/SE9 aVpTV5BFVgWRHYVhkUUR0aooRhFRwi6IwiAioFVQthl2hmVWtmGGmQFkBlQU+fZ53mHGkJpzcnqaOecz z3vve+/7/bzvvXeWVfR6jnie+AnxAvHTHxnO4DzOFa/niyua10lv9Mmu3hyA4AYzKGoVt8W+/uXtfjv1 A5BSldY7tu3wtrRe8R2e7q+s7RssvHR3HeXyhIXEC5V1CqN5eg7f91r6X6C3Z2GyzOFyTa+Rcnk1hMCL FbUK0bm4uPSDeLzM4uKT5bajOtrfxxLlLKH8Wi8o9yWCL8Wql8preoUAH5TW2o1DrT04JOtFuqwP6e39 xAAOdw6K/jKZHy7J/VHOdPjjSucOXO7agUri8eMnUHbGQN21l9gDbXckdN3h0PWEESF4RP0sUFrVzQIv OwReLrvaIzr4gIMtPZAapldQOTGNY8pxMYPSVh90G4//F7XqnaJfRaH3p3Jx35KDeXMO5szZxBnMaENI cAlPniyhRNrJAq84BUqqupwCKU1duDBsxHkiR7eM1oD0gRExQEmLBxpHY9A4Ek04ajSqVT5iBVQdwbBN HIJVfwA2fQqs40nEPsyoA0Q/CxReaV8h8EpRRbvoWHi0iITGDpxS6XFKqUcmzTpzaAwnif09WiGY3+yC eppNvTYYNwhRNcGoHPQQ/er2AMyOxWN2NA6zJDg7upfqHkxpfEQ/3zd5l2Qs8CrBT8KqV/PL5ULg4cJj xDTIcbBXi0N9WqT36aitQUq3GvEdSjwiwbymzagc8ET1kC+uKf2o+qCi3xPlClcxAZXcB1O6IEzrgu1o AjGl9oV50A0PqZ/vo9zSNhZ4zSlwoVQmzB48fIzIm62Ikw9BQsTIBhHTNojotgFEtw5gYWERuXf+iUu9 m1HWu2kFpb0baQKLUMvdYVF5waL0pFAPWCjYPOgK84CLmCCvwrniZhZY7RB4LTO3UZjN33+EkLoWRLX0 I7JFgchmBSKamD4BC+Y0fomL3V+hhOniuh4XuRLcr5JtpXA3mCjUNLAVk/2bYerfRGzEfernVcrIub1C YHXaqXphP0cCDA/EB3+3Mrb5BWf7WdjmHznb89+uD54ek5JxnQVedwqknqwTwTPWB5AUtEFSKIOkiGmH pLgDsUxJJ6xzC0ipWYsDxP7ra5Fa+xlS66jWr0XazT+LfkVZMPpLgwSDpYFQlgZAeXEn1KX+sMzcxz3b QyQdu8YCbzgEXk/JqIWNTjaa5xCd34bidpOTIrkJhcS+Sp24RMk1n6JCHeykUr0bV1RBONq2VkxCURIA W3cWbF2nYev8GraOTNjaT8Bc5UcC85iefYiEI9Us8CbBX0yr3kg+WoNZ2wImTHOI+KYVJ26N48S/9ci4 OU6M4fiNMcReVovlTaz+A3LphrtAnO/dYKdnAw63fAorXR5FkQ/uNdBz3xCPmduxmLkVjembe2G67AnT 1Dws9x4gLr1qhcCb+8hoxvoQ45M2hOe24HDdKNJrieujOESk1Ywgpkwtljih+nc40/UlTnd+sYK0pt/b L0GeO6ZvRGKqPhyWulBYanfDUhOEyTK6IS3zMNEqSNIqWeAtp0A8GbHZmNGK0POtiL+iQWKlBklSHfZV aBBXrkLURSWm2P7qJzjS+icck32GDNk6UQ+3/BEH7v5WjNGfuxlmqRfhC4vUD+bK7Zi85AJD8VcwkgBL RKdWsMDbDoG3JGlSmOkGGTHMIii7FVElSkQSEcXMEMKLhhBG8ACSqx9i/91PkMLc+RgpjR8jWfCR6O87 tx7Gi5thLNkAI4Uaiv8BQ9HfYSj8GyboHmOiUq6wwDsOgbfZaJKuz7B+FgFnWyhsEGGFdkIL7ITkD8JA J++V/gqJDR8iiUhs+A32Mbd/LeDBFdlfUCCFFlJoAYUW0Hb+XzGR9zn0JhvGTVZEJJc7BPg3wap3olIu w0A/FLTj9wR2U5vTmNt6rjSAdmxG3Kw8mID229v2qqZ+Pd1LAt4/aV2uFE6MGqwISyxjgTUOgTURSeXi IA2FB6fWYvfBOgSlMvUIOniDqh0eXO59Fu3e2ejwPodOoss7B13b7ahGZyAL90J7GEG1g2pn6HbCE12E cmQawxOzCIkvZYF3nQJhiZcwapyFmgYIPHAdOdVa5FRpcY7IlmpxVqpB6NE2MQPZ9ixMf92CqVPNsGQ2 wXKyCeaMJoz4lWGMZisL8cRUfiYseSdhyT0J84UMmM9nYDjChzKsYoWDYktY4D2HwLtsxGZs6J9cg7S8 fhzMUyD1mz7sv9CHlPO92HW4BaMUIPfIwmRCHYxx12GMrYGBmJDUQOdVIgJkQW4w/isOxiMSGNIlmEiL gf5gDHRh2+kmt4pV2hVTvELgvd2xF4XZ0PA0fBOrkZDdjYSzXYjP6kLs6U5ITndgZ1qTuH5ytywYoqqh j6oiqjEeeRXj4VXQehaLflmAC/T7o6BPjsJ4UiTGE8MxlhAGTZA7TdJKGVPYGV3EAu8TLwoBNuLrO6Cb gldCNUKOtSE8Q4aIDDlCjrfR7Jvhu/8ORmiVZK5nMLKjHGOBFRgNqqT2ZWi9y6DZViRWUbbDBSN7/DEa HYCRmEAMR/lDG+oFdYArdPSUcYZ/VAELfOAQeD+AjHj5B7QWeEqqsOPAXfgRHOqdcgdeyQ3wSrotHlP5 lixoPYqgdSfciqB2LYTapQCqrQUioM1nE83WDZrAbSJUvdMFKv+tUPptof57UGgs8I3MZ4GfOQQ+2LGn QJj1U+e26Cp4JzdSIJHYgO37bsOT8Ei4JQLkm7Kg3kahFKxyKYRyaz6UWwqIQhHQ5rWRQl0p1AVKDvbd AqXPZgzSfh1d5j6NGT4ReSsF/KLyRXif2kxYRJCde08rnayl2qsyL++3b4s6PrMM95tEmx9p/sywt6lS W0P00PleobkrBNZ4h+XOVNHfLxZQCAmTaHNYHw3Ig3KbTxZtpb1tx2RHyZjRLapJ1GdRQX/PPIJzZijX +Tmw+vONEjf3XefM7kHn4SbIsbMrB9t2nXPiGvgssuES8MPZujNr9i/r97hTrvMXEVvw7zM2+jnxi2/x y/8zPCY//xzOueK/Ib+xCe/ga8L/2X5MOIO/BSl31XP/AcNQlntqrRe0AAAAAElFTkSuQmCC </value> </data> <data name="navBarGroupJieZhi.ImageOptions.LargeImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <value> iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABh0RVh0VGl0 WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/01-pump-chart/01-chart/02-variable-speed/PumpVariableSpeedInfoCtrl.cs
@@ -32,6 +32,23 @@ private List<PumpVariableSpeedInfoViewModel> _all_binding_list = null; public void SetBindingData(PumpVariableSpeedInfoViewModel item, Yw.Geometry.Point2d design_pt = null) { _all_binding_list = new List<PumpVariableSpeedInfoViewModel>(); if (item != null) { _all_binding_list.Add(item); } this.txtDesignQ.EditValue = design_pt?.X; this.txtDesignH.EditValue = design_pt?.Y; this.pumpSerialParallelInfoViewModelBindingSource.DataSource = _all_binding_list; this.pumpSerialParallelInfoViewModelBindingSource.ResetBindings(false); this.gridView1.BestFitColumns(); } public void SetBindingData(List<PumpVariableSpeedInfoViewModel> vm_list, Yw.Geometry.Point2d design_pt = null) { _all_binding_list = new List<PumpVariableSpeedInfoViewModel>(); @@ -122,7 +139,24 @@ } return _all_binding_list.Select(x => new PumpVariableSpeedInfoViewModel(x)).ToList(); } /// <summary> /// è·å /// </summary> public Yw.Geometry.Point2d GetDesignPoint() { if (!double.TryParse(this.txtDesignQ.Text,out double x)) { return default; } if (!double.TryParse(this.txtDesignH.Text, out double y)) { return default; } return new Geometry.Point2d(x,y); } #region Color private List<Color> _color_array = new List<Color>() WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/01-pump-chart/01-chart/03-serial-parallel/PumpSerialParallelInfoCtrl.cs
@@ -69,6 +69,25 @@ this.txtDesignH.EditValue = design_pt?.Y; } /// <summary> /// è·å /// </summary> public Yw.Geometry.Point2d GetDesignPoint() { if (!double.TryParse(this.txtDesignQ.Text, out double x)) { return default; } if (!double.TryParse(this.txtDesignH.Text, out double y)) { return default; } return new Geometry.Point2d(x, y); } #region Color private List<Color> _color_array = new List<Color>() WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/01-pump-chart/01-chart/03-serial-parallel/PumpSingleSerialParallelInfoCtrl.Designer.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,546 @@ namespace Yw.WinFrmUI.Phart { partial class PumpSingleSerialParallelInfoCtrl { /// <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 System.ComponentModel.Container(); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(PumpSingleSerialParallelInfoCtrl)); layoutControl1 = new DevExpress.XtraLayout.LayoutControl(); gridControl1 = new DevExpress.XtraGrid.GridControl(); pumpSerialParallelInfoViewModelBindingSource = new BindingSource(components); gridView1 = new DevExpress.XtraGrid.Views.Grid.GridView(); colQueryQ = new DevExpress.XtraGrid.Columns.GridColumn(); colQueryH = new DevExpress.XtraGrid.Columns.GridColumn(); colQueryE = new DevExpress.XtraGrid.Columns.GridColumn(); colQueryP = new DevExpress.XtraGrid.Columns.GridColumn(); colExtendRatio = new DevExpress.XtraGrid.Columns.GridColumn(); colQhCalc = new DevExpress.XtraGrid.Columns.GridColumn(); colQeCalc = new DevExpress.XtraGrid.Columns.GridColumn(); colQpCalc = new DevExpress.XtraGrid.Columns.GridColumn(); colId = new DevExpress.XtraGrid.Columns.GridColumn(); colName = new DevExpress.XtraGrid.Columns.GridColumn(); colColor = new DevExpress.XtraGrid.Columns.GridColumn(); repColor = new DevExpress.XtraEditors.Repository.RepositoryItemColorEdit(); colIsBp = new DevExpress.XtraGrid.Columns.GridColumn(); colRatedSpeed = new DevExpress.XtraGrid.Columns.GridColumn(); colCurrentSpeed = new DevExpress.XtraGrid.Columns.GridColumn(); colCurrentHz = new DevExpress.XtraGrid.Columns.GridColumn(); colQh = new DevExpress.XtraGrid.Columns.GridColumn(); colQe = new DevExpress.XtraGrid.Columns.GridColumn(); colQp = new DevExpress.XtraGrid.Columns.GridColumn(); txtDesignQ = new DevExpress.XtraEditors.TextEdit(); txtDesignH = new DevExpress.XtraEditors.TextEdit(); btnSetDesignPoint = new DevExpress.XtraEditors.SimpleButton(); cmdCalcType = new DevExpress.XtraEditors.ComboBoxEdit(); Root = new DevExpress.XtraLayout.LayoutControlGroup(); layoutControlGroup1 = new DevExpress.XtraLayout.LayoutControlGroup(); layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem(); layoutControlGroup2 = new DevExpress.XtraLayout.LayoutControlGroup(); layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem(); layoutControlItem4 = new DevExpress.XtraLayout.LayoutControlItem(); layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem(); simpleLabelItem1 = new DevExpress.XtraLayout.SimpleLabelItem(); simpleLabelItem2 = new DevExpress.XtraLayout.SimpleLabelItem(); layoutControlGroup3 = new DevExpress.XtraLayout.LayoutControlGroup(); layoutControlItem5 = new DevExpress.XtraLayout.LayoutControlItem(); spinCount = new DevExpress.XtraEditors.SpinEdit(); layoutControlItem6 = new DevExpress.XtraLayout.LayoutControlItem(); ((System.ComponentModel.ISupportInitialize)layoutControl1).BeginInit(); layoutControl1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)gridControl1).BeginInit(); ((System.ComponentModel.ISupportInitialize)pumpSerialParallelInfoViewModelBindingSource).BeginInit(); ((System.ComponentModel.ISupportInitialize)gridView1).BeginInit(); ((System.ComponentModel.ISupportInitialize)repColor).BeginInit(); ((System.ComponentModel.ISupportInitialize)txtDesignQ.Properties).BeginInit(); ((System.ComponentModel.ISupportInitialize)txtDesignH.Properties).BeginInit(); ((System.ComponentModel.ISupportInitialize)cmdCalcType.Properties).BeginInit(); ((System.ComponentModel.ISupportInitialize)Root).BeginInit(); ((System.ComponentModel.ISupportInitialize)layoutControlGroup1).BeginInit(); ((System.ComponentModel.ISupportInitialize)layoutControlItem1).BeginInit(); ((System.ComponentModel.ISupportInitialize)layoutControlGroup2).BeginInit(); ((System.ComponentModel.ISupportInitialize)layoutControlItem2).BeginInit(); ((System.ComponentModel.ISupportInitialize)layoutControlItem4).BeginInit(); ((System.ComponentModel.ISupportInitialize)layoutControlItem3).BeginInit(); ((System.ComponentModel.ISupportInitialize)simpleLabelItem1).BeginInit(); ((System.ComponentModel.ISupportInitialize)simpleLabelItem2).BeginInit(); ((System.ComponentModel.ISupportInitialize)layoutControlGroup3).BeginInit(); ((System.ComponentModel.ISupportInitialize)layoutControlItem5).BeginInit(); ((System.ComponentModel.ISupportInitialize)spinCount.Properties).BeginInit(); ((System.ComponentModel.ISupportInitialize)layoutControlItem6).BeginInit(); SuspendLayout(); // // layoutControl1 // layoutControl1.Controls.Add(gridControl1); layoutControl1.Controls.Add(txtDesignQ); layoutControl1.Controls.Add(txtDesignH); layoutControl1.Controls.Add(btnSetDesignPoint); layoutControl1.Controls.Add(cmdCalcType); layoutControl1.Controls.Add(spinCount); layoutControl1.Dock = DockStyle.Fill; layoutControl1.Location = new Point(0, 0); layoutControl1.Name = "layoutControl1"; layoutControl1.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new Rectangle(1126, 544, 975, 600); layoutControl1.Root = Root; layoutControl1.Size = new Size(560, 891); layoutControl1.TabIndex = 0; layoutControl1.Text = "layoutControl1"; // // gridControl1 // gridControl1.DataSource = pumpSerialParallelInfoViewModelBindingSource; gridControl1.Location = new Point(0, 214); gridControl1.MainView = gridView1; gridControl1.Name = "gridControl1"; gridControl1.RepositoryItems.AddRange(new DevExpress.XtraEditors.Repository.RepositoryItem[] { repColor }); gridControl1.Size = new Size(560, 677); gridControl1.TabIndex = 6; gridControl1.ViewCollection.AddRange(new DevExpress.XtraGrid.Views.Base.BaseView[] { gridView1 }); // // pumpSerialParallelInfoViewModelBindingSource // pumpSerialParallelInfoViewModelBindingSource.DataSource = typeof(PumpSerialParallelInfoViewModel); // // gridView1 // gridView1.Columns.AddRange(new DevExpress.XtraGrid.Columns.GridColumn[] { colQueryQ, colQueryH, colQueryE, colQueryP, colExtendRatio, colQhCalc, colQeCalc, colQpCalc, colId, colName, colColor, colIsBp, colRatedSpeed, colCurrentSpeed, colCurrentHz, colQh, colQe, colQp }); gridView1.GridControl = gridControl1; gridView1.Name = "gridView1"; gridView1.CellValueChanged += gridView1_CellValueChanged; // // colQueryQ // colQueryQ.Caption = "æµé(m³/h)"; colQueryQ.FieldName = "QueryQ"; colQueryQ.MinWidth = 30; colQueryQ.Name = "colQueryQ"; colQueryQ.OptionsColumn.ReadOnly = true; colQueryQ.Visible = true; colQueryQ.VisibleIndex = 4; colQueryQ.Width = 112; // // colQueryH // colQueryH.Caption = "æ¬ç¨(m)"; colQueryH.FieldName = "QueryH"; colQueryH.MinWidth = 30; colQueryH.Name = "colQueryH"; colQueryH.OptionsColumn.ReadOnly = true; colQueryH.Visible = true; colQueryH.VisibleIndex = 5; colQueryH.Width = 112; // // colQueryE // colQueryE.Caption = "æç(%)"; colQueryE.FieldName = "QueryE"; colQueryE.MinWidth = 30; colQueryE.Name = "colQueryE"; colQueryE.OptionsColumn.ReadOnly = true; colQueryE.Visible = true; colQueryE.VisibleIndex = 6; colQueryE.Width = 112; // // colQueryP // colQueryP.Caption = "åç(kW)"; colQueryP.FieldName = "QueryP"; colQueryP.MinWidth = 30; colQueryP.Name = "colQueryP"; colQueryP.OptionsColumn.ReadOnly = true; colQueryP.Visible = true; colQueryP.VisibleIndex = 7; colQueryP.Width = 112; // // colExtendRatio // colExtendRatio.Caption = "å»¶é¿(%)"; colExtendRatio.FieldName = "ExtendRatio"; colExtendRatio.MinWidth = 30; colExtendRatio.Name = "colExtendRatio"; colExtendRatio.Visible = true; colExtendRatio.VisibleIndex = 3; colExtendRatio.Width = 112; // // colQhCalc // colQhCalc.FieldName = "QhCalc"; colQhCalc.MinWidth = 30; colQhCalc.Name = "colQhCalc"; colQhCalc.Width = 112; // // colQeCalc // colQeCalc.FieldName = "QeCalc"; colQeCalc.MinWidth = 30; colQeCalc.Name = "colQeCalc"; colQeCalc.Width = 112; // // colQpCalc // colQpCalc.FieldName = "QpCalc"; colQpCalc.MinWidth = 30; colQpCalc.Name = "colQpCalc"; colQpCalc.Width = 112; // // colId // colId.FieldName = "Id"; colId.MinWidth = 30; colId.Name = "colId"; colId.Width = 112; // // colName // colName.Caption = "åç§°"; colName.FieldName = "Name"; colName.MinWidth = 30; colName.Name = "colName"; colName.Visible = true; colName.VisibleIndex = 0; colName.Width = 112; // // colColor // colColor.Caption = "é¢è²"; colColor.ColumnEdit = repColor; colColor.FieldName = "Color"; colColor.MinWidth = 30; colColor.Name = "colColor"; colColor.Visible = true; colColor.VisibleIndex = 1; colColor.Width = 112; // // repColor // repColor.AutoHeight = false; repColor.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] { new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo) }); repColor.Name = "repColor"; repColor.NullColor = Color.Empty; // // colIsBp // colIsBp.Caption = "åé¢"; colIsBp.FieldName = "IsBp"; colIsBp.MinWidth = 30; colIsBp.Name = "colIsBp"; colIsBp.OptionsColumn.ReadOnly = true; colIsBp.Width = 112; // // colRatedSpeed // colRatedSpeed.FieldName = "RatedSpeed"; colRatedSpeed.MinWidth = 30; colRatedSpeed.Name = "colRatedSpeed"; colRatedSpeed.Width = 112; // // colCurrentSpeed // colCurrentSpeed.FieldName = "CurrentSpeed"; colCurrentSpeed.MinWidth = 30; colCurrentSpeed.Name = "colCurrentSpeed"; colCurrentSpeed.Width = 112; // // colCurrentHz // colCurrentHz.Caption = "é¢ç(hz)"; colCurrentHz.FieldName = "CurrentHz"; colCurrentHz.MinWidth = 30; colCurrentHz.Name = "colCurrentHz"; colCurrentHz.Visible = true; colCurrentHz.VisibleIndex = 2; colCurrentHz.Width = 112; // // colQh // colQh.FieldName = "Qh"; colQh.MinWidth = 30; colQh.Name = "colQh"; colQh.Width = 112; // // colQe // colQe.FieldName = "Qe"; colQe.MinWidth = 30; colQe.Name = "colQe"; colQe.Width = 112; // // colQp // colQp.FieldName = "Qp"; colQp.MinWidth = 30; colQp.Name = "colQp"; colQp.Width = 112; // // txtDesignQ // txtDesignQ.Location = new Point(68, 135); txtDesignQ.Name = "txtDesignQ"; txtDesignQ.Properties.MaskSettings.Set("MaskManagerType", typeof(DevExpress.Data.Mask.NumericMaskManager)); txtDesignQ.Size = new Size(83, 28); txtDesignQ.StyleController = layoutControl1; txtDesignQ.TabIndex = 3; // // txtDesignH // txtDesignH.Location = new Point(299, 135); txtDesignH.Name = "txtDesignH"; txtDesignH.Properties.MaskSettings.Set("MaskManagerType", typeof(DevExpress.Data.Mask.NumericMaskManager)); txtDesignH.Size = new Size(75, 28); txtDesignH.StyleController = layoutControl1; txtDesignH.TabIndex = 4; // // btnSetDesignPoint // btnSetDesignPoint.Appearance.BackColor = Color.White; btnSetDesignPoint.Appearance.Options.UseBackColor = true; btnSetDesignPoint.Appearance.Options.UseTextOptions = true; btnSetDesignPoint.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; btnSetDesignPoint.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("btnSetDesignPoint.ImageOptions.SvgImage"); btnSetDesignPoint.ImageOptions.SvgImageSize = new Size(20, 20); btnSetDesignPoint.Location = new Point(424, 135); btnSetDesignPoint.Name = "btnSetDesignPoint"; btnSetDesignPoint.Size = new Size(122, 32); btnSetDesignPoint.StyleController = layoutControl1; btnSetDesignPoint.TabIndex = 5; btnSetDesignPoint.Text = "设置"; btnSetDesignPoint.Click += btnSetDesignPoint_Click; // // cmdCalcType // cmdCalcType.Location = new Point(68, 46); cmdCalcType.Name = "cmdCalcType"; cmdCalcType.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] { new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo) }); cmdCalcType.Properties.Items.AddRange(new object[] { "å¹¶è", "串è" }); cmdCalcType.Properties.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.DisableTextEditor; cmdCalcType.Size = new Size(210, 28); cmdCalcType.StyleController = layoutControl1; cmdCalcType.TabIndex = 0; cmdCalcType.SelectedIndexChanged += cmdCalcType_SelectedIndexChanged; // // Root // Root.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True; Root.GroupBordersVisible = false; Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { layoutControlGroup1, layoutControlGroup2, layoutControlGroup3 }); Root.Name = "Root"; Root.Padding = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0); Root.Size = new Size(560, 891); Root.TextVisible = false; // // layoutControlGroup1 // layoutControlGroup1.GroupStyle = DevExpress.Utils.GroupStyle.Title; layoutControlGroup1.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { layoutControlItem1 }); layoutControlGroup1.Location = new Point(0, 181); layoutControlGroup1.Name = "layoutControlGroup1"; layoutControlGroup1.Padding = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0); layoutControlGroup1.Size = new Size(560, 710); layoutControlGroup1.Spacing = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0); layoutControlGroup1.Text = "æ²çº¿å表"; // // layoutControlItem1 // layoutControlItem1.Control = gridControl1; layoutControlItem1.Location = new Point(0, 0); layoutControlItem1.Name = "layoutControlItem1"; layoutControlItem1.Padding = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0); layoutControlItem1.Size = new Size(560, 677); layoutControlItem1.Text = "æ²çº¿å表"; layoutControlItem1.TextSize = new Size(0, 0); layoutControlItem1.TextVisible = false; // // layoutControlGroup2 // layoutControlGroup2.GroupStyle = DevExpress.Utils.GroupStyle.Title; layoutControlGroup2.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { layoutControlItem2, layoutControlItem4, layoutControlItem3, simpleLabelItem1, simpleLabelItem2 }); layoutControlGroup2.Location = new Point(0, 88); layoutControlGroup2.Name = "layoutControlGroup2"; layoutControlGroup2.Size = new Size(560, 93); layoutControlGroup2.Text = "设计ç¹"; // // layoutControlItem2 // layoutControlItem2.Control = txtDesignQ; layoutControlItem2.Location = new Point(0, 0); layoutControlItem2.Name = "layoutControlItem2"; layoutControlItem2.Size = new Size(141, 36); layoutControlItem2.Text = "æµé:"; layoutControlItem2.TextSize = new Size(42, 22); // // layoutControlItem4 // layoutControlItem4.Control = btnSetDesignPoint; layoutControlItem4.Location = new Point(410, 0); layoutControlItem4.MinSize = new Size(126, 36); layoutControlItem4.Name = "layoutControlItem4"; layoutControlItem4.Size = new Size(126, 36); layoutControlItem4.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; layoutControlItem4.TextSize = new Size(0, 0); layoutControlItem4.TextVisible = false; // // layoutControlItem3 // layoutControlItem3.Control = txtDesignH; layoutControlItem3.Location = new Point(231, 0); layoutControlItem3.Name = "layoutControlItem3"; layoutControlItem3.Size = new Size(133, 36); layoutControlItem3.Text = "æ¬ç¨:"; layoutControlItem3.TextSize = new Size(42, 22); // // simpleLabelItem1 // simpleLabelItem1.AllowHotTrack = false; simpleLabelItem1.Location = new Point(141, 0); simpleLabelItem1.Name = "simpleLabelItem1"; simpleLabelItem1.Size = new Size(90, 36); simpleLabelItem1.Text = "m³/h"; simpleLabelItem1.TextSize = new Size(42, 22); // // simpleLabelItem2 // simpleLabelItem2.AllowHotTrack = false; simpleLabelItem2.Location = new Point(364, 0); simpleLabelItem2.Name = "simpleLabelItem2"; simpleLabelItem2.Size = new Size(46, 36); simpleLabelItem2.Text = "m"; simpleLabelItem2.TextSize = new Size(42, 22); // // layoutControlGroup3 // layoutControlGroup3.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { layoutControlItem5, layoutControlItem6 }); layoutControlGroup3.Location = new Point(0, 0); layoutControlGroup3.Name = "layoutControlGroup3"; layoutControlGroup3.Size = new Size(560, 88); layoutControlGroup3.Text = "龿¥"; // // layoutControlItem5 // layoutControlItem5.Control = cmdCalcType; layoutControlItem5.Location = new Point(0, 0); layoutControlItem5.Name = "layoutControlItem5"; layoutControlItem5.Size = new Size(268, 32); layoutControlItem5.Text = "æ¹å¼:"; layoutControlItem5.TextSize = new Size(42, 22); // // spinCount // spinCount.EditValue = new decimal(new int[] { 0, 0, 0, 0 }); spinCount.Location = new Point(336, 46); spinCount.Name = "spinCount"; spinCount.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] { new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo) }); spinCount.Size = new Size(210, 28); spinCount.StyleController = layoutControl1; spinCount.TabIndex = 2; spinCount.ValueChanged += spinCount_ValueChanged; // // layoutControlItem6 // layoutControlItem6.Control = spinCount; layoutControlItem6.Location = new Point(268, 0); layoutControlItem6.Name = "layoutControlItem6"; layoutControlItem6.Size = new Size(268, 32); layoutControlItem6.Text = "å°æ°:"; layoutControlItem6.TextSize = new Size(42, 22); // // PumpSingleSerialParallelInfoCtrl // AutoScaleDimensions = new SizeF(10F, 22F); AutoScaleMode = AutoScaleMode.Font; Controls.Add(layoutControl1); Name = "PumpSingleSerialParallelInfoCtrl"; Size = new Size(560, 891); ((System.ComponentModel.ISupportInitialize)layoutControl1).EndInit(); layoutControl1.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)gridControl1).EndInit(); ((System.ComponentModel.ISupportInitialize)pumpSerialParallelInfoViewModelBindingSource).EndInit(); ((System.ComponentModel.ISupportInitialize)gridView1).EndInit(); ((System.ComponentModel.ISupportInitialize)repColor).EndInit(); ((System.ComponentModel.ISupportInitialize)txtDesignQ.Properties).EndInit(); ((System.ComponentModel.ISupportInitialize)txtDesignH.Properties).EndInit(); ((System.ComponentModel.ISupportInitialize)cmdCalcType.Properties).EndInit(); ((System.ComponentModel.ISupportInitialize)Root).EndInit(); ((System.ComponentModel.ISupportInitialize)layoutControlGroup1).EndInit(); ((System.ComponentModel.ISupportInitialize)layoutControlItem1).EndInit(); ((System.ComponentModel.ISupportInitialize)layoutControlGroup2).EndInit(); ((System.ComponentModel.ISupportInitialize)layoutControlItem2).EndInit(); ((System.ComponentModel.ISupportInitialize)layoutControlItem4).EndInit(); ((System.ComponentModel.ISupportInitialize)layoutControlItem3).EndInit(); ((System.ComponentModel.ISupportInitialize)simpleLabelItem1).EndInit(); ((System.ComponentModel.ISupportInitialize)simpleLabelItem2).EndInit(); ((System.ComponentModel.ISupportInitialize)layoutControlGroup3).EndInit(); ((System.ComponentModel.ISupportInitialize)layoutControlItem5).EndInit(); ((System.ComponentModel.ISupportInitialize)spinCount.Properties).EndInit(); ((System.ComponentModel.ISupportInitialize)layoutControlItem6).EndInit(); ResumeLayout(false); } #endregion private DevExpress.XtraLayout.LayoutControl layoutControl1; private DevExpress.XtraLayout.LayoutControlGroup Root; private DevExpress.XtraGrid.GridControl gridControl1; private DevExpress.XtraGrid.Views.Grid.GridView gridView1; private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1; private DevExpress.XtraEditors.Repository.RepositoryItemColorEdit repColor; private BindingSource pumpSerialParallelInfoViewModelBindingSource; private DevExpress.XtraGrid.Columns.GridColumn colQueryQ; private DevExpress.XtraGrid.Columns.GridColumn colQueryH; private DevExpress.XtraGrid.Columns.GridColumn colQueryE; private DevExpress.XtraGrid.Columns.GridColumn colQueryP; private DevExpress.XtraGrid.Columns.GridColumn colExtendRatio; private DevExpress.XtraGrid.Columns.GridColumn colQhCalc; private DevExpress.XtraGrid.Columns.GridColumn colQeCalc; private DevExpress.XtraGrid.Columns.GridColumn colQpCalc; private DevExpress.XtraGrid.Columns.GridColumn colId; private DevExpress.XtraGrid.Columns.GridColumn colName; private DevExpress.XtraGrid.Columns.GridColumn colColor; private DevExpress.XtraGrid.Columns.GridColumn colIsBp; private DevExpress.XtraGrid.Columns.GridColumn colRatedSpeed; private DevExpress.XtraGrid.Columns.GridColumn colCurrentSpeed; private DevExpress.XtraGrid.Columns.GridColumn colCurrentHz; private DevExpress.XtraGrid.Columns.GridColumn colQh; private DevExpress.XtraGrid.Columns.GridColumn colQe; private DevExpress.XtraGrid.Columns.GridColumn colQp; private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup1; private DevExpress.XtraEditors.TextEdit txtDesignQ; private DevExpress.XtraEditors.TextEdit txtDesignH; private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup2; private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2; private DevExpress.XtraLayout.LayoutControlItem layoutControlItem3; private DevExpress.XtraLayout.SimpleLabelItem simpleLabelItem1; private DevExpress.XtraLayout.SimpleLabelItem simpleLabelItem2; private DevExpress.XtraEditors.SimpleButton btnSetDesignPoint; private DevExpress.XtraLayout.LayoutControlItem layoutControlItem4; private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup3; private DevExpress.XtraEditors.ComboBoxEdit cmdCalcType; private DevExpress.XtraLayout.LayoutControlItem layoutControlItem5; private DevExpress.XtraEditors.SpinEdit spinCount; private DevExpress.XtraLayout.LayoutControlItem layoutControlItem6; } } WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/01-pump-chart/01-chart/03-serial-parallel/PumpSingleSerialParallelInfoCtrl.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,243 @@ namespace Yw.WinFrmUI.Phart { public partial class PumpSingleSerialParallelInfoCtrl : DevExpress.XtraEditors.XtraUserControl { public PumpSingleSerialParallelInfoCtrl() { InitializeComponent(); this.gridView1.SetNormalEditView(); this.repColor.ColorChanged += RepColor_ColorChanged; this.repColor.ColorAlignment = DevExpress.Utils.HorzAlignment.Center; this.repColor.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.DisableTextEditor; this.repColor.ButtonsStyle = DevExpress.XtraEditors.Controls.BorderStyles.NoBorder; this.cmdCalcType.SelectedIndex = 0; this.spinCount.Properties.MinValue = 1; this.spinCount.Properties.MaxValue = 10; } /// <summary> /// 设置æ²çº¿ /// </summary> public event Action<string, Yw.Geometry.Point2d, bool, Yw.Geometry.CubicSpline2d, Yw.Geometry.CubicSpline2d, Yw.Geometry.CubicSpline2d> SetEvent; /// <summary> /// 设置æ²çº¿ä¿¡æ¯ /// </summary> public event Action<string, string, Color> SetInfoEvent; /// <summary> /// è®¾ç½®è®¾è®¡ç¹ /// </summary> public event Action<double, double> SetDesignPointEvent; /// <summary> /// éç½®æ²çº¿ /// </summary> public event Action<int, int> ResetEvent; private List<PumpSerialParallelInfoViewModel> _all_binding_list = null; public void SetBindingData(PumpSerialParallelInfoViewModel vm, Yw.Geometry.Point2d design_pt = null) { _all_binding_list = new List<PumpSerialParallelInfoViewModel>(); if (vm != null) { _all_binding_list.Add(vm); } this.txtDesignQ.EditValue = design_pt?.X; this.txtDesignH.EditValue = design_pt?.Y; this.pumpSerialParallelInfoViewModelBindingSource.DataSource = _all_binding_list; this.pumpSerialParallelInfoViewModelBindingSource.ResetBindings(false); this.gridView1.BestFitColumns(); } public void SetBindingData(List<PumpSerialParallelInfoViewModel> vm_list, Yw.Geometry.Point2d design_pt = null) { _all_binding_list = new List<PumpSerialParallelInfoViewModel>(); if (vm_list != null && vm_list.Any()) { for (int i = 0; i < vm_list.Count; i++) { var item = vm_list[i]; var vm = new PumpSerialParallelInfoViewModel(); vm.Id = item.Id; vm.Name = item.Name; vm.Color = item.Color; vm.IsBp = item.IsBp; vm.RatedSpeed = item.RatedSpeed; vm.CurrentSpeed = item.CurrentSpeed; vm.CurrentHz = Math.Round(item.CurrentSpeed / item.RatedSpeed * 50, 2); vm.Qh = new Geometry.CubicSpline2d(item.Qh); vm.Qe = new Geometry.CubicSpline2d(item.Qe); vm.Qp = new Geometry.CubicSpline2d(item.Qp); vm.ExtendRatio = 100; vm.Calc(); _all_binding_list.Add(vm); } } this.txtDesignQ.EditValue = design_pt?.X; this.txtDesignH.EditValue = design_pt?.Y; this.pumpSerialParallelInfoViewModelBindingSource.DataSource = _all_binding_list; this.pumpSerialParallelInfoViewModelBindingSource.ResetBindings(false); this.gridView1.BestFitColumns(); } public void SetDesignPoint(Yw.Geometry.Point2d design_pt = null) { this.txtDesignQ.EditValue = design_pt?.X; this.txtDesignH.EditValue = design_pt?.Y; } /// <summary> /// è·å /// </summary> public Yw.Geometry.Point2d GetDesignPoint() { if (!double.TryParse(this.txtDesignQ.Text, out double x)) { return default; } if (!double.TryParse(this.txtDesignH.Text, out double y)) { return default; } return new Geometry.Point2d(x, y); } #region Color private List<Color> _color_array = new List<Color>() { Color.Red, Color.Blue, Color.Green,Color.DodgerBlue, Color.Fuchsia, Color.MidnightBlue, Color.Maroon, Color.Aquamarine, Color.Bisque,Color.BurlyWood }; /// <summary> /// è·åéæºé¢è² /// </summary> /// <returns></returns> private Color GetRandomColor(int count) { if (count < _color_array.Count) { return _color_array[count]; } var _random = new Random(); int r = _random.Next(1, 256); int g = _random.Next(1, 256); int b = _random.Next(1, 256); return Color.FromArgb(r, g, b); } #endregion //é¢è²åæ¢ private void RepColor_ColorChanged(object sender, EventArgs e) { if (this.gridView1.GetCurrentViewModel(_all_binding_list) is not PumpSerialParallelInfoViewModel vm) return; vm.Color = (sender as DevExpress.XtraEditors.ColorEdit).Color; this.SetInfoEvent?.Invoke(vm.Id, vm.Name, vm.Color); } //å¼åæ¢ private void gridView1_CellValueChanged(object sender, DevExpress.XtraGrid.Views.Base.CellValueChangedEventArgs e) { if (e.Column == this.colName) { var vm = this.gridView1.GetRow(e.RowHandle) as PumpSerialParallelInfoViewModel; this.SetInfoEvent?.Invoke(vm.Id, vm.Name, vm.Color); } else if (e.Column == this.colCurrentHz) { var vm = this.gridView1.GetRow(e.RowHandle) as PumpSerialParallelInfoViewModel; if (vm.CurrentHz < 10 || vm.CurrentHz > 50) { return; } vm.Calc(); var bol = this.cmdCalcType.SelectedIndex == 0; var pt = GetDesignPoint(); this.SetEvent?.Invoke(vm.Id, pt, bol, vm.QhCalc, vm.QeCalc, vm.QpCalc); } else if (e.Column == this.colExtendRatio) { var vm = this.gridView1.GetRow(e.RowHandle) as PumpSerialParallelInfoViewModel; var bol = this.cmdCalcType.SelectedIndex == 0; var pt = GetDesignPoint(); this.SetEvent?.Invoke(vm.Id, pt, bol, vm.QhCalc, vm.QeCalc, vm.QpCalc); } } /// <summary> /// 设置æ¥è¯¢ä¿¡æ¯ /// </summary> /// <param name="id"></param> /// <param name="query_pt"></param> public void SetQueryInfo(string id, PumpGroupPt query_pt) { if (query_pt == null) return; if (_all_binding_list == null || !_all_binding_list.Any()) return; var vm = _all_binding_list.Find(x => x.Id == id); if (vm == null) return; vm.QueryQ = query_pt.Q > 0 ? $"{query_pt.Q:N1}" : string.Empty; vm.QueryH = query_pt.H > 0 ? $"{query_pt.H:N1}" : string.Empty; vm.QueryE = query_pt.E > 0 ? $"{query_pt.E:N1}" : string.Empty; vm.QueryP = query_pt.P > 0 ? $"{query_pt.P:N1}" : string.Empty; this.pumpSerialParallelInfoViewModelBindingSource.ResetBindings(false); } //è®¾ç½®è®¾è®¡ç¹ private void btnSetDesignPoint_Click(object sender, EventArgs e) { if (!double.TryParse(this.txtDesignQ.Text, out double design_q)) return; if (!double.TryParse(this.txtDesignH.Text, out double design_h)) return; this.SetDesignPointEvent?.Invoke(design_q, design_h); } public List<PumpSerialParallelInfoViewModel> GetList() { if (_all_binding_list == null || !_all_binding_list.Any()) { return default; } return _all_binding_list.Select(x => new PumpSerialParallelInfoViewModel(x)).ToList(); } //æ¹å¼ private void cmdCalcType_SelectedIndexChanged(object sender, EventArgs e) { var index = this.cmdCalcType.SelectedIndex; var count = (int)this.spinCount.Value; this.ResetEvent?.Invoke(index, count); } //å°æ° private void spinCount_ValueChanged(object sender, EventArgs e) { var index = this.cmdCalcType.SelectedIndex; var count = Convert.ToInt32(this.spinCount.EditValue); this.ResetEvent?.Invoke(index, count); } } } WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/01-pump-chart/01-chart/03-serial-parallel/PumpSingleSerialParallelInfoCtrl.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> <metadata name="pumpSerialParallelInfoViewModelBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <value>17, 17</value> </metadata> <assembly alias="DevExpress.Data.v23.2" name="DevExpress.Data.v23.2, Culture=neutral, PublicKeyToken=b88d1754d700e49a" /> <data name="btnSetDesignPoint.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> <value> AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40 LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAB0DAAAC77u/ PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5Z ZWxsb3d7ZmlsbDojRkZCMTE1O30KCS5CbGFja3tmaWxsOiM3MjcyNzI7fQoJLkdyZWVue2ZpbGw6IzAz OUMyMzt9CgkuUmVke2ZpbGw6I0QxMUMxQzt9Cgkuc3Qwe29wYWNpdHk6MC43NTt9Cgkuc3Qxe29wYWNp dHk6MC41O30KPC9zdHlsZT4NCiAgPGcgaWQ9IkVkaXQiPg0KICAgIDxwYXRoIGQ9Ik0yNy42LDguMmwt My44LTMuOGMtMC41LTAuNS0xLjQtMC41LTEuOSwwbC0yLjUsMi41bDUuOCw1LjhsMi41LTIuNUMyOC4x LDkuNiwyOC4xLDguOCwyNy42LDguMnoiIGNsYXNzPSJCbHVlIiAvPg0KICAgIDxwb2x5Z29uIHBvaW50 cz0iNCwyOCA5LjgsMjggNCwyMi4yICAiIGNsYXNzPSJCbHVlIiAvPg0KICAgIDxyZWN0IHg9IjUuOCIg eT0iMTMuNCIgd2lkdGg9IjE3LjYiIGhlaWdodD0iOC4yIiBjbGFzcz0iQmx1ZSIgdHJhbnNmb3JtPSJt YXRyaXgoMC43MDcsIC0wLjcwNzIsIDAuNzA3MiwgMC43MDcsIC04LjA3MjEsIDE1LjQwNDgpIiAvPg0K ICA8L2c+DQo8L3N2Zz4L </value> </data> </root> WinFrmUI/Yw.WinFrmUI.Phart.Core/Yw.WinFrmUI.Phart.Core.csproj
@@ -87,6 +87,9 @@ <Compile Update="01-perform\01-pump-chart\01-chart\03-serial-parallel\PumpSerialParallelChart.cs"> <SubType>UserControl</SubType> </Compile> <Compile Update="01-perform\01-pump-chart\01-chart\03-serial-parallel\PumpSingleSerialParallelInfoCtrl.cs"> <SubType>UserControl</SubType> </Compile> <Compile Update="01-perform\02-valve-chart\01-chart\ValvePerform2dChart.cs"> <SubType>UserControl</SubType> </Compile>