| | |
| | | using HStation.WinFrmUI.PhartRelation; |
| | | using HStation.WinFrmUI.Xhs; |
| | | using Yw.Model; |
| | | |
| | | namespace HStation.WinFrmUI |
| | | { |
| | |
| | | /// <summary> |
| | | /// 构件查看事件 |
| | | /// </summary> |
| | | public event Action<HydroVisualViewModel> HydroViewEvent; |
| | | public event Action<HydroVisualInfo> HydroViewEvent; |
| | | |
| | | /// <summary> |
| | | /// 强调连接组件事件 |
| | | /// 第一个参数为组件 |
| | | /// 第二个参数为连接节点Code |
| | | /// </summary> |
| | | public event Action<HydroLinkViewModel, string> BlinkLinkNodeEvent; |
| | | public event Action<HydroLinkInfo, string> BlinkLinkNodeEvent; |
| | | |
| | | /// <summary> |
| | | /// 属性值改变事件 |
| | | /// </summary> |
| | | public event Action<HydroVisualViewModel> PropertyValueChangedEvent; |
| | | public event Action<HydroVisualInfo> PropertyValueChangedEvent; |
| | | |
| | | /// <summary> |
| | | /// 标注属性值改变事件 |
| | | /// </summary> |
| | | public event Action<HydroVisualViewModel> MarkPropertyValueChangedEvent; |
| | | public event Action<HydroVisualInfo> MarkPropertyValueChangedEvent; |
| | | |
| | | /// <summary> |
| | | /// 分级属性值改变事件 |
| | | /// </summary> |
| | | public event Action<HydroVisualViewModel> GradingPropertyValueChangedEvent; |
| | | public event Action<HydroVisualInfo> GradingPropertyValueChangedEvent; |
| | | |
| | | /// <summary> |
| | | /// 水流动画属性值改变事件 |
| | | /// </summary> |
| | | public event Action<HydroVisualViewModel> FlowEffectPropertyValueChangedEvent; |
| | | public event Action<HydroVisualInfo> FlowEffectPropertyValueChangedEvent; |
| | | |
| | | #endregion |
| | | #endregion 事件集 |
| | | |
| | | #region 属性赋值 |
| | | |
| | |
| | | set { this.hydroVisualPropertyCtrl1.SelectedObject = value; } |
| | | } |
| | | |
| | | #endregion |
| | | #endregion 属性赋值 |
| | | |
| | | #region 属性更新 |
| | | |
| | |
| | | this.hydroVisualPropertyCtrl1.UpdateRows(); |
| | | } |
| | | |
| | | #endregion |
| | | #endregion 属性更新 |
| | | |
| | | #region 事件实现 |
| | | |
| | |
| | | { |
| | | case Yw.Hydro.ParterCatalog.Pump://水泵 |
| | | { |
| | | var pumpInfo = vm.HydroInfo.Pumps?.Find(x => x.Code == vm.Code); |
| | | if (pumpInfo == null) |
| | | { |
| | | break; |
| | | } |
| | | /* var pumpInfo = vm.HydroInfo.Pumps?.Find(x => x.Code == vm.Code); |
| | | if (pumpInfo == null) |
| | | { |
| | | break; |
| | | } |
| | | |
| | | var input = AssetsMatchingParasHelper.Create(vm.HydroInfo, pumpInfo, null); |
| | | var dlg = new PumpSingleMatchingDlg(); |
| | | dlg.SetBindingData(input); |
| | | dlg.ReloadDataEvent += (output) => |
| | | { |
| | | bol = AssetsMatchingParasHelper.Apply(vm.HydroInfo, output); |
| | | if (bol) |
| | | { |
| | | vm.UpdateProperty(); |
| | | } |
| | | }; |
| | | dlg.ShowDialog(); |
| | | var input = AssetsMatchingParasHelper.Create(vm.HydroInfo, pumpInfo, null); |
| | | var dlg = new PumpSingleMatchingDlg(); |
| | | dlg.SetBindingData(input); |
| | | dlg.ReloadDataEvent += (output) => |
| | | { |
| | | bol = AssetsMatchingParasHelper.Apply(vm.HydroInfo, output); |
| | | if (bol) |
| | | { |
| | | vm.UpdateProperty(); |
| | | } |
| | | }; |
| | | dlg.ShowDialog();*/ |
| | | } |
| | | break; |
| | | |
| | | case Yw.Hydro.ParterCatalog.Valve://阀门 |
| | | { |
| | | var valveInfo = vm.HydroInfo.Valves?.Find(x => x.Code == vm.Code); |
| | | if (valveInfo == null) |
| | | { |
| | | break; |
| | | } |
| | | var input = AssetsMatchingParasHelper.Create(vm.HydroInfo, valveInfo, null); |
| | | var dlg = new ValveSingleMatchingDlg(); |
| | | dlg.SetBindingData(input); |
| | | dlg.ReloadDataEvent += (rhs) => |
| | | { |
| | | bol = AssetsMatchingParasHelper.Apply(vm.HydroInfo, rhs); |
| | | if (bol) |
| | | { |
| | | vm.UpdateProperty(); |
| | | this.hydroVisualPropertyCtrl1.UpdateRows(); |
| | | } |
| | | }; |
| | | dlg.ShowDialog(); |
| | | /* var valveInfo = vm.HydroInfo.Valves?.Find(x => x.Code == vm.Code); |
| | | if (valveInfo == null) |
| | | { |
| | | break; |
| | | } |
| | | var input = AssetsMatchingParasHelper.Create(vm.HydroInfo, valveInfo, null); |
| | | var dlg = new ValveSingleMatchingDlg(); |
| | | dlg.SetBindingData(input); |
| | | dlg.ReloadDataEvent += (rhs) => |
| | | { |
| | | bol = AssetsMatchingParasHelper.Apply(vm.HydroInfo, rhs); |
| | | if (bol) |
| | | { |
| | | vm.UpdateProperty(); |
| | | this.hydroVisualPropertyCtrl1.UpdateRows(); |
| | | } |
| | | }; |
| | | dlg.ShowDialog();*/ |
| | | } |
| | | break; |
| | | |
| | | case Yw.Hydro.ParterCatalog.Pipe://管道 |
| | | { |
| | | } |
| | | break; |
| | | |
| | | case Yw.Hydro.ParterCatalog.Elbow://弯头 |
| | | { |
| | | var elbowInfo = vm.HydroInfo.Elbows?.Find(x => x.Code == vm.Code); |
| | |
| | | { |
| | | break; |
| | | } |
| | | var input = AssetsMatchingParasHelper.Create(vm.HydroInfo, elbowInfo, null); |
| | | var input = HydroMatchingHelper.Create(elbowInfo, vm.HydroInfo, null); |
| | | var dlg = new ElbowSingMatchingDlg(); |
| | | dlg.SetBindingData(input); |
| | | dlg.ReloadDataEvent += (output) => |
| | | { |
| | | bol = AssetsMatchingParasHelper.Apply(vm.HydroInfo, output); |
| | | bol = HydroMatchingHelper.Apply(vm.HydroInfo, null, output); |
| | | if (bol) |
| | | { |
| | | vm.UpdateProperty(); |
| | |
| | | dlg.ShowDialog(); |
| | | } |
| | | break; |
| | | |
| | | case Yw.Hydro.ParterCatalog.Threelink://三通 |
| | | { |
| | | } |
| | | break; |
| | | |
| | | case Yw.Hydro.ParterCatalog.Fourlink://四通 |
| | | { |
| | | } |
| | | break; |
| | | |
| | | default: break; |
| | | } |
| | | return bol; |
| | |
| | | { |
| | | case HydroCurve.Pump: |
| | | { |
| | | var pumpInfo = vm.HydroInfo.Pumps?.Find(x => x.Code == vm.Code); |
| | | if (pumpInfo == null) |
| | | { |
| | | break; |
| | | } |
| | | var input = AssetsMatchingParasHelper.Create(vm.HydroInfo, pumpInfo, null); |
| | | var dlg = new SinglePumpAnalyDlg(); |
| | | dlg.SetBindindData(input); |
| | | dlg.ReloadDataEvent += (output) => |
| | | { |
| | | var bol = AssetsMatchingParasHelper.Apply(vm.HydroInfo, output); |
| | | if (bol) |
| | | { |
| | | vm.UpdateProperty(); |
| | | this.hydroVisualPropertyCtrl1.UpdateRows(); |
| | | } |
| | | return bol; |
| | | }; |
| | | dlg.ShowDialog(); |
| | | //var pumpInfo = vm.HydroInfo.Pumps?.Find(x => x.Code == vm.Code); |
| | | //if (pumpInfo == null) |
| | | //{ |
| | | // break; |
| | | //} |
| | | //var input = AssetsMatchingParasHelper.Create(vm.HydroInfo, pumpInfo, null); |
| | | //var dlg = new SinglePumpAnalyDlg(); |
| | | //dlg.SetBindindData(input); |
| | | //dlg.ReloadDataEvent += (output) => |
| | | //{ |
| | | // var bol = AssetsMatchingParasHelper.Apply(vm.HydroInfo, output); |
| | | // if (bol) |
| | | // { |
| | | // vm.UpdateProperty(); |
| | | // this.hydroVisualPropertyCtrl1.UpdateRows(); |
| | | // } |
| | | // return bol; |
| | | //}; |
| | | //dlg.ShowDialog(); |
| | | return true; |
| | | } |
| | | case HydroCurve.PumpQH: |
| | |
| | | return false; |
| | | } |
| | | |
| | | #endregion |
| | | #endregion 事件实现 |
| | | |
| | | #region 事件穿透 |
| | | |
| | | //构件查看事件 |
| | | private void HydroVisualPropertyCtrl1_HydroViewEvent(HydroVisualViewModel vm) |
| | | { |
| | | if (vm == null) |
| | | { |
| | | return; |
| | | } |
| | | this.HydroViewEvent?.Invoke(vm); |
| | | this.HydroViewEvent?.Invoke(vm?.Vmo); |
| | | } |
| | | |
| | | //强调连接节点 |
| | |
| | | { |
| | | return; |
| | | } |
| | | this.BlinkLinkNodeEvent?.Invoke(vm, linkNodeCode); |
| | | this.BlinkLinkNodeEvent?.Invoke(vm?.Vmo, linkNodeCode); |
| | | } |
| | | |
| | | //属性发生改变 |
| | | private void HydroVisualPropertyCtrl1_PropertyValueChangedEvent(HydroVisualViewModel vm) |
| | | { |
| | | if (vm == null) |
| | | { |
| | | return; |
| | | } |
| | | this.PropertyValueChangedEvent?.Invoke(vm); |
| | | this.PropertyValueChangedEvent?.Invoke(vm?.Vmo); |
| | | } |
| | | |
| | | //标注属性发生改变 |
| | | private void HydroVisualPropertyCtrl1_MarkPropertyValueChangedEvent(HydroVisualViewModel vm) |
| | | { |
| | | if (vm == null) |
| | | { |
| | | return; |
| | | } |
| | | this.MarkPropertyValueChangedEvent?.Invoke(vm); |
| | | this.MarkPropertyValueChangedEvent?.Invoke(vm?.Vmo); |
| | | } |
| | | |
| | | //分级属性发生改变 |
| | | private void HydroPVisualPropertyCtrl1_GradingPropertyValueChangedEvent(HydroVisualViewModel vm) |
| | | { |
| | | if (vm == null) |
| | | { |
| | | return; |
| | | } |
| | | this.GradingPropertyValueChangedEvent?.Invoke(vm); |
| | | this.GradingPropertyValueChangedEvent?.Invoke(vm?.Vmo); |
| | | } |
| | | |
| | | //水流动画属性发生改变 |
| | | private void HydroVisualPropertyCtrl1_FlowEffectPropertyValueChangedEvent(HydroVisualViewModel vm) |
| | | { |
| | | if (vm == null) |
| | | { |
| | | return; |
| | | } |
| | | this.FlowEffectPropertyValueChangedEvent?.Invoke(vm); |
| | | this.FlowEffectPropertyValueChangedEvent?.Invoke(vm?.Vmo); |
| | | } |
| | | |
| | | #endregion |
| | | |
| | | |
| | | #endregion 事件穿透 |
| | | } |
| | | } |