| | |
| | | using DevExpress.Utils.MVVM; |
| | | using DevExpress.XtraBars; |
| | | using DevExpress.XtraBars; |
| | | using DevExpress.XtraEditors; |
| | | using DevExpress.XtraEditors.Controls; |
| | | using DevExpress.XtraEditors.Repository; |
| | | using DevExpress.XtraLayout.Utils; |
| | | using DevExpress.XtraVerticalGrid.Events; |
| | | using Yw.Model; |
| | | |
| | | namespace Yw.WinFrmUI |
| | | { |
| | |
| | | /// 分级属性值改变事件 |
| | | /// </summary> |
| | | public event Action<HydroVisualViewModel> GradingPropertyValueChangedEvent; |
| | | /// <summary> |
| | | /// 水流动画属性值改变事件 |
| | | /// </summary> |
| | | public event Action<HydroVisualViewModel> FlowEffectPropertyValueChangedEvent; |
| | | |
| | | |
| | | /// <summary> |
| | | /// 强调连接节点事件 |
| | | /// 第一个参数为本身Code |
| | |
| | | /// </summary> |
| | | public event Action<HydroVisualViewModel> HydroViewEvent; |
| | | |
| | | private HydroChangeHelper _changeHelper = null;//改变辅助类 |
| | | private HydroPropStatusHelper _propStatusHelper = null;//属性状态辅助类 |
| | | |
| | | /// <summary> |
| | | /// 初始化数据 |
| | | /// </summary> |
| | | public void InitialData |
| | | ( |
| | | HydroChangeHelper changeHelper, |
| | | HydroPropStatusHelper propStatusHelper |
| | | ) |
| | | { |
| | | _changeHelper = changeHelper; |
| | | _propStatusHelper = propStatusHelper; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 允许修改 |
| | |
| | | var vm = GetPropertyViewModel(e.Row); |
| | | if (vm != null) |
| | | { |
| | | //var propStatus = vm.GetPropStatus(realFieldName); |
| | | //if (propStatus != null) |
| | | //{ |
| | | // e.Appearance.ForeColor = HydroPropStatusHelper.GetColor(propStatus.PropStatus); |
| | | //} |
| | | var propStatusInfo = _propStatusHelper?.GetPropStatusInfo(vm.Code, realFieldName); |
| | | if (propStatusInfo != null) |
| | | { |
| | | e.Appearance.ForeColor = HydroPropStatusColorHelper.GetColor(propStatusInfo.PropStatus); |
| | | } |
| | | } |
| | | } |
| | | |
| | |
| | | { |
| | | e.CellText = ((DateTime)e.Properties.Value).ToString("yyyy-MM-dd HH:mm:ss"); |
| | | } |
| | | else if (fullTypeName == typeof(string[]).FullName) |
| | | { |
| | | var stringValue = (string[])e.Properties.Value; |
| | | e.CellText = stringValue?.Length.ToString(); |
| | | } |
| | | else |
| | | { |
| | | |
| | | |
| | | var descriptor = this.propertyGridControl1.GetPropertyDescriptor(e.Row); |
| | | if (descriptor != null) |
| | | { |
| | |
| | | |
| | | if (vm is HydroValveViewModel valve) |
| | | { |
| | | if (fieldName == nameof(HydroValveViewModel.ValveSetting)) |
| | | { |
| | | e.Row.Visible = false; |
| | | } |
| | | switch (valve.Vmo.ValveType) |
| | | { |
| | | case Yw.Hydro.ValveType.PSV: |
| | |
| | | { |
| | | e.Row.Visible = false; |
| | | } |
| | | if (fieldName == nameof(HydroValveViewModel.ValveOL)) |
| | | { |
| | | e.Row.Visible = false; |
| | | } |
| | | if (fieldName == nameof(HydroValveViewModel.ValveQL)) |
| | | if (fieldName == nameof(HydroValveViewModel.ValveLength)) |
| | | { |
| | | e.Row.Visible = false; |
| | | } |
| | |
| | | { |
| | | e.Row.Visible = false; |
| | | } |
| | | if (fieldName == nameof(HydroValveViewModel.ValveOL)) |
| | | { |
| | | e.Row.Visible = false; |
| | | } |
| | | if (fieldName == nameof(HydroValveViewModel.ValveQL)) |
| | | if (fieldName == nameof(HydroValveViewModel.ValveLength)) |
| | | { |
| | | e.Row.Visible = false; |
| | | } |
| | |
| | | { |
| | | e.Row.Visible = false; |
| | | } |
| | | if (fieldName == nameof(HydroValveViewModel.ValveOL)) |
| | | { |
| | | e.Row.Visible = false; |
| | | } |
| | | if (fieldName == nameof(HydroValveViewModel.ValveQL)) |
| | | if (fieldName == nameof(HydroValveViewModel.ValveLength)) |
| | | { |
| | | e.Row.Visible = false; |
| | | } |
| | |
| | | { |
| | | e.Row.Visible = true; |
| | | } |
| | | if (fieldName == nameof(HydroValveViewModel.ValveOL)) |
| | | { |
| | | e.Row.Visible = false; |
| | | } |
| | | if (fieldName == nameof(HydroValveViewModel.ValveQL)) |
| | | if (fieldName == nameof(HydroValveViewModel.ValveLength)) |
| | | { |
| | | e.Row.Visible = false; |
| | | } |
| | |
| | | { |
| | | e.Row.Visible = false; |
| | | } |
| | | if (fieldName == nameof(HydroValveViewModel.ValveOL)) |
| | | { |
| | | e.Row.Visible = true; |
| | | } |
| | | if (fieldName == nameof(HydroValveViewModel.ValveQL)) |
| | | if (fieldName == nameof(HydroValveViewModel.ValveLength)) |
| | | { |
| | | e.Row.Visible = false; |
| | | } |
| | |
| | | { |
| | | e.Row.Visible = false; |
| | | } |
| | | if (fieldName == nameof(HydroValveViewModel.ValveOL)) |
| | | if (fieldName == nameof(HydroValveViewModel.ValveLength)) |
| | | { |
| | | e.Row.Visible = false; |
| | | } |
| | | if (fieldName == nameof(HydroValveViewModel.ValveQL)) |
| | | { |
| | | e.Row.Visible = true; |
| | | } |
| | | } |
| | | break; |
| | |
| | | { |
| | | e.Row.Visible = false; |
| | | } |
| | | if (fieldName == nameof(HydroValveViewModel.ValveOL)) |
| | | if (fieldName == nameof(HydroValveViewModel.ValveLength)) |
| | | { |
| | | e.Row.Visible = false; |
| | | } |
| | | if (fieldName == nameof(HydroValveViewModel.ValveQL)) |
| | | { |
| | | e.Row.Visible = false; |
| | | e.Row.Visible = true; |
| | | } |
| | | } |
| | | break; |
| | |
| | | } |
| | | vm.UpdateVmoProperty(); |
| | | this.PropertyValueChangedEvent?.Invoke(vm); |
| | | |
| | | var realFieldName = fieldName; |
| | | var descriptor = this.propertyGridControl1.GetPropertyDescriptor(e.Row); |
| | | if (descriptor != null) |
| | | { |
| | | //真实属性名称 |
| | | var realPropAttri = (HydroRealProAttribute)descriptor.Attributes[typeof(HydroRealProAttribute)]; |
| | | if (realPropAttri != null) |
| | | { |
| | | realFieldName = realPropAttri.RealPropName; |
| | | } |
| | | |
| | | var hydroMarkPropAttri = descriptor.Attributes[typeof(HydroMarkProAttribute)]; |
| | | if (hydroMarkPropAttri != null) |
| | | { |
| | |
| | | this.GradingPropertyValueChangedEvent?.Invoke(vm); |
| | | } |
| | | |
| | | var hydroFlowDirectionPropAttri = descriptor.Attributes[typeof(HydroFlowDirectionProAttribute)]; |
| | | if (hydroFlowDirectionPropAttri != null) |
| | | { |
| | | this.FlowEffectPropertyValueChangedEvent?.Invoke(vm); |
| | | } |
| | | this.propertyGridControl1.UpdateRows(); |
| | | } |
| | | _changeHelper?.Append(vm.Vmo, eChangeType.Update); |
| | | _propStatusHelper?.UpdatePropStatus(vm.Code, realFieldName, Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}通过属性控件修改"); |
| | | } |
| | | |
| | | //Db匹配 |
| | |
| | | link.EndCode = tempCode; |
| | | link.UpdateVmoProperty(); |
| | | |
| | | _propStatusHelper?.UpdatePropStatus(link.Code, nameof(link.Vmo.StartCode), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}调整上下游"); |
| | | _propStatusHelper?.UpdatePropStatus(link.Code, nameof(link.Vmo.EndCode), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}调整上下游"); |
| | | |
| | | var translation = this.SelectedObject as HydroTranslationViewModel; |
| | | if (translation != null) |
| | | { |
| | |
| | | translation.StartDiameter = translation.EndDiameter; |
| | | translation.EndDiameter = tempDiameter; |
| | | translation.UpdateVmoProperty(); |
| | | _propStatusHelper?.UpdatePropStatus(translation.Code, nameof(translation.Vmo.StartDiameter), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}调整上下游"); |
| | | _propStatusHelper?.UpdatePropStatus(translation.Code, nameof(translation.Vmo.EndDiameter), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}调整上下游"); |
| | | } |
| | | |
| | | var pump = this.SelectedObject as HydroPumpViewModel; |
| | |
| | | pump.InletDiameter = pump.OutletDiameter; |
| | | pump.OutletDiameter = tempDiameter; |
| | | pump.UpdateVmoProperty(); |
| | | _propStatusHelper?.UpdatePropStatus(pump.Code, nameof(pump.Vmo.InletDiameter), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}调整上下游"); |
| | | _propStatusHelper?.UpdatePropStatus(pump.Code, nameof(pump.Vmo.OutletDiameter), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}调整上下游"); |
| | | } |
| | | |
| | | _changeHelper?.Append(link.Vmo, eChangeType.Update); |
| | | |
| | | this.propertyGridControl1.UpdateRows(); |
| | | } |
| | |
| | | |
| | | string caption = string.Empty; |
| | | string descrition = string.Empty; |
| | | |
| | | string realFieldName = fieldName; |
| | | |
| | | |
| | | //属性描述器 |
| | |
| | | { |
| | | descrition = descritionAttri.Description; |
| | | } |
| | | |
| | | //真实属性名称 |
| | | var realPropAttri = (HydroRealProAttribute)descriptor.Attributes[typeof(HydroRealProAttribute)]; |
| | | if (realPropAttri != null) |
| | | { |
| | | realFieldName = realPropAttri.RealPropName; |
| | | } |
| | | } |
| | | |
| | | //var propStatus = vm.GetPropStatus(fieldName); |
| | | //this.hydroVisualPropertyDescriptionCtrl1.SetBindingData(caption, descrition, propStatus); |
| | | var propStatusInfo = _propStatusHelper?.GetPropStatusInfo(vm.Code, realFieldName); |
| | | this.hydroVisualPropertyDescriptionCtrl1.SetBindingData(caption, descrition, propStatusInfo); |
| | | |
| | | } |
| | | |
| | |
| | | var dlg = new HydroCurveEditDlg(); |
| | | dlg.ReloadDataEvent += (rhs) => |
| | | { |
| | | |
| | | _changeHelper?.Append(rhs, eChangeType.Update); |
| | | }; |
| | | dlg.SetBindingData(curve); |
| | | dlg.ShowDialog(); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | } |
| | | } |