Shuxia Ning
2024-12-23 a97513ccbb97b2c471e90b032fabdd2e709b7f32
WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/99-common/PumpVariableSpeedChartDlg.cs
@@ -10,48 +10,54 @@
        {
            InitializeComponent();
            this.Text = "曲线视图";
            this.WindowState = FormWindowState.Maximized;
            this.pumpVariableSpeedInfoCtrl1.SetEvent += (id, qh, qe, qp) =>
            this.pumpVariableSpeedChart.SetQeVisible(false);
            this.pumpVariableSpeedInfoCtrl1.SetEvent += (id, hz, ex_ratio, qh, qe, qp) =>
            {
                this.pumpVariableSpeedChart.Set(id, qh, qe, qp);
                var list = this.pumpVariableSpeedInfoCtrl1.GetList();
                this.pumpVariableSpeedChart.Set(id, hz, ex_ratio, qh, qe, qp);
                ResetSectPointGrid();
            };
            this.pumpVariableSpeedInfoCtrl1.SetInfoEvent += (id, name, color) =>
            this.pumpVariableSpeedInfoCtrl1.SetInfoEvent += (id, color) =>
            {
                this.pumpVariableSpeedChart.SetInfo(id, name, color);
                this.pumpVariableSpeedChart.SetInfo(id, color);
                ResetSectPointGrid();
            };
            this.pumpVariableSpeedChart.AddBySpeedEvent += () =>
            {
                AddBySpeed();
                ResetSectPointGrid();
            };
            this.pumpVariableSpeedChart.AddByHzEvent += () =>
            {
                AddByHz();
                ResetSectPointGrid();
            };
            this.pumpVariableSpeedChart.AddByPointEvent += () =>
            {
                AddByPoint();
                ResetSectPointGrid();
            };
            this.pumpVariableSpeedInfoCtrl1.SetDesignPointEvent += (q, h) =>
            {
                _design_pt = new Point2d(q, h);
                this.pumpVariableSpeedChart.SetDesignPt(new Point2d(q, h));
                this.pumpVariableSpeedChart.SetEquipPt(_design_pt);
                ResetSectPointGrid();
            };
            this.pumpVariableSpeedChart.OnCalcQueryPoint += (id, pt) =>
            {
                this.pumpVariableSpeedInfoCtrl1.SetQueryInfo(id, pt);
            };
        }
        private Yw.Geometry.Point2d _design_pt;
@@ -71,17 +77,25 @@
            var vm_info = new Yw.WinFrmUI.Phart.PumpVariableSpeedInfoViewModel(vm);
            vm_info.IsDefault = true;
            vm_info.Name = $"{vm.CurrentSpeed}({vm.CurrentHz}hz)";
            vm_info.Color = GetRandomColor(0);
            vm_info.Calc();
            vm_list.Add(vm_info);
            this.pumpVariableSpeedInfoCtrl1.SetBindingData(vm_list, _design_pt);
            this.pumpVariableSpeedChart.Add(vm_list, _design_pt);
            return string.Empty;
        }
        private void ResetSectPointGrid()
        {
            var vm_list = this.pumpVariableSpeedChart.GetVmList();
            this.pumpVariableSpeedInfoCtrl1.SetSectPoint(vm_list);
        }
        private void AddBySpeed()
        {
            var list = this.pumpVariableSpeedInfoCtrl1.GetList();
@@ -102,7 +116,7 @@
                }
                var vm = new PumpVariableSpeedInfoViewModel(vm_def);
                vm.Id = Guid.NewGuid().ToString();
                vm.Name =this.pumpVariableSpeedChart.LineNameShowHz?hz.ToString():speed.ToString();
                vm.Name = $"{speed}({hz}hz)";
                vm.Color = GetRandomColor(index);
                vm.CurrentHz = hz;
                vm.CurrentSpeed = speed;
@@ -117,7 +131,7 @@
        }
        private void  AddByHz()
        private void AddByHz()
        {
            var list = this.pumpVariableSpeedInfoCtrl1.GetList();
@@ -137,7 +151,7 @@
                var speed = Math.Round(hz / 50 * vm_def.RatedSpeed);
                var vm = new PumpVariableSpeedInfoViewModel(vm_def);
                vm.Id = Guid.NewGuid().ToString();
                vm.Name = this.pumpVariableSpeedChart.LineNameShowHz ? hz.ToString() : speed.ToString();
                vm.Name = $"{speed}({hz}hz)";
                vm.Color = GetRandomColor(index);
                vm.CurrentHz = hz;
                vm.CurrentSpeed = speed;
@@ -151,7 +165,7 @@
            dlg.ShowDialog();
        }
        private void  AddByPoint()
        private void AddByPoint()
        {
            var list = this.pumpVariableSpeedInfoCtrl1.GetList();
            if (list == null || list.Count < 1)
@@ -174,7 +188,7 @@
                }
                var vm = new PumpVariableSpeedInfoViewModel(vm_def);
                vm.Id = Guid.NewGuid().ToString();
                vm.Name = this.pumpVariableSpeedChart.LineNameShowHz ? hz.ToString() : speed.ToString();
                vm.Name = $"{speed}({hz}hz)";
                vm.Color = GetRandomColor(index);
                vm.CurrentHz = hz;
                vm.CurrentSpeed = speed;