From f47abf649b85ce5fd21725fedaebba359a6dfd1d Mon Sep 17 00:00:00 2001 From: duheng <2784771470@qq.com> Date: 星期二, 24 十二月 2024 09:20:02 +0800 Subject: [PATCH] Merge branch 'master' of http://47.103.154.90:83/r/HStation/XHS.V1.0 --- WinFrmUI/Yw.WinFrmUI.Hydro.Core/21-curve/HydroCurveViewDlg.Designer.cs | 94 +++ WinFrmUI/Yw.WinFrmUI.Hydro.Core/21-curve/HydroCurveEditCtrl.cs | 92 ++ WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-viewmodel/04-link/02-pump/HydroPumpViewModel.cs | 12 Hydro/Yw.Hydro.Core/ParseHelper.cs | 6 WinFrmUI/Yw.WinFrmUI.Hydro.Core/21-curve/HydroCurveViewDlg.cs | 65 ++ WinFrmUI/Yw.WinFrmUI.Hydro.Core/21-curve/HydroCurveEditDlg.cs | 84 ++ WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-viewmodel/04-link/04-resistance/01-exchanger/HydroExchangerViewModel.cs | 14 Hydro/Yw.EPAnet.Calcu.Core/03-calcu/NetworkEnergyAnalyseExtensions.cs | 16 WinFrmUI/Yw.WinFrmUI.Hydro.Core/21-curve/HydroCurveEditDlg.Designer.cs | 167 +++++ Hydro/Yw.EPAnet.Calcu.Core/03-calcu/00-core/NetworkCalcuExtensions.cs | 36 Hydro/Yw.EPAnet.Calcu.Core/04-Inp/InpInteropHelper.cs | 4 WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-viewmodel/03-node/01-source/02-tank/00-core/HydroTankViewModel.cs | 6 WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-viewmodel/04-link/04-resistance/00-core/HydroResistanceViewModel.cs | 10 WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-viewmodel/04-link/04-resistance/02-compressor/HydroCompressorViewModel.cs | 14 WinFrmUI/Yw.WinFrmUI.Hydro.Core/21-curve/HydroCurveEditCtrl.Designer.cs | 58 + Hydro/Yw.EPAnet.Calcu.Core/01-network/04-link/01-pipe/Pipe.cs | 8 WinFrmUI/Yw.WinFrmUI.Hydro.Core/05-property/HydroVisualPropertyCtrl.cs | 60 + WinFrmUI/Yw.WinFrmUI.Hydro.Core/21-curve/HydroCurveViewCtrl.cs | 83 ++ WinFrmUI/Yw.WinFrmUI.Hydro.Core/05-property/HydroVisualPropertyCtrl.resx | 247 +++++-- Hydro/Yw.EPAnet.Calcu.Core/03-calcu/00-core/NetworkDirectionExtensions.cs | 8 Hydro/HStation.Hydro.Core/TransferHelper.cs | 20 WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/06-simulation/XhsProjectSimulationCorePage.cs | 5 WinFrmUI/Yw.WinFrmUI.Hydro.Core/05-property/HydroVisualPropertyCtrl.Designer.cs | 92 ++ WinFrmUI/Yw.WinFrmUI.Hydro.Core/Yw.WinFrmUI.Hydro.Core.csproj | 7 WinFrmUI/Yw.WinFrmUI.Hydro.Core/21-curve/HydroCurveEditDlg.resx | 120 +++ Hydro/Yw.EPAnet.Calcu.Core/03-calcu/NetworkPathAnalyseExtensions.cs | 6 WinFrmUI/Yw.WinFrmUI.Hydro.Core/Yw.WinFrmUI.Hydro.Core.csproj.user | 6 WinFrmUI/Yw.WinFrmUI.Hydro.Core/14-matching/00-core/HydroMatchingHelper.cs | 18 WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/01-property/SimulationPropertyCtrl.cs | 43 WinFrmUI/Yw.WinFrmUI.Hydro.Core/21-curve/HydroCurveViewDlg.resx | 120 +++ WinFrmUI/Yw.WinFrmUI.Hydro.Core/21-curve/HydroCurveViewCtrl.resx | 120 +++ Hydro/Yw.EPAnet.Calcu.Core/03-calcu/03-link/CalcuLink.cs | 14 WinFrmUI/Yw.WinFrmUI.Hydro.Core/21-curve/HydroCurveEditCtrl.resx | 120 +++ WinFrmUI/Yw.WinFrmUI.Hydro.Core/21-curve/HydroCurveViewCtrl.Designer.cs | 60 + 34 files changed, 1,628 insertions(+), 207 deletions(-) diff --git a/Hydro/HStation.Hydro.Core/TransferHelper.cs b/Hydro/HStation.Hydro.Core/TransferHelper.cs index f355674..35d081c 100644 --- a/Hydro/HStation.Hydro.Core/TransferHelper.cs +++ b/Hydro/HStation.Hydro.Core/TransferHelper.cs @@ -42,6 +42,7 @@ foreach (var revitReservoir in revitModel.Reservoirs) { var reservoir = FromRevit(revitReservoir, ref allScenePropValueList); + //reservoir.PropStatusList = null;//涓存椂浠g爜 hydro.Reservoirs.Add(reservoir); } } @@ -56,6 +57,7 @@ foreach (var revitTank in revitModel.Tanks) { var tank = FromRevit(revitTank, ref allScenePropValueList); + //tank.PropStatusList = null;//涓存椂浠g爜 hydro.Tanks.Add(tank); } } @@ -70,6 +72,7 @@ foreach (var revitWaterbox in revitModel.Waterboxs) { var waterbox = FromRevit(revitWaterbox, ref allScenePropValueList); + //waterbox.PropStatusList = null;//涓存椂浠g爜 hydro.Waterboxs.Add(waterbox); } } @@ -84,6 +87,7 @@ foreach (var revitJunction in revitModel.Junctions) { var junction = FromRevit(revitJunction, ref allScenePropValueList); + //junction.PropStatusList = null;//涓存椂浠g爜 hydro.Junctions.Add(junction); } } @@ -98,6 +102,7 @@ foreach (var revitBlunthead in revitModel.Bluntheads) { var blunthead = FromRevit(revitBlunthead, ref allScenePropValueList); + //blunthead.PropStatusList = null;//涓存椂浠g爜 hydro.Bluntheads.Add(blunthead); } } @@ -112,6 +117,7 @@ foreach (var revitElbow in revitModel.Elbows) { var elbow = FromRevit(revitElbow, ref allScenePropValueList); + //elbow.PropStatusList = null;//涓存椂浠g爜 hydro.Elbows.Add(elbow); } } @@ -126,6 +132,7 @@ foreach (var revitThreelink in revitModel.Threelinks) { var threelink = FromRevit(revitThreelink, ref allScenePropValueList); + //threelink.PropStatusList = null;//涓存椂浠g爜 hydro.Threelinks.Add(threelink); } } @@ -140,6 +147,7 @@ foreach (var revitFourlink in revitModel.Fourlinks) { var fourlink = FromRevit(revitFourlink, ref allScenePropValueList); + //fourlink.PropStatusList = null;//涓存椂浠g爜 hydro.Fourlinks.Add(fourlink); } } @@ -154,6 +162,7 @@ foreach (var revitHydrant in revitModel.Hydrants) { var hydrant = FromRevit(revitHydrant, ref allScenePropValueList); + //hydrant.PropStatusList = null;//涓存椂浠g爜 hydro.Hydrants.Add(hydrant); } } @@ -168,6 +177,7 @@ foreach (var revitNozzle in revitModel.Nozzles) { var nozzle = FromRevit(revitNozzle, ref allScenePropValueList); + //nozzle.PropStatusList = null;//涓存椂浠g爜 hydro.Nozzles.Add(nozzle); } } @@ -182,6 +192,7 @@ foreach (var revitCooling in revitModel.Coolings) { var cooling = FromRevit(revitCooling, ref allScenePropValueList); + //cooling.PropStatusList = null;//涓存椂浠g爜 hydro.Coolings.Add(cooling); } } @@ -196,6 +207,7 @@ foreach (var revitMeter in revitModel.Meters) { var meter = FromRevit(revitMeter, ref allScenePropValueList); + //meter.PropStatusList = null;//涓存椂浠g爜 hydro.Meters.Add(meter); } } @@ -210,6 +222,7 @@ foreach (var revitFlowmeter in revitModel.Flowmeters) { var flowmeter = FromRevit(revitFlowmeter, ref allScenePropValueList); + //flowmeter.PropStatusList = null;//涓存椂浠g爜 hydro.Flowmeters.Add(flowmeter); } } @@ -224,6 +237,7 @@ foreach (var revitPressmeter in revitModel.Pressmeters) { var pressmeter = FromRevit(revitPressmeter, ref allScenePropValueList); + //pressmeter.PropStatusList = null;//涓存椂浠g爜 hydro.Pressmeters.Add(pressmeter); } } @@ -238,6 +252,7 @@ foreach (var revitPipe in revitModel.Pipes) { var pipe = FromRevit(revitPipe, ref allScenePropValueList); + //pipe.PropStatusList = null;//涓存椂浠g爜 hydro.Pipes.Add(pipe); } } @@ -252,6 +267,7 @@ foreach (var revitTranslation in revitModel.Translations) { var translation = FromRevit(revitTranslation, ref allScenePropValueList); + //translation.PropStatusList = null;//涓存椂浠g爜 hydro.Translations.Add(translation); } } @@ -266,6 +282,7 @@ foreach (var revitPump in revitModel.Pumps) { var pump = FromRevit(revitPump, ref allScenePropValueList); + //pump.PropStatusList = null;//涓存椂浠g爜 hydro.Pumps.Add(pump); } } @@ -280,6 +297,7 @@ foreach (var revitValve in revitModel.Valves) { var valve = FromRevit(revitValve, ref allScenePropValueList); + //valve.PropStatusList = null;//涓存椂浠g爜 hydro.Valves.Add(valve); } } @@ -294,6 +312,7 @@ foreach (var revitExchanger in revitModel.Exchangers) { var exchanger = FromRevit(revitExchanger, ref allScenePropValueList); + //exchanger.PropStatusList = null;//涓存椂浠g爜 hydro.Exchangers.Add(exchanger); } } @@ -308,6 +327,7 @@ foreach (var revitCompressor in revitModel.Compressors) { var compressor = FromRevit(revitCompressor, ref allScenePropValueList); + //compressor.PropStatusList = null;//涓存椂浠g爜 hydro.Compressors.Add(compressor); } } diff --git a/Hydro/Yw.EPAnet.Calcu.Core/01-network/04-link/01-pipe/Pipe.cs b/Hydro/Yw.EPAnet.Calcu.Core/01-network/04-link/01-pipe/Pipe.cs index 15292ef..a45e7fe 100644 --- a/Hydro/Yw.EPAnet.Calcu.Core/01-network/04-link/01-pipe/Pipe.cs +++ b/Hydro/Yw.EPAnet.Calcu.Core/01-network/04-link/01-pipe/Pipe.cs @@ -18,7 +18,7 @@ this.Diameter = rhs.Diameter; this.Length = rhs.Length; this.Roughness = rhs.Roughness; - this.MinorLoss = rhs.MinorLoss; + this.MinorLossCoeff = rhs.MinorLossCoeff; } /// <summary> @@ -39,9 +39,9 @@ /// <summary> /// 灞�闃荤郴鏁� /// </summary> - public double MinorLoss { get; set; } - public double EndMinorloss { get; set; } - public double StartMinorloss { get; set; } + public double MinorLossCoeff { get; set; } + public double EndMinorLossCoeff { get; set; } + public double StartMinorLossCoeff { get; set; } } diff --git a/Hydro/Yw.EPAnet.Calcu.Core/03-calcu/00-core/NetworkCalcuExtensions.cs b/Hydro/Yw.EPAnet.Calcu.Core/03-calcu/00-core/NetworkCalcuExtensions.cs index d919cfc..039b713 100644 --- a/Hydro/Yw.EPAnet.Calcu.Core/03-calcu/00-core/NetworkCalcuExtensions.cs +++ b/Hydro/Yw.EPAnet.Calcu.Core/03-calcu/00-core/NetworkCalcuExtensions.cs @@ -126,11 +126,17 @@ break; } + } + + { + var v = calcuLink.HeadLoss; if (linkdict[calcuLink.Id] is Pipe p) { - double minorloss1 = p.StartMinorloss * Math.Pow(calcuLink.Velocity, 2) / 2 / 9.81; - double minorloss2 = p.EndMinorloss * Math.Pow(calcuLink.Velocity, 2) / 2 / 9.81; - double minorloss = p.MinorLoss * Math.Pow(calcuLink.Velocity, 2) / 2 / 9.81; + double minorloss1 = p.StartMinorLossCoeff * Math.Pow(calcuLink.Velocity, 2) / 2 / 9.81; + double minorloss2 = p.EndMinorLossCoeff * Math.Pow(calcuLink.Velocity, 2) / 2 / 9.81; + calcuLink.StartMinorLoss=minorloss1; + calcuLink.EndMinorLoss=minorloss2; + double minorloss = p.MinorLossCoeff * Math.Pow(calcuLink.Velocity, 2) / 2 / 9.81; calcuLink.HeadLoss -= minorloss1 + minorloss2; calcuLink.MinorLoss = minorloss; calcuLink.FrictionLoss = calcuLink.HeadLoss - minorloss; @@ -148,10 +154,6 @@ { calcuLink.MinorLoss = v; } - - - - } result.LinkList.Add(calcuLink); } @@ -178,8 +180,8 @@ { if (link is Pipe p) { - p.StartMinorloss = 0; - p.EndMinorloss = 0; + p.StartMinorLossCoeff = 0; + p.EndMinorLossCoeff = 0; } } foreach (var node in allNodeList) @@ -208,7 +210,7 @@ var prevLink = prevLinks[0] as Pipe; if (prevLink != null) { - prevLink.EndMinorloss = elbow.MinorLoss.Value / 2f; + prevLink.EndMinorLossCoeff = elbow.MinorLoss.Value / 2f; } if (nextLinks.Count != 1) { @@ -217,7 +219,7 @@ var nextLink = nextLinks[0] as Pipe; if (nextLink != null) { - nextLink.StartMinorloss = elbow.MinorLoss.Value / 2f; + nextLink.StartMinorLossCoeff = elbow.MinorLoss.Value / 2f; } } else if (node is Threelink threelink) @@ -262,9 +264,9 @@ if (minorLoss.HasValue) { if (isNext) - branchPipe.StartMinorloss = minorLoss.Value; + branchPipe.StartMinorLossCoeff = minorLoss.Value; else - branchPipe.EndMinorloss = minorLoss.Value; + branchPipe.EndMinorLossCoeff = minorLoss.Value; } } } @@ -277,9 +279,9 @@ if (minorLoss.HasValue) { if (isNext) - branchPipe.StartMinorloss = minorLoss.Value; + branchPipe.StartMinorLossCoeff = minorLoss.Value; else - branchPipe.EndMinorloss = minorLoss.Value; + branchPipe.EndMinorLossCoeff = minorLoss.Value; } } @@ -310,11 +312,11 @@ { if (isNext) { - pipe.StartMinorloss = fourlink.MinorLoss.Value; + pipe.StartMinorLossCoeff = fourlink.MinorLoss.Value; } else { - pipe.EndMinorloss = fourlink.MinorLoss.Value; + pipe.EndMinorLossCoeff = fourlink.MinorLoss.Value; } } diff --git a/Hydro/Yw.EPAnet.Calcu.Core/03-calcu/00-core/NetworkDirectionExtensions.cs b/Hydro/Yw.EPAnet.Calcu.Core/03-calcu/00-core/NetworkDirectionExtensions.cs index 823ab15..996f0b7 100644 --- a/Hydro/Yw.EPAnet.Calcu.Core/03-calcu/00-core/NetworkDirectionExtensions.cs +++ b/Hydro/Yw.EPAnet.Calcu.Core/03-calcu/00-core/NetworkDirectionExtensions.cs @@ -129,9 +129,9 @@ } if (linkdict[calcuLink.Id] is Pipe p) { - double minorloss1 = p.StartMinorloss * Math.Pow(calcuLink.Velocity, 2) / 2 / 9.81; - double minorloss2 = p.EndMinorloss * Math.Pow(calcuLink.Velocity, 2) / 2 / 9.81; - double minorloss = p.MinorLoss * Math.Pow(calcuLink.Velocity, 2) / 2 / 9.81; + double minorloss1 = p.StartMinorLossCoeff * Math.Pow(calcuLink.Velocity, 2) / 2 / 9.81; + double minorloss2 = p.EndMinorLossCoeff * Math.Pow(calcuLink.Velocity, 2) / 2 / 9.81; + double minorloss = p.MinorLossCoeff * Math.Pow(calcuLink.Velocity, 2) / 2 / 9.81; calcuLink.HeadLoss -= minorloss1 + minorloss2; calcuLink.MinorLoss = minorloss; calcuLink.FrictionLoss = calcuLink.HeadLoss - minorloss; @@ -295,7 +295,7 @@ x.Roughness = 110; } string statusString = x.LinkStatus == PipeStatus.Closed ? "CLOSED" : ""; - double minorLoss = x.MinorLoss + x.EndMinorloss + x.StartMinorloss; + double minorLoss = x.MinorLossCoeff + x.EndMinorLossCoeff + x.StartMinorLossCoeff; pipeSb.AppendLine($"{x.Id}\t{x.StartNode.Id}\t{x.EndNode.Id}\t{x.Length}\t{x.Diameter}\t{x.Roughness}\t{minorLoss}\t{statusString}\t;\t");// + $"{p.Level}"); if (x.LinkStatus != PipeStatus.Open) { diff --git a/Hydro/Yw.EPAnet.Calcu.Core/03-calcu/03-link/CalcuLink.cs b/Hydro/Yw.EPAnet.Calcu.Core/03-calcu/03-link/CalcuLink.cs index 6072ddc..1a1e310 100644 --- a/Hydro/Yw.EPAnet.Calcu.Core/03-calcu/03-link/CalcuLink.cs +++ b/Hydro/Yw.EPAnet.Calcu.Core/03-calcu/03-link/CalcuLink.cs @@ -33,18 +33,26 @@ public double Velocity { get; set; } /// <summary> - /// 姘村ご鎹熷け + /// 姘村ご鎹熷け(m) /// </summary> public double HeadLoss { get; set; } /// <summary> - /// 灞�闃绘按澶存崯澶� + /// 灞�闃绘按澶存崯澶�(m) /// </summary> public double MinorLoss { get; set; } /// <summary> - /// 娌跨▼姘村ご鎹熷け + /// 娌跨▼姘村ご鎹熷け(m) /// </summary> public double FrictionLoss { get; set; } + /// <summary> + /// 娌跨▼姘村ご鎹熷け_寮�濮�(m) + /// </summary> + public double StartMinorLoss { get; set; } + /// <summary> + /// 娌跨▼姘村ご鎹熷け_缁撴潫(m) + /// </summary> + public double EndMinorLoss { get; set; } } } diff --git a/Hydro/Yw.EPAnet.Calcu.Core/03-calcu/NetworkEnergyAnalyseExtensions.cs b/Hydro/Yw.EPAnet.Calcu.Core/03-calcu/NetworkEnergyAnalyseExtensions.cs index e283041..d927fcd 100644 --- a/Hydro/Yw.EPAnet.Calcu.Core/03-calcu/NetworkEnergyAnalyseExtensions.cs +++ b/Hydro/Yw.EPAnet.Calcu.Core/03-calcu/NetworkEnergyAnalyseExtensions.cs @@ -118,15 +118,15 @@ var cStartnode = (dictLinks[ link.Id].Flow > 0 ? link.StartNode : link.EndNode) as Node; var cEndnode = (dictLinks[link.Id].Flow > 0 ? link.EndNode : link.StartNode) as Node; - var endNodeMinorlossCoff = p.EndMinorloss; - var startNodeMinorlossCoff = p.StartMinorloss; + var endNodeMinorlossCoff = p.EndMinorLossCoeff; + var startNodeMinorlossCoff = p.StartMinorLossCoeff; //鏍规嵁p.diameter鍜宲.flow璁$畻娴侀�� double velocity = dictLinks[p.Id].Flow / (Math.PI * Math.Pow(p.Diameter / 2, 2)); var flow = Math.Abs(dictLinks[p.Id].Flow); - if (p.StartMinorloss!=0) + if (p.StartMinorLossCoeff!=0) { //鏍规嵁娴侀�熻绠楀眬閮ㄦ按澶存崯澶� - double headminorloss1 = p.StartMinorloss * Math.Pow(velocity, 2) / 2 / 9.81; + double headminorloss1 = p.StartMinorLossCoeff * Math.Pow(velocity, 2) / 2 / 9.81; double energypower=GetEnergyPowerByQH(flow, headminorloss1); var Id = cStartnode.Id; if (!result.LossEnergy.ContainsKey(Id)) result.LossEnergy.Add(Id, new List<EnergyPoint>()); @@ -153,10 +153,10 @@ points.Add(point); } - if (p.EndMinorloss != 0) + if (p.EndMinorLossCoeff != 0) { //鏍规嵁娴侀�熻绠楀眬閮ㄦ按澶存崯澶� - double headminorloss2 = p.EndMinorloss * Math.Pow(velocity, 2) / 2 / 9.81; + double headminorloss2 = p.EndMinorLossCoeff * Math.Pow(velocity, 2) / 2 / 9.81; double energypower = GetEnergyPowerByQH(flow, headminorloss2); var Id = cEndnode.Id; if (!result.LossEnergy.ContainsKey(Id)) result.LossEnergy.Add(Id, new List<EnergyPoint>()); @@ -183,10 +183,10 @@ } double pipeheadminorloss = 0; - if (p.MinorLoss!=0) + if (p.MinorLossCoeff!=0) { //鏍规嵁娴侀�熻绠楀眬閮ㄦ按澶存崯澶� - pipeheadminorloss = p.MinorLoss * Math.Pow(velocity, 2) / 2 / 9.81; + pipeheadminorloss = p.MinorLossCoeff * Math.Pow(velocity, 2) / 2 / 9.81; double energypower = GetEnergyPowerByQH(flow, pipeheadminorloss); var Id = p.Id; if (!result.LossEnergy.ContainsKey(Id)) result.LossEnergy.Add(Id, new List<EnergyPoint>()); diff --git a/Hydro/Yw.EPAnet.Calcu.Core/03-calcu/NetworkPathAnalyseExtensions.cs b/Hydro/Yw.EPAnet.Calcu.Core/03-calcu/NetworkPathAnalyseExtensions.cs index 3df4d85..d539e31 100644 --- a/Hydro/Yw.EPAnet.Calcu.Core/03-calcu/NetworkPathAnalyseExtensions.cs +++ b/Hydro/Yw.EPAnet.Calcu.Core/03-calcu/NetworkPathAnalyseExtensions.cs @@ -81,7 +81,7 @@ length += p.Length; } - + nodeEnd.Distance = length; chartNodes.Add(nodeEnd); for (int i=0;i<links.Count;i++) @@ -96,8 +96,8 @@ //鏍规嵁p.diameter鍜宲.flow璁$畻娴侀�� double velocity = dictLinks[ p.Id].Flow/ (Math.PI * Math.Pow(p.Diameter / 2, 2)); //鏍规嵁娴侀�熻绠楀眬閮ㄦ按澶存崯澶� - double minorloss1 = p.StartMinorloss* Math.Pow(velocity, 2) / 2 / 9.81; - double minorloss2 = p.EndMinorloss * Math.Pow(velocity, 2) / 2 / 9.81; + double minorloss1 = dictLinks[p.Id].StartMinorLoss; + double minorloss2 = dictLinks[p.Id].EndMinorLoss; if (i < links.Count - 1) diff --git a/Hydro/Yw.EPAnet.Calcu.Core/04-Inp/InpInteropHelper.cs b/Hydro/Yw.EPAnet.Calcu.Core/04-Inp/InpInteropHelper.cs index 0a5bb8c..a143881 100644 --- a/Hydro/Yw.EPAnet.Calcu.Core/04-Inp/InpInteropHelper.cs +++ b/Hydro/Yw.EPAnet.Calcu.Core/04-Inp/InpInteropHelper.cs @@ -141,7 +141,7 @@ x.Roughness = 110; } string statusString = x.LinkStatus == PipeStatus.Closed ? "CLOSED" : ""; - double minorLoss = x.MinorLoss + x.EndMinorloss + x.StartMinorloss; + double minorLoss = x.MinorLossCoeff + x.EndMinorLossCoeff + x.StartMinorLossCoeff; pipeSb.AppendLine($"{x.Id}\t{x.StartNode.Id}\t{x.EndNode.Id}\t{x.Length}\t{x.Diameter}\t{x.Roughness}\t{minorLoss}\t{statusString}\t;\t");// + $"{p.Level}"); if (x.LinkStatus != PipeStatus.Open) { @@ -446,7 +446,7 @@ p.Roughness = roughness; float minorLoss; if (float.TryParse(parts[6], out minorLoss)) - p.MinorLoss = minorLoss; + p.MinorLossCoeff = minorLoss; p.LinkStatus = parts.Length > 7 ? (parts[7].ToUpper().Contains("CLOSE")? PipeStatus.Closed : PipeStatus.Open) : PipeStatus.Open; net.Pipes.Add(p); diff --git a/Hydro/Yw.Hydro.Core/ParseHelper.cs b/Hydro/Yw.Hydro.Core/ParseHelper.cs index d5ec8ac..356e8f1 100644 --- a/Hydro/Yw.Hydro.Core/ParseHelper.cs +++ b/Hydro/Yw.Hydro.Core/ParseHelper.cs @@ -324,7 +324,7 @@ pipeModel.Length = pipe.Length; pipeModel.Diameter = pipe.Diameter; pipeModel.Roughness = pipe.Roughness; - pipeModel.MinorLoss = pipe.MinorLoss; + pipeModel.MinorLossCoeff = pipe.MinorLoss; netWork.Pipes.Add(pipeModel); } } @@ -344,7 +344,7 @@ translationModel.Length = translation.Length; translationModel.Diameter = translation.Diameter; translationModel.Roughness = translation.Roughness; - translationModel.MinorLoss = translation.MinorLoss; + translationModel.MinorLossCoeff = translation.MinorLoss; netWork.Translations.Add(translationModel); } } @@ -391,7 +391,7 @@ pipeModel.Length = 0.01; pipeModel.Diameter = valve.Diameter; pipeModel.Roughness = 110; - pipeModel.MinorLoss = valve.MinorLoss; + pipeModel.MinorLossCoeff = valve.MinorLoss; netWork.Pipes.Add(pipeModel); } else diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/01-property/SimulationPropertyCtrl.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/01-property/SimulationPropertyCtrl.cs index 129cd5e..5cdc0f6 100644 --- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/01-property/SimulationPropertyCtrl.cs +++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/01-property/SimulationPropertyCtrl.cs @@ -2,6 +2,7 @@ using HStation.WinFrmUI.PhartRelation; using HStation.WinFrmUI.Xhs; using Yw.Model; +using Yw.WinFrmUI.HydroW3d; namespace HStation.WinFrmUI { @@ -429,12 +430,16 @@ { case HydroCurve.Tank: { - if (long.TryParse(vm.DbId, out long longDbId)) + var tankViewModel = vm as HydroTankViewModel; + var curveInfo = tankViewModel.HydroInfo.Curves?.Find(x => x.Code == tankViewModel.VolCurve); + if (curveInfo != null) { - var tankViewModel = vm as HydroTankViewModel; - var dlg = new AssetsTankCurveVOLViewDlg(); - dlg.SetBindingData(longDbId); - dlg.ShowDialog(); + if (long.TryParse(curveInfo.DbId, out long longDbId)) + { + var dlg = new AssetsTankCurveVOLViewDlg(); + dlg.SetBindingData(longDbId); + dlg.ShowDialog(); + } } } break; @@ -473,24 +478,32 @@ case HydroCurve.Exchanger: { - if (long.TryParse(vm.DbId, out long longDbId)) + var exchangerViewModel = vm as HydroExchangerViewModel; + var curveInfo = exchangerViewModel.HydroInfo.Curves?.Find(x => x.Code == exchangerViewModel.CurveQL); + if (curveInfo != null) { - var exchangerViewModel = vm as HydroExchangerViewModel; - var dlg = new AssetsExchangerCurveQLViewDlg(); - dlg.SetBindingData(longDbId); - dlg.ShowDialog(); + if (long.TryParse(curveInfo.DbId, out long longDbId)) + { + var dlg = new AssetsExchangerCurveQLViewDlg(); + dlg.SetBindingData(longDbId); + dlg.ShowDialog(); + } } } break; case HydroCurve.Compressor: { - if (long.TryParse(vm.DbId, out long longDbId)) + var compressorViewModel = vm as HydroCompressorViewModel; + var curveInfo = compressorViewModel.HydroInfo.Curves?.Find(x => x.Code == compressorViewModel.CurveQL); + if (curveInfo != null) { - var compressorViewModel = vm as HydroCompressorViewModel; - var dlg = new AssetsCompressorCurveQLViewDlg(); - dlg.SetBindingData(longDbId); - dlg.ShowDialog(); + if (long.TryParse(curveInfo.DbId, out long longDbId)) + { + var dlg = new AssetsCompressorCurveQLViewDlg(); + dlg.SetBindingData(longDbId); + dlg.ShowDialog(); + } } } break; diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/06-simulation/XhsProjectSimulationCorePage.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/06-simulation/XhsProjectSimulationCorePage.cs index 9c91753..7929d87 100644 --- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/06-simulation/XhsProjectSimulationCorePage.cs +++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/06-simulation/XhsProjectSimulationCorePage.cs @@ -816,11 +816,10 @@ { return default; } - if (_allDecoratorCodes != null) + if (_allDecoratorCodes == null) { - return default; + _allDecoratorCodes = await BLLFactory<Yw.BLL.HydroDecoratorInfo>.Instance.GetCodeListByModelID(_hydroInfo.ID, null); } - _allDecoratorCodes = await BLLFactory<Yw.BLL.HydroDecoratorInfo>.Instance.GetCodeListByModelID(_hydroInfo.ID, null); if (_allDecoratorCodes == null) { _allDecoratorCodes = new List<string>(); diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-viewmodel/03-node/01-source/02-tank/00-core/HydroTankViewModel.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-viewmodel/03-node/01-source/02-tank/00-core/HydroTankViewModel.cs index 01b387b..d2ac7aa 100644 --- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-viewmodel/03-node/01-source/02-tank/00-core/HydroTankViewModel.cs +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-viewmodel/03-node/01-source/02-tank/00-core/HydroTankViewModel.cs @@ -114,7 +114,7 @@ [PropertyOrder(1007)] [HydroCurvePro(HydroCurve.Tank, HydroCurveType.CurveVol)] [ShowEditorInView(true)] - [Browsable(true)] + [Browsable(false)] public string Curve { get @@ -134,9 +134,9 @@ [DisplayName("瀹圭Н鏇茬嚎")] [Display(Name = "瀹圭Н鏇茬嚎")] [PropertyOrder(1008)] - [HydroCurvePro(HydroCurve.TankVol, HydroCurveType.CurveVol)] + [HydroCurvePro(HydroCurve.Tank, HydroCurveType.CurveVol)] [ShowEditorInView(true)] - [Browsable(false)] + [Browsable(true)] public string VolCurve { get; set; } /// <summary> diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-viewmodel/04-link/02-pump/HydroPumpViewModel.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-viewmodel/04-link/02-pump/HydroPumpViewModel.cs index 74099ca..b393a40 100644 --- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-viewmodel/04-link/02-pump/HydroPumpViewModel.cs +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-viewmodel/04-link/02-pump/HydroPumpViewModel.cs @@ -194,8 +194,8 @@ [Category("鏁版嵁")] [DisplayName("娴侀噺鎵▼鏇茬嚎")] [PropertyOrder(2010)] - [HydroCurvePro(HydroCurve.PumpQH, HydroCurveType.CurveQH)] - [Browsable(false)] + [HydroCurvePro(HydroCurve.Pump, HydroCurveType.CurveQH)] + [Browsable(true)] public string CurveQH { get; set; } /// <summary> @@ -204,8 +204,8 @@ [Category("鏁版嵁")] [DisplayName("娴侀噺鍔熺巼鏇茬嚎")] [PropertyOrder(2011)] - [HydroCurvePro(HydroCurve.PumpQP, HydroCurveType.CurveQP)] - [Browsable(false)] + [HydroCurvePro(HydroCurve.Pump, HydroCurveType.CurveQP)] + [Browsable(true)] public string CurveQP { get; set; } /// <summary> @@ -214,8 +214,8 @@ [Category("鏁版嵁")] [DisplayName("娴侀噺鏁堢巼鏇茬嚎")] [PropertyOrder(2012)] - [HydroCurvePro(HydroCurve.PumpQE, HydroCurveType.CurveQE)] - [Browsable(false)] + [HydroCurvePro(HydroCurve.Pump, HydroCurveType.CurveQE)] + [Browsable(true)] public string CurveQE { get; set; } /// <summary> diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-viewmodel/04-link/04-resistance/00-core/HydroResistanceViewModel.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-viewmodel/04-link/04-resistance/00-core/HydroResistanceViewModel.cs index f8f408d..b017a86 100644 --- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-viewmodel/04-link/04-resistance/00-core/HydroResistanceViewModel.cs +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-viewmodel/04-link/04-resistance/00-core/HydroResistanceViewModel.cs @@ -72,9 +72,9 @@ /// </summary> [Category("鏁版嵁")] [DisplayName("姘村ご鎹熷け鏇茬嚎")] - [HydroCurvePro(HydroCurve.ResistanceQL, HydroCurveType.CurveQL)] + [HydroCurvePro(HydroCurve.Resistance, HydroCurveType.CurveQL)] [PropertyOrder(1004)] - [Browsable(true)] + [Browsable(false)] public virtual string Curve { get @@ -93,9 +93,9 @@ [Category("鏁版嵁")] [DisplayName("姘村ご鎹熷け鏇茬嚎")] [PropertyOrder(1005)] - [HydroCurvePro(HydroCurve.ResistanceQL, HydroCurveType.CurveQL)] - [Browsable(false)] - public string CurveQL { get; set; } + [HydroCurvePro(HydroCurve.Resistance, HydroCurveType.CurveQL)] + [Browsable(true)] + public virtual string CurveQL { get; set; } /// <summary> /// 娌跨▼鎹熷け diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-viewmodel/04-link/04-resistance/01-exchanger/HydroExchangerViewModel.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-viewmodel/04-link/04-resistance/01-exchanger/HydroExchangerViewModel.cs index 299d167..8036979 100644 --- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-viewmodel/04-link/04-resistance/01-exchanger/HydroExchangerViewModel.cs +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-viewmodel/04-link/04-resistance/01-exchanger/HydroExchangerViewModel.cs @@ -25,9 +25,9 @@ /// </summary> [Category("鏁版嵁")] [DisplayName("姘村ご鎹熷け鏇茬嚎")] - [HydroCurvePro(HydroCurve.ExchangerQL)] + [HydroCurvePro(HydroCurve.Exchanger, HydroCurveType.CurveQL)] [PropertyOrder(1004)] - [Browsable(true)] + [Browsable(false)] public override string Curve { get @@ -41,6 +41,16 @@ } /// <summary> + /// 姘村ご鎹熷け鏇茬嚎 + /// </summary> + [Category("鏁版嵁")] + [DisplayName("姘村ご鎹熷け鏇茬嚎")] + [PropertyOrder(1005)] + [HydroCurvePro(HydroCurve.Exchanger, HydroCurveType.CurveQL)] + [Browsable(true)] + public override string CurveQL { get; set; } + + /// <summary> /// /// </summary> [Browsable(false)] diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-viewmodel/04-link/04-resistance/02-compressor/HydroCompressorViewModel.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-viewmodel/04-link/04-resistance/02-compressor/HydroCompressorViewModel.cs index 878f042..9a70a98 100644 --- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-viewmodel/04-link/04-resistance/02-compressor/HydroCompressorViewModel.cs +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-viewmodel/04-link/04-resistance/02-compressor/HydroCompressorViewModel.cs @@ -23,9 +23,9 @@ /// </summary> [Category("鏁版嵁")] [DisplayName("姘村ご鎹熷け鏇茬嚎")] - [HydroCurvePro(HydroCurve.CompressorQL)] + [HydroCurvePro(HydroCurve.Compressor, HydroCurveType.CurveQL)] [PropertyOrder(1004)] - [Browsable(true)] + [Browsable(false)] public override string Curve { get @@ -39,6 +39,16 @@ } /// <summary> + /// 姘村ご鎹熷け鏇茬嚎 + /// </summary> + [Category("鏁版嵁")] + [DisplayName("姘村ご鎹熷け鏇茬嚎")] + [PropertyOrder(1005)] + [HydroCurvePro(HydroCurve.Compressor, HydroCurveType.CurveQL)] + [Browsable(true)] + public override string CurveQL { get; set; } + + /// <summary> /// /// </summary> [Browsable(false)] diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/05-property/HydroVisualPropertyCtrl.Designer.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/05-property/HydroVisualPropertyCtrl.Designer.cs index 9592014..b5164ad 100644 --- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/05-property/HydroVisualPropertyCtrl.Designer.cs +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/05-property/HydroVisualPropertyCtrl.Designer.cs @@ -29,16 +29,16 @@ private void InitializeComponent() { components = new Container(); + DevExpress.Utils.SuperToolTip superToolTip8 = new DevExpress.Utils.SuperToolTip(); + DevExpress.Utils.ToolTipItem toolTipItem8 = new DevExpress.Utils.ToolTipItem(); + DevExpress.Utils.SuperToolTip superToolTip6 = new DevExpress.Utils.SuperToolTip(); + DevExpress.Utils.ToolTipItem toolTipItem6 = new DevExpress.Utils.ToolTipItem(); + DevExpress.Utils.SuperToolTip superToolTip7 = new DevExpress.Utils.SuperToolTip(); + DevExpress.Utils.ToolTipItem toolTipItem7 = new DevExpress.Utils.ToolTipItem(); ComponentResourceManager resources = new ComponentResourceManager(typeof(HydroVisualPropertyCtrl)); - DevExpress.Utils.SuperToolTip superToolTip1 = new DevExpress.Utils.SuperToolTip(); - DevExpress.Utils.ToolTipItem toolTipItem1 = new DevExpress.Utils.ToolTipItem(); - DevExpress.Utils.SuperToolTip superToolTip2 = new DevExpress.Utils.SuperToolTip(); - DevExpress.Utils.ToolTipItem toolTipItem2 = new DevExpress.Utils.ToolTipItem(); - DevExpress.Utils.SuperToolTip superToolTip3 = new DevExpress.Utils.SuperToolTip(); - DevExpress.Utils.ToolTipItem toolTipItem3 = new DevExpress.Utils.ToolTipItem(); - DevExpress.Utils.SuperToolTip superToolTip4 = new DevExpress.Utils.SuperToolTip(); - DevExpress.Utils.ToolTipTitleItem toolTipTitleItem1 = new DevExpress.Utils.ToolTipTitleItem(); - DevExpress.Utils.ToolTipItem toolTipItem4 = new DevExpress.Utils.ToolTipItem(); + DevExpress.Utils.SuperToolTip superToolTip5 = new DevExpress.Utils.SuperToolTip(); + DevExpress.Utils.ToolTipTitleItem toolTipTitleItem2 = new DevExpress.Utils.ToolTipTitleItem(); + DevExpress.Utils.ToolTipItem toolTipItem5 = new DevExpress.Utils.ToolTipItem(); layoutControl1 = new DevExpress.XtraLayout.LayoutControl(); hydroVisualPropertyDescriptionCtrl1 = new HydroVisualPropertyDescriptionCtrl(); propertyGridControl1 = new DevExpress.XtraVerticalGrid.PropertyGridControl(); @@ -59,6 +59,9 @@ barDockControlBottom = new DevExpress.XtraBars.BarDockControl(); barDockControlLeft = new DevExpress.XtraBars.BarDockControl(); barDockControlRight = new DevExpress.XtraBars.BarDockControl(); + barBtnEditCurve = new DevExpress.XtraBars.BarButtonItem(); + barBtnViewCurve = new DevExpress.XtraBars.BarButtonItem(); + radialMenu1 = new DevExpress.XtraBars.Ribbon.RadialMenu(components); ((ISupportInitialize)layoutControl1).BeginInit(); layoutControl1.SuspendLayout(); ((ISupportInitialize)propertyGridControl1).BeginInit(); @@ -68,6 +71,7 @@ ((ISupportInitialize)layoutDescription).BeginInit(); ((ISupportInitialize)splitterItem1).BeginInit(); ((ISupportInitialize)barManager1).BeginInit(); + ((ISupportInitialize)radialMenu1).BeginInit(); SuspendLayout(); // // layoutControl1 @@ -165,8 +169,8 @@ barManager1.DockControls.Add(barDockControlLeft); barManager1.DockControls.Add(barDockControlRight); barManager1.Form = this; - barManager1.Items.AddRange(new DevExpress.XtraBars.BarItem[] { barBtnHelp, barBtnExpandAll, barBtnCollpseAll, barBtnChangeLink, barBtnView, barBtnMatchingDb }); - barManager1.MaxItemId = 22; + barManager1.Items.AddRange(new DevExpress.XtraBars.BarItem[] { barBtnHelp, barBtnExpandAll, barBtnCollpseAll, barBtnChangeLink, barBtnView, barBtnMatchingDb, barBtnEditCurve, barBtnViewCurve }); + barManager1.MaxItemId = 24; // // bar1 // @@ -211,9 +215,9 @@ barBtnMatchingDb.Id = 18; barBtnMatchingDb.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("barBtnMatchingDb.ImageOptions.SvgImage"); barBtnMatchingDb.Name = "barBtnMatchingDb"; - toolTipItem1.Text = "浠庝骇鍝佸簱涓繘琛岄�夋嫨"; - superToolTip1.Items.Add(toolTipItem1); - barBtnMatchingDb.SuperTip = superToolTip1; + toolTipItem8.Text = "浠庝骇鍝佸簱涓繘琛岄�夋嫨"; + superToolTip8.Items.Add(toolTipItem8); + barBtnMatchingDb.SuperTip = superToolTip8; barBtnMatchingDb.ItemClick += barBtnMatchingDb_ItemClick; // // barBtnChangeLink @@ -221,9 +225,9 @@ barBtnChangeLink.Id = 16; barBtnChangeLink.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("barBtnChangeLink.ImageOptions.SvgImage"); barBtnChangeLink.Name = "barBtnChangeLink"; - toolTipItem2.Text = "璋冩暣涓婁笅娓�"; - superToolTip2.Items.Add(toolTipItem2); - barBtnChangeLink.SuperTip = superToolTip2; + toolTipItem6.Text = "璋冩暣涓婁笅娓�"; + superToolTip6.Items.Add(toolTipItem6); + barBtnChangeLink.SuperTip = superToolTip6; barBtnChangeLink.Visibility = DevExpress.XtraBars.BarItemVisibility.Never; barBtnChangeLink.ItemClick += barBtnChangeLink_ItemClick; // @@ -232,9 +236,9 @@ barBtnView.Id = 17; barBtnView.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("barBtnView.ImageOptions.SvgImage"); barBtnView.Name = "barBtnView"; - toolTipItem3.Text = "鏌ョ湅"; - superToolTip3.Items.Add(toolTipItem3); - barBtnView.SuperTip = superToolTip3; + toolTipItem7.Text = "鏌ョ湅"; + superToolTip7.Items.Add(toolTipItem7); + barBtnView.SuperTip = superToolTip7; barBtnView.Visibility = DevExpress.XtraBars.BarItemVisibility.Never; barBtnView.ItemClick += barBtnView_ItemClick; // @@ -245,14 +249,14 @@ barBtnHelp.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("barBtnHelp.ImageOptions.SvgImage"); barBtnHelp.ImageOptions.SvgImageSize = new Size(20, 20); barBtnHelp.Name = "barBtnHelp"; - toolTipTitleItem1.Appearance.Image = (Image)resources.GetObject("resource.Image"); - toolTipTitleItem1.Appearance.Options.UseImage = true; - toolTipTitleItem1.ImageOptions.Image = (Image)resources.GetObject("resource.Image1"); - toolTipItem4.LeftIndent = 6; - toolTipItem4.Text = "鎻忚堪淇℃伅"; - superToolTip4.Items.Add(toolTipTitleItem1); - superToolTip4.Items.Add(toolTipItem4); - barBtnHelp.SuperTip = superToolTip4; + toolTipTitleItem2.Appearance.Image = (Image)resources.GetObject("resource.Image"); + toolTipTitleItem2.Appearance.Options.UseImage = true; + toolTipTitleItem2.ImageOptions.Image = (Image)resources.GetObject("resource.Image1"); + toolTipItem5.LeftIndent = 6; + toolTipItem5.Text = "鎻忚堪淇℃伅"; + superToolTip5.Items.Add(toolTipTitleItem2); + superToolTip5.Items.Add(toolTipItem5); + barBtnHelp.SuperTip = superToolTip5; barBtnHelp.ItemClick += barBtnHelp_ItemClick; // // barDockControlTop @@ -287,6 +291,34 @@ barDockControlRight.Manager = barManager1; barDockControlRight.Size = new Size(0, 602); // + // barBtnEditCurve + // + barBtnEditCurve.Caption = "缂栬緫鏇茬嚎"; + barBtnEditCurve.CloseRadialMenuOnItemClick = true; + barBtnEditCurve.Id = 22; + barBtnEditCurve.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("barBtnEditCurve.ImageOptions.SvgImage"); + barBtnEditCurve.ImageOptions.SvgImageSize = new Size(16, 16); + barBtnEditCurve.Name = "barBtnEditCurve"; + barBtnEditCurve.ItemClick += barBtnEditCurve_ItemClick; + // + // barBtnViewCurve + // + barBtnViewCurve.Caption = "鏌ョ湅鏇茬嚎"; + barBtnViewCurve.CloseRadialMenuOnItemClick = true; + barBtnViewCurve.Id = 23; + barBtnViewCurve.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("barBtnViewCurve.ImageOptions.SvgImage"); + barBtnViewCurve.ImageOptions.SvgImageSize = new Size(16, 16); + barBtnViewCurve.Name = "barBtnViewCurve"; + barBtnViewCurve.ItemClick += barBtnViewCurve_ItemClick; + // + // radialMenu1 + // + radialMenu1.AutoExpand = true; + radialMenu1.Glyph = (Image)resources.GetObject("radialMenu1.Glyph"); + radialMenu1.LinksPersistInfo.AddRange(new DevExpress.XtraBars.LinkPersistInfo[] { new DevExpress.XtraBars.LinkPersistInfo(barBtnEditCurve), new DevExpress.XtraBars.LinkPersistInfo(barBtnViewCurve) }); + radialMenu1.Manager = barManager1; + radialMenu1.Name = "radialMenu1"; + // // HydroVisualPropertyCtrl // AutoScaleDimensions = new SizeF(7F, 14F); @@ -307,6 +339,7 @@ ((ISupportInitialize)layoutDescription).EndInit(); ((ISupportInitialize)splitterItem1).EndInit(); ((ISupportInitialize)barManager1).EndInit(); + ((ISupportInitialize)radialMenu1).EndInit(); ResumeLayout(false); PerformLayout(); } @@ -333,5 +366,8 @@ private DevExpress.XtraLayout.LayoutControlItem layoutDescription; private DevExpress.Utils.SvgImageCollection svgImg16; private DevExpress.XtraBars.BarButtonItem barBtnMatchingDb; + private DevExpress.XtraBars.BarButtonItem barBtnEditCurve; + private DevExpress.XtraBars.BarButtonItem barBtnViewCurve; + private DevExpress.XtraBars.Ribbon.RadialMenu radialMenu1; } } diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/05-property/HydroVisualPropertyCtrl.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/05-property/HydroVisualPropertyCtrl.cs index 2228f50..9214e30 100644 --- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/05-property/HydroVisualPropertyCtrl.cs +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/05-property/HydroVisualPropertyCtrl.cs @@ -1,4 +1,5 @@ -锘縰sing DevExpress.XtraBars; +锘縰sing DevExpress.Utils.MVVM; +using DevExpress.XtraBars; using DevExpress.XtraEditors; using DevExpress.XtraEditors.Controls; using DevExpress.XtraEditors.Repository; @@ -360,7 +361,18 @@ { return; } - this.SetCurveEvent?.Invoke(vm, curvePropAttri.Curve, curvePropAttri.CurveType); + if (string.IsNullOrEmpty(curvePropAttri.CurveType)) + { + this.SetCurveEvent?.Invoke(vm, curvePropAttri.Curve, curvePropAttri.CurveType); + } + else + { + if (e.Row.Properties.Value == null || string.IsNullOrEmpty(e.Row.Properties.Value.ToString())) + { + return; + } + this.radialMenu1.ShowPopup(MousePosition); + } }; e.RepositoryItem = buttonEdit; } @@ -770,6 +782,50 @@ } + //鏌ョ湅鏇茬嚎 + private void barBtnViewCurve_ItemClick(object sender, ItemClickEventArgs e) + { + var vm = this.SelectedObject; + if (vm == null) + { + return; + } + var row = this.propertyGridControl1.FocusedRow; + var code = row.Properties.Value?.ToString(); + var curve = vm.HydroInfo.Curves?.Find(x => x.Code == code); + if (curve == null) + { + return; + } + var dlg = new HydroCurveViewDlg(); + dlg.SetBindingData(curve); + dlg.ShowDialog(); + } + + //缂栬緫鏇茬嚎 + private void barBtnEditCurve_ItemClick(object sender, ItemClickEventArgs e) + { + var vm = this.SelectedObject; + if (vm == null) + { + return; + } + var row = this.propertyGridControl1.FocusedRow; + var code = row.Properties.Value?.ToString(); + var curve = vm.HydroInfo.Curves?.Find(x => x.Code == code); + if (curve == null) + { + return; + } + var dlg = new HydroCurveEditDlg(); + dlg.ReloadDataEvent += (rhs) => + { + + }; + dlg.SetBindingData(curve); + dlg.ShowDialog(); + } + } } diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/05-property/HydroVisualPropertyCtrl.resx b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/05-property/HydroVisualPropertyCtrl.resx index 58704fa..704052d 100644 --- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/05-property/HydroVisualPropertyCtrl.resx +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/05-property/HydroVisualPropertyCtrl.resx @@ -120,98 +120,13 @@ <metadata name="svgImg16.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <value>17, 17</value> </metadata> + <metadata name="svgImg16.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> + <value>17, 17</value> + </metadata> <metadata name="barManager1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <value>151, 19</value> </metadata> <assembly alias="DevExpress.Data.v23.2" name="DevExpress.Data.v23.2, Culture=neutral, PublicKeyToken=b88d1754d700e49a" /> - <data name="barBtnExpandAll.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> - <value> - AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40 - LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl - dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAALACAAAC77u/ - PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi - IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv - MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh - Y2U9InByZXNlcnZlIiBpZD0iRXhwYW5kX0ZpZWxkIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3 - IDAgMCAzMiAzMiI+DQogIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CgkuQmxhY2t7ZmlsbDojNzI3Mjcy - O30KCS5HcmVlbntmaWxsOiMwMzlDMjM7fQoJLnN0MHtvcGFjaXR5OjAuNzU7fQo8L3N0eWxlPg0KICA8 - cG9seWdvbiBwb2ludHM9IjE0LDYgMTAsNiAxMCwyIDYsMiA2LDYgMiw2IDIsMTAgNiwxMCA2LDE0IDEw - LDE0IDEwLDEwIDE0LDEwICIgY2xhc3M9IkdyZWVuIiAvPg0KICA8ZyBjbGFzcz0ic3QwIj4NCiAgICA8 - cGF0aCBkPSJNMjIsNmgxMHYySDIyVjZ6IE0yMiwxMmgxMHYtMkgyMlYxMnogTTIyLDIwaDEwdi0ySDIy - VjIweiBNMjIsMjRoMTB2LTJIMjJWMjR6IiBjbGFzcz0iQmxhY2siIC8+DQogIDwvZz4NCiAgPHBhdGgg - ZD0iTTE4LDJoMTR2MkgxOFYyeiBNMTgsMTZoMTR2LTJIMThWMTZ6IE0xOCwyOGgxNHYtMkgxOFYyOHoi - IGNsYXNzPSJCbGFjayIgLz4NCjwvc3ZnPgs= -</value> - </data> - <data name="barBtnCollpseAll.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> - <value> - AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40 - LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl - dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAIcCAAAC77u/ - PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi - IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv - MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh - Y2U9InByZXNlcnZlIiBpZD0iQ29sbGFwc2VfRmllbGQiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpu - ZXcgMCAwIDMyIDMyIj4NCiAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5CbGFja3tmaWxsOiM3Mjcy - NzI7fQoJLlJlZHtmaWxsOiNEMTFDMUM7fQoJLnN0MHtvcGFjaXR5OjAuNzU7fQo8L3N0eWxlPg0KICA8 - cmVjdCB4PSIyIiB5PSI2IiB3aWR0aD0iMTIiIGhlaWdodD0iNCIgY2xhc3M9IlJlZCIgLz4NCiAgPGcg - Y2xhc3M9InN0MCI+DQogICAgPHBhdGggZD0iTTIyLDZoMTB2MkgyMlY2eiBNMjIsMTJoMTB2LTJIMjJW - MTJ6IE0yMiwyMGgxMHYtMkgyMlYyMHogTTIyLDI0aDEwdi0ySDIyVjI0eiIgY2xhc3M9IkJsYWNrIiAv - Pg0KICA8L2c+DQogIDxwYXRoIGQ9Ik0xOCwyaDE0djJIMThWMnogTTE4LDE2aDE0di0ySDE4VjE2eiBN - MTgsMjhoMTR2LTJIMThWMjh6IiBjbGFzcz0iQmxhY2siIC8+DQo8L3N2Zz4L -</value> - </data> - <data name="barBtnMatchingDb.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> - <value> - AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40 - LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl - dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAMACAAAC77u/ - PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi - IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv - MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh - Y2U9InByZXNlcnZlIiBpZD0iU2VsZWN0IiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAz - MiAzMiI+DQogIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CgkuQmxhY2t7ZmlsbDojNzI3MjcyO30KCS5C - bHVle2ZpbGw6IzExNzdENzt9Cgkuc3Qwe29wYWNpdHk6MC41O30KPC9zdHlsZT4NCiAgPGcgY2xhc3M9 - InN0MCI+DQogICAgPHBhdGggZD0iTTEwLDEwSDZWNmg0VjEweiBNMjQsNkgxMnY0aDEyVjZ6IE0xMCwx - Mkg2djEyaDRWMTJ6IiBjbGFzcz0iQmx1ZSIgLz4NCiAgPC9nPg0KICA8cGF0aCBkPSJNMTYsMjhoLTEu - OEgxMkgzYy0wLjYsMC0xLTAuNC0xLTFWM2MwLTAuNiwwLjQtMSwxLTFoMjRjMC42LDAsMSwwLjQsMSwx - djl2Mi4ydjYuOWwtMi0ydi01VjEyVjRINHYyMmg4aDIuMSAgSDE2VjI4eiBNMjQuMiwyNkgzMEwxOCwx - NHYxNi41bDQtNGwyLDVjMC4yLDAuNCwwLjYsMC42LDEsMC40bDAuNy0wLjNjMC40LTAuMiwwLjYtMC42 - LDAuNC0xTDI0LjIsMjZ6IiBjbGFzcz0iQmxhY2siIC8+DQo8L3N2Zz4L -</value> - </data> - <data name="barBtnChangeLink.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> - <value> - AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40 - LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl - dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAK0BAAAC77u/ - PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi - IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv - MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBlbmFibGUt - YmFja2dyb3VuZD0ibmV3IDAgMCAzMiAzMiIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgaWQ9IkxheWVyXzEi - Pg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkdyZWVue2ZpbGw6IzAzOUMyMzt9Cjwvc3R5bGU+ - DQogIDxwb2x5Z29uIHBvaW50cz0iMzAsMjIgMjIsMTYgMjIsMjAgMTIsMjAgMjgsNCAyMiw0IDIsNCAy - LDggMTgsOCAyLDI0IDIyLDI0IDIyLDI4ICIgZmlsbD0iIzAzOUMyMyIgY2xhc3M9IkdyZWVuIiAvPg0K - PC9zdmc+Cw== -</value> - </data> - <data name="barBtnView.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> - <value> - AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40 - LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl - dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAADUCAAAC77u/ - PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi - IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv - MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh - Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg - MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5Z - ZWxsb3d7ZmlsbDojRkZCMTE1O30KCS5CbGFja3tmaWxsOiM3MjcyNzI7fQoJLkdyZWVue2ZpbGw6IzAz - OUMyMzt9CgkuUmVke2ZpbGw6I0QxMUMxQzt9Cgkuc3Qwe29wYWNpdHk6MC43NTt9Cgkuc3Qxe29wYWNp - dHk6MC41O30KPC9zdHlsZT4NCiAgPGcgaWQ9IlNlbmQiPg0KICAgIDxwb2x5Z29uIHBvaW50cz0iMiwy - MCA4LDIyLjQgMjQsMTAgMTIsMjQgMTIsMzAgMTYuMywyNS43IDIyLDI4IDMwLDIgICIgY2xhc3M9IkJs - dWUiIC8+DQogIDwvZz4NCjwvc3ZnPgs= -</value> - </data> <data name="barBtnHelp.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> <value> AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40 @@ -268,4 +183,160 @@ 6XTsLy5SM69xQkG9AAAAAElFTkSuQmCC </value> </data> + <data name="barBtnExpandAll.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value> + AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40 + LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl + dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAALACAAAC77u/ + PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi + IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv + MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh + Y2U9InByZXNlcnZlIiBpZD0iRXhwYW5kX0ZpZWxkIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3 + IDAgMCAzMiAzMiI+DQogIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CgkuQmxhY2t7ZmlsbDojNzI3Mjcy + O30KCS5HcmVlbntmaWxsOiMwMzlDMjM7fQoJLnN0MHtvcGFjaXR5OjAuNzU7fQo8L3N0eWxlPg0KICA8 + cG9seWdvbiBwb2ludHM9IjE0LDYgMTAsNiAxMCwyIDYsMiA2LDYgMiw2IDIsMTAgNiwxMCA2LDE0IDEw + LDE0IDEwLDEwIDE0LDEwICIgY2xhc3M9IkdyZWVuIiAvPg0KICA8ZyBjbGFzcz0ic3QwIj4NCiAgICA8 + cGF0aCBkPSJNMjIsNmgxMHYySDIyVjZ6IE0yMiwxMmgxMHYtMkgyMlYxMnogTTIyLDIwaDEwdi0ySDIy + VjIweiBNMjIsMjRoMTB2LTJIMjJWMjR6IiBjbGFzcz0iQmxhY2siIC8+DQogIDwvZz4NCiAgPHBhdGgg + ZD0iTTE4LDJoMTR2MkgxOFYyeiBNMTgsMTZoMTR2LTJIMThWMTZ6IE0xOCwyOGgxNHYtMkgxOFYyOHoi + IGNsYXNzPSJCbGFjayIgLz4NCjwvc3ZnPgs= +</value> + </data> + <data name="barBtnCollpseAll.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value> + AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40 + LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl + dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAIcCAAAC77u/ + PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi + IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv + MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh + Y2U9InByZXNlcnZlIiBpZD0iQ29sbGFwc2VfRmllbGQiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpu + ZXcgMCAwIDMyIDMyIj4NCiAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5CbGFja3tmaWxsOiM3Mjcy + NzI7fQoJLlJlZHtmaWxsOiNEMTFDMUM7fQoJLnN0MHtvcGFjaXR5OjAuNzU7fQo8L3N0eWxlPg0KICA8 + cmVjdCB4PSIyIiB5PSI2IiB3aWR0aD0iMTIiIGhlaWdodD0iNCIgY2xhc3M9IlJlZCIgLz4NCiAgPGcg + Y2xhc3M9InN0MCI+DQogICAgPHBhdGggZD0iTTIyLDZoMTB2MkgyMlY2eiBNMjIsMTJoMTB2LTJIMjJW + MTJ6IE0yMiwyMGgxMHYtMkgyMlYyMHogTTIyLDI0aDEwdi0ySDIyVjI0eiIgY2xhc3M9IkJsYWNrIiAv + Pg0KICA8L2c+DQogIDxwYXRoIGQ9Ik0xOCwyaDE0djJIMThWMnogTTE4LDE2aDE0di0ySDE4VjE2eiBN + MTgsMjhoMTR2LTJIMThWMjh6IiBjbGFzcz0iQmxhY2siIC8+DQo8L3N2Zz4L +</value> + </data> + <data name="barBtnChangeLink.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value> + AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40 + LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl + dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAK0BAAAC77u/ + PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi + IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv + MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBlbmFibGUt + YmFja2dyb3VuZD0ibmV3IDAgMCAzMiAzMiIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgaWQ9IkxheWVyXzEi + Pg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkdyZWVue2ZpbGw6IzAzOUMyMzt9Cjwvc3R5bGU+ + DQogIDxwb2x5Z29uIHBvaW50cz0iMzAsMjIgMjIsMTYgMjIsMjAgMTIsMjAgMjgsNCAyMiw0IDIsNCAy + LDggMTgsOCAyLDI0IDIyLDI0IDIyLDI4ICIgZmlsbD0iIzAzOUMyMyIgY2xhc3M9IkdyZWVuIiAvPg0K + PC9zdmc+Cw== +</value> + </data> + <data name="barBtnView.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value> + AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40 + LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl + dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAADUCAAAC77u/ + PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi + IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv + MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh + Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg + MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5Z + ZWxsb3d7ZmlsbDojRkZCMTE1O30KCS5CbGFja3tmaWxsOiM3MjcyNzI7fQoJLkdyZWVue2ZpbGw6IzAz + OUMyMzt9CgkuUmVke2ZpbGw6I0QxMUMxQzt9Cgkuc3Qwe29wYWNpdHk6MC43NTt9Cgkuc3Qxe29wYWNp + dHk6MC41O30KPC9zdHlsZT4NCiAgPGcgaWQ9IlNlbmQiPg0KICAgIDxwb2x5Z29uIHBvaW50cz0iMiwy + MCA4LDIyLjQgMjQsMTAgMTIsMjQgMTIsMzAgMTYuMywyNS43IDIyLDI4IDMwLDIgICIgY2xhc3M9IkJs + dWUiIC8+DQogIDwvZz4NCjwvc3ZnPgs= +</value> + </data> + <data name="barBtnMatchingDb.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value> + AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40 + LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl + dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAMACAAAC77u/ + PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi + IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv + MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh + Y2U9InByZXNlcnZlIiBpZD0iU2VsZWN0IiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAz + MiAzMiI+DQogIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CgkuQmxhY2t7ZmlsbDojNzI3MjcyO30KCS5C + bHVle2ZpbGw6IzExNzdENzt9Cgkuc3Qwe29wYWNpdHk6MC41O30KPC9zdHlsZT4NCiAgPGcgY2xhc3M9 + InN0MCI+DQogICAgPHBhdGggZD0iTTEwLDEwSDZWNmg0VjEweiBNMjQsNkgxMnY0aDEyVjZ6IE0xMCwx + Mkg2djEyaDRWMTJ6IiBjbGFzcz0iQmx1ZSIgLz4NCiAgPC9nPg0KICA8cGF0aCBkPSJNMTYsMjhoLTEu + OEgxMkgzYy0wLjYsMC0xLTAuNC0xLTFWM2MwLTAuNiwwLjQtMSwxLTFoMjRjMC42LDAsMSwwLjQsMSwx + djl2Mi4ydjYuOWwtMi0ydi01VjEyVjRINHYyMmg4aDIuMSAgSDE2VjI4eiBNMjQuMiwyNkgzMEwxOCwx + NHYxNi41bDQtNGwyLDVjMC4yLDAuNCwwLjYsMC42LDEsMC40bDAuNy0wLjNjMC40LTAuMiwwLjYtMC42 + LDAuNC0xTDI0LjIsMjZ6IiBjbGFzcz0iQmxhY2siIC8+DQo8L3N2Zz4L +</value> + </data> + <data name="barBtnEditCurve.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value> + AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40 + LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl + dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAABwFAAAC77u/ + PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi + IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv + MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh + Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg + MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLlllbGxvd3tmaWxsOiNGRkIxMTU7fQoJ + LlJlZHtmaWxsOiNEMTFDMUM7fQoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9CgkuQmx1ZXtmaWxsOiMxMTc3 + RDc7fQoJLldoaXRle2ZpbGw6I0ZGRkZGRjt9CgkuR3JlZW57ZmlsbDojMDM5QzIzO30KCS5zdDB7b3Bh + Y2l0eTowLjc1O30KCS5zdDF7b3BhY2l0eTowLjU7fQoJLnN0MntvcGFjaXR5OjAuMjU7fQoJLnN0M3tm + aWxsOiNGRkIxMTU7fQo8L3N0eWxlPg0KICA8ZyAvPg0KICA8ZyBpZD0iUmVuYW1lXzFfIj4NCiAgICA8 + cGF0aCBkPSJNMi4xLDE2aDIuMmwwLjYtMi4zaDMuMkw4LjgsMTZIMTFMNy44LDZINS40TDIuMSwxNnog + TTYuNCw4LjdjMC4xLTAuMywwLjEtMC42LDAuMS0wLjloMC4xICAgYzAsMC4zLDAuMSwwLjYsMC4xLDAu + OWwxLDMuM0g1LjRMNi40LDguN3ogTTE3LjUsMTAuNmMwLjYtMC4yLDEuMS0wLjUsMS41LTAuOWMwLjQt + MC40LDAuNi0wLjksMC42LTEuNGMwLTAuNy0wLjMtMS4zLTAuOS0xLjcgICBDMTguMSw2LjIsMTcuMSw2 + LDE1LjksNkgxMnY5LjlWMTZoNGMxLjIsMCwyLjItMC4yLDIuOS0wLjhDMTkuNywxNC42LDIwLDE0LDIw + LDEzYzAtMC42LTAuMi0xLjItMC43LTEuNiAgIEMxOC45LDExLDE4LjMsMTAuNywxNy41LDEwLjZ6IE0x + NC40LDcuN2gwLjljMS4xLDAsMS43LDAuNCwxLjcsMS4xYzAsMC40LTAuMSwwLjctMC40LDAuOUMxNi40 + LDkuOSwxNiwxMCwxNS41LDEwaC0xLjFWNy43eiAgICBNMTcsMTMuOGMtMC4zLDAuMi0wLjgsMC40LTEu + MywwLjRoLTEuM3YtMi42aDEuM2MwLjUsMCwwLjksMC4xLDEuMywwLjNjMC4zLDAuMiwwLjUsMC42LDAu + NSwwLjlDMTcuNSwxMy4zLDE3LjQsMTMuNiwxNywxMy44eiIgY2xhc3M9IkJsYWNrIiAvPg0KICAgIDxw + YXRoIGQ9Ik0yNywxOWwtOCw4bC00LTRsOC04TDI3LDE5eiBNMjgsMThsMS43LTEuN2MwLjQtMC40LDAu + NC0xLDAtMS4zTDI3LDEyLjNjLTAuNC0wLjQtMS0wLjQtMS4zLDBMMjQsMTRMMjgsMTh6ICAgIE0xNCwy + NHY0aDRMMTQsMjR6IiBjbGFzcz0iQmx1ZSIgLz4NCiAgPC9nPg0KPC9zdmc+Cw== +</value> + </data> + <data name="barBtnViewCurve.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value> + AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40 + LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl + dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAABsDAAAC77u/ + PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi + IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv + MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh + Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg + MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLlllbGxvd3tmaWxsOiNGRkIxMTU7fQoJ + LlJlZHtmaWxsOiNEMTFDMUM7fQoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5HcmVlbntmaWxsOiMwMzlD + MjM7fQoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh + Y2l0eTowLjU7fQoJLnN0MXtkaXNwbGF5Om5vbmU7fQoJLnN0MntkaXNwbGF5OmlubGluZTtmaWxsOiMw + MzlDMjM7fQoJLnN0M3tkaXNwbGF5OmlubGluZTtmaWxsOiNEMTFDMUM7fQoJLnN0NHtkaXNwbGF5Omlu + bGluZTtmaWxsOiM3MjcyNzI7fQo8L3N0eWxlPg0KICA8ZyBpZD0iQWJvdXQiPg0KICAgIDxwYXRoIGQ9 + Ik0xNiwyQzguMywyLDIsOC4zLDIsMTZzNi4zLDE0LDE0LDE0czE0LTYuMywxNC0xNFMyMy43LDIsMTYs + MnogTTE2LDZjMS4xLDAsMiwwLjksMiwycy0wLjksMi0yLDJzLTItMC45LTItMiAgIFMxNC45LDYsMTYs + NnogTTIwLDI0aC04di0yaDJ2LThoLTJ2LTJoMmg0djEwaDJWMjR6IiBjbGFzcz0iQmx1ZSIgLz4NCiAg + PC9nPg0KPC9zdmc+Cw== +</value> + </data> + <metadata name="radialMenu1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> + <value>286, 19</value> + </metadata> + <data name="radialMenu1.Glyph" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value> + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAAE3RFWHRUaXRsZQBTcGxpbmU7 + Q2hhcnQ78fOrVwAAAcFJREFUWEfF1M8rBGEcBnAStfwF4sqJUuTkP/AjFFLKhTMuLg6yy9KWwmUPihQ5 + 2ISwDk5OysERKRxckYu0WeP5bvNu77zzbL2zh9fh0+w839nnuzu7TYXnef+Khi7R0CUaukRDl2joEg1n + 99PlGoUr+IZ32IUOKF5j7goFQn9DBFtwDyNQBw0wB18wCYXrzF2hQKiLI1iAW6jVMtXVDXmoUZkuFAi5 + MIJq+IFWLSvQ+nZgWc+UUCBUgaVxuDSyAq2vGX6hUt8jAiflQGkGZthM6Y1fTA8kz3LDqaN1cxY4KQeW + P0E7myn4AC/6URc4iQqLq0D+YDE2V+QOyHI5mrPASVSDydN5yLNiWzS01ZfIvsqR3VpbNLQ1lDpeLXVr + bdHQFn77LrhjM1s0lG9k882wvAdu2MwWDWW5HNVvXAqWT8Ehm9mi4dha5qR/6fxzIr1Hn14KZpuwyGa2 + aKig/BE6QV4zz9BmZEWs00RDBSUJ2NZLNXG4NrIA1mmioYKSGDzAhv9askZYgQ9o8TOKdZpoqPhF9ZCF + nO8NDqAJAgtNrNNEQ8UolOe+ugtWWKeJhi7R0CUaukRDl2joEg3d8Sr+ANJg/Rqdan19AAAAAElFTkSu + QmCC +</value> + </data> </root> \ No newline at end of file diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/14-matching/00-core/HydroMatchingHelper.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/14-matching/00-core/HydroMatchingHelper.cs index 5791993..ca67a33 100644 --- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/14-matching/00-core/HydroMatchingHelper.cs +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/14-matching/00-core/HydroMatchingHelper.cs @@ -1121,7 +1121,7 @@ curvevol.ModelType = string.Empty; curvevol.DbLocked = false; curvevol.DbId = matching.MatchingCurveDbId; - curvevol.CurveType = Yw.WinFrmUI.HydroCurve.TankVol; + curvevol.CurveType = Yw.WinFrmUI.HydroCurveType.CurveVol; curvevol.CurveData = matching.MatchingVolCurve?.Select(x => new Yw.Model.Hydro.CurvePoint(x.X, x.Y)).ToList(); if (hydroInfo.Curves == null) { @@ -2155,7 +2155,7 @@ curveqh.ModelType = string.Empty; curveqh.DbLocked = false; curveqh.DbId = matching.MatchingCurveDbId; - curveqh.CurveType = Yw.WinFrmUI.HydroCurve.PumpQH; + curveqh.CurveType = Yw.WinFrmUI.HydroCurveType.CurveQH; curveqh.CurveData = matching.MatchingCurveQH?.Select(x => new Yw.Model.Hydro.CurvePoint(x.X, x.Y)).ToList(); if (hydroInfo.Curves == null) { @@ -2187,7 +2187,7 @@ curveqp.ModelType = string.Empty; curveqp.DbLocked = false; curveqp.DbId = matching.MatchingCurveDbId; - curveqp.CurveType = Yw.WinFrmUI.HydroCurve.PumpQP; + curveqp.CurveType = Yw.WinFrmUI.HydroCurveType.CurveQP; curveqp.CurveData = matching.MatchingCurveQP?.Select(x => new Yw.Model.Hydro.CurvePoint(x.X, x.Y)).ToList(); if (hydroInfo.Curves == null) { @@ -2219,7 +2219,7 @@ curveqe.ModelType = string.Empty; curveqe.DbLocked = false; curveqe.DbId = matching.MatchingCurveDbId; - curveqe.CurveType = Yw.WinFrmUI.HydroCurve.PumpQE; + curveqe.CurveType = Yw.WinFrmUI.HydroCurveType.CurveQE; curveqe.CurveData = matching.MatchingCurveQE?.Select(x => new Yw.Model.Hydro.CurvePoint(x.X, x.Y)).ToList(); if (hydroInfo.Curves == null) { @@ -2384,7 +2384,7 @@ curveol.ModelType = visual.ModelType; curveol.DbLocked = false; curveol.DbId = matching.MatchingCurveDbId; - curveol.CurveType = Yw.WinFrmUI.HydroCurve.ValveOL; + curveol.CurveType = Yw.WinFrmUI.HydroCurveType.CurveOL; curveol.CurveData = matching.MatchingCurveOL?.Select(x => new Yw.Model.Hydro.CurvePoint(x.X, x.Y)).ToList(); if (hydroInfo.Curves == null) { @@ -2410,7 +2410,7 @@ { if (!string.IsNullOrEmpty(matching.MatchingCurveDbId)) { - //闃�闂ㄥ紑搴︽崯澶辩郴鏁版洸绾� + //姘村ご鎹熷け鏇茬嚎 var curveql = hydroInfo.Curves?.Find(x => x.Code == visual.ValveSetting); if (curveql == null) { @@ -2421,7 +2421,7 @@ curveql.ModelType = visual.ModelType; curveql.DbLocked = false; curveql.DbId = matching.MatchingCurveDbId; - curveql.CurveType = Yw.WinFrmUI.HydroCurve.ValveOL; + curveql.CurveType = Yw.WinFrmUI.HydroCurveType.CurveQL; curveql.CurveData = matching.MatchingCurveQL?.Select(x => new Yw.Model.Hydro.CurvePoint(x.X, x.Y)).ToList(); if (hydroInfo.Curves == null) { @@ -2533,7 +2533,7 @@ curvevql.ModelType = string.Empty; curvevql.DbLocked = false; curvevql.DbId = matching.MatchingCurveDbId; - curvevql.CurveType = Yw.WinFrmUI.HydroCurve.ExchangerQL; + curvevql.CurveType = Yw.WinFrmUI.HydroCurveType.CurveQL; curvevql.CurveData = matching.MatchingCurveQL?.Select(x => new Yw.Model.Hydro.CurvePoint(x.X, x.Y)).ToList(); if (hydroInfo.Curves == null) { @@ -2642,7 +2642,7 @@ curvevql.ModelType = string.Empty; curvevql.DbLocked = false; curvevql.DbId = matching.MatchingCurveDbId; - curvevql.CurveType = Yw.WinFrmUI.HydroCurve.CompressorQL; + curvevql.CurveType = Yw.WinFrmUI.HydroCurveType.CurveQL; curvevql.CurveData = matching.MatchingCurveQL?.Select(x => new Yw.Model.Hydro.CurvePoint(x.X, x.Y)).ToList(); if (hydroInfo.Curves == null) { diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/21-curve/HydroCurveEditCtrl.Designer.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/21-curve/HydroCurveEditCtrl.Designer.cs new file mode 100644 index 0000000..38dd771 --- /dev/null +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/21-curve/HydroCurveEditCtrl.Designer.cs @@ -0,0 +1,58 @@ +锘縩amespace Yw.WinFrmUI +{ + partial class HydroCurveEditCtrl + { + /// <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() + { + universalChartExcelEditCtrl1 = new Phart.UniversalChartExcelEditCtrl(); + SuspendLayout(); + // + // universalChartExcelEditCtrl1 + // + universalChartExcelEditCtrl1.Appearance.BackColor = SystemColors.Control; + universalChartExcelEditCtrl1.Appearance.Options.UseBackColor = true; + universalChartExcelEditCtrl1.Dock = DockStyle.Fill; + universalChartExcelEditCtrl1.Location = new Point(0, 0); + universalChartExcelEditCtrl1.Name = "universalChartExcelEditCtrl1"; + universalChartExcelEditCtrl1.Size = new Size(947, 568); + universalChartExcelEditCtrl1.TabIndex = 0; + // + // HydroCurveEditCtrl + // + AutoScaleDimensions = new SizeF(7F, 14F); + AutoScaleMode = AutoScaleMode.Font; + Controls.Add(universalChartExcelEditCtrl1); + Name = "HydroCurveEditCtrl"; + Size = new Size(947, 568); + ResumeLayout(false); + } + + #endregion + + private Phart.UniversalChartExcelEditCtrl universalChartExcelEditCtrl1; + } +} diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/21-curve/HydroCurveEditCtrl.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/21-curve/HydroCurveEditCtrl.cs new file mode 100644 index 0000000..a9e1419 --- /dev/null +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/21-curve/HydroCurveEditCtrl.cs @@ -0,0 +1,92 @@ +锘縰sing DevExpress.XtraEditors; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace Yw.WinFrmUI +{ + public partial class HydroCurveEditCtrl : DevExpress.XtraEditors.XtraUserControl + { + public HydroCurveEditCtrl() + { + InitializeComponent(); + } + + private Yw.Model.HydroCurveInfo _curve = null;//鏇茬嚎 + + /// <summary> + /// 缁戝畾鏁版嵁 + /// </summary> + public void SetBindingData(Yw.Model.HydroCurveInfo curve) + { + if (curve == null) + { + return; + } + _curve = curve; + var curveType = Yw.Ahart.eCurveType.QH; + switch (curve.CurveType) + { + case Yw.WinFrmUI.HydroCurveType.CurveQH: + { + curveType = Yw.Ahart.eCurveType.QH; + } + break; + case HydroCurveType.CurveQP: + { + curveType = Yw.Ahart.eCurveType.QE; + } + break; + case HydroCurveType.CurveQE: + { + curveType = Yw.Ahart.eCurveType.QP; + } + break; + case HydroCurveType.CurveQL: + { + curveType = Yw.Ahart.eCurveType.QL; + } + break; + case HydroCurveType.CurveOL: + { + curveType = Yw.Ahart.eCurveType.OL; + } + break; + case HydroCurveType.CurveVol: + { + curveType = Yw.Ahart.eCurveType.VOL; + } + break; + default: break; + } + var pts = curve.CurveData?.Select(x => new Yw.Geometry.Point2d(x.X, x.Y)).ToList(); + this.universalChartExcelEditCtrl1.SetBindingData(curveType, pts); + } + + /// <summary> + /// 鑾峰彇 + /// </summary> + public Yw.Model.HydroCurveInfo GetCurveInfo() + { + if (_curve == null) + { + return default; + } + var bol = this.universalChartExcelEditCtrl1.Get(out Ahart.eFeatType featType, out List<Yw.Geometry.Point2d> pts); + if (!bol) + { + return default; + } + _curve.CurveData = pts?.Select(x => new Model.Hydro.CurvePoint(x.X, x.Y)).ToList(); + return _curve; + } + + + } +} diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/21-curve/HydroCurveEditCtrl.resx b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/21-curve/HydroCurveEditCtrl.resx new file mode 100644 index 0000000..af32865 --- /dev/null +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/21-curve/HydroCurveEditCtrl.resx @@ -0,0 +1,120 @@ +锘�<?xml version="1.0" encoding="utf-8"?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>[base64 mime encoded serialized .NET Framework object]</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" /> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="xsd:string" /> + <xsd:attribute name="type" type="xsd:string" /> + <xsd:attribute name="mimetype" type="xsd:string" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string" /> + <xsd:attribute name="name" type="xsd:string" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" /> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> +</root> \ No newline at end of file diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/21-curve/HydroCurveEditDlg.Designer.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/21-curve/HydroCurveEditDlg.Designer.cs new file mode 100644 index 0000000..61647f3 --- /dev/null +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/21-curve/HydroCurveEditDlg.Designer.cs @@ -0,0 +1,167 @@ +锘縩amespace Yw.WinFrmUI +{ + partial class HydroCurveEditDlg + { + /// <summary> + /// Required designer variable. + /// </summary> + private System.ComponentModel.IContainer components = null; + + /// <summary> + /// Clean up any resources being used. + /// </summary> + /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param> + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// <summary> + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// </summary> + private void InitializeComponent() + { + ribbon = new DevExpress.XtraBars.Ribbon.RibbonControl(); + ribbonPage1 = new DevExpress.XtraBars.Ribbon.RibbonPage(); + ribbonPageGroup1 = new DevExpress.XtraBars.Ribbon.RibbonPageGroup(); + layoutControl1 = new DevExpress.XtraLayout.LayoutControl(); + Root = new DevExpress.XtraLayout.LayoutControlGroup(); + hydroCurveEditCtrl1 = new HydroCurveEditCtrl(); + layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem(); + generalOkAndCancelCtrl1 = new GeneralOkAndCancelCtrl(); + layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem(); + ((ISupportInitialize)ribbon).BeginInit(); + ((ISupportInitialize)layoutControl1).BeginInit(); + layoutControl1.SuspendLayout(); + ((ISupportInitialize)Root).BeginInit(); + ((ISupportInitialize)layoutControlItem1).BeginInit(); + ((ISupportInitialize)layoutControlItem2).BeginInit(); + SuspendLayout(); + // + // ribbon + // + ribbon.ExpandCollapseItem.Id = 0; + ribbon.Items.AddRange(new DevExpress.XtraBars.BarItem[] { ribbon.ExpandCollapseItem }); + ribbon.Location = new Point(0, 0); + ribbon.MaxItemId = 1; + ribbon.Name = "ribbon"; + ribbon.Pages.AddRange(new DevExpress.XtraBars.Ribbon.RibbonPage[] { ribbonPage1 }); + ribbon.RibbonCaptionAlignment = DevExpress.XtraBars.Ribbon.RibbonCaptionAlignment.Left; + ribbon.ShowDisplayOptionsMenuButton = DevExpress.Utils.DefaultBoolean.False; + ribbon.Size = new Size(953, 32); + // + // ribbonPage1 + // + ribbonPage1.Groups.AddRange(new DevExpress.XtraBars.Ribbon.RibbonPageGroup[] { ribbonPageGroup1 }); + ribbonPage1.Name = "ribbonPage1"; + ribbonPage1.Text = "ribbonPage1"; + // + // ribbonPageGroup1 + // + ribbonPageGroup1.Name = "ribbonPageGroup1"; + ribbonPageGroup1.Text = "ribbonPageGroup1"; + // + // layoutControl1 + // + layoutControl1.Controls.Add(generalOkAndCancelCtrl1); + layoutControl1.Controls.Add(hydroCurveEditCtrl1); + layoutControl1.Dock = DockStyle.Fill; + layoutControl1.Location = new Point(0, 32); + layoutControl1.Name = "layoutControl1"; + layoutControl1.Root = Root; + layoutControl1.Size = new Size(953, 583); + layoutControl1.TabIndex = 3; + layoutControl1.Text = "layoutControl1"; + // + // Root + // + Root.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True; + Root.GroupBordersVisible = false; + Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { layoutControlItem1, layoutControlItem2 }); + Root.Name = "Root"; + Root.Padding = new DevExpress.XtraLayout.Utils.Padding(5, 5, 5, 5); + Root.Size = new Size(953, 583); + Root.TextVisible = false; + // + // hydroCurveEditCtrl1 + // + hydroCurveEditCtrl1.Location = new Point(7, 7); + hydroCurveEditCtrl1.Name = "hydroCurveEditCtrl1"; + hydroCurveEditCtrl1.Size = new Size(939, 539); + hydroCurveEditCtrl1.TabIndex = 4; + // + // layoutControlItem1 + // + layoutControlItem1.Control = hydroCurveEditCtrl1; + layoutControlItem1.Location = new Point(0, 0); + layoutControlItem1.Name = "layoutControlItem1"; + layoutControlItem1.Size = new Size(943, 543); + layoutControlItem1.TextSize = new Size(0, 0); + layoutControlItem1.TextVisible = false; + // + // generalOkAndCancelCtrl1 + // + generalOkAndCancelCtrl1.ButtonCancelMaxSize = new Size(100, 26); + generalOkAndCancelCtrl1.ButtonCancelMinSize = new Size(100, 26); + generalOkAndCancelCtrl1.ButtonOkMaxSize = new Size(100, 26); + generalOkAndCancelCtrl1.ButtonOkMinSize = new Size(100, 26); + generalOkAndCancelCtrl1.Location = new Point(7, 550); + generalOkAndCancelCtrl1.Name = "generalOkAndCancelCtrl1"; + generalOkAndCancelCtrl1.Size = new Size(939, 26); + generalOkAndCancelCtrl1.TabIndex = 5; + // + // layoutControlItem2 + // + layoutControlItem2.Control = generalOkAndCancelCtrl1; + layoutControlItem2.Location = new Point(0, 543); + layoutControlItem2.MaxSize = new Size(0, 30); + layoutControlItem2.MinSize = new Size(205, 30); + layoutControlItem2.Name = "layoutControlItem2"; + layoutControlItem2.Size = new Size(943, 30); + layoutControlItem2.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + layoutControlItem2.TextSize = new Size(0, 0); + layoutControlItem2.TextVisible = false; + // + // HydroCurveEditDlg + // + AutoScaleDimensions = new SizeF(7F, 14F); + AutoScaleMode = AutoScaleMode.Font; + ClientSize = new Size(953, 615); + Controls.Add(layoutControl1); + Controls.Add(ribbon); + FormBorderStyle = FormBorderStyle.SizableToolWindow; + Name = "HydroCurveEditDlg"; + Ribbon = ribbon; + RibbonVisibility = DevExpress.XtraBars.Ribbon.RibbonVisibility.Hidden; + StartPosition = FormStartPosition.CenterParent; + Text = "缂栬緫鏇茬嚎"; + ((ISupportInitialize)ribbon).EndInit(); + ((ISupportInitialize)layoutControl1).EndInit(); + layoutControl1.ResumeLayout(false); + ((ISupportInitialize)Root).EndInit(); + ((ISupportInitialize)layoutControlItem1).EndInit(); + ((ISupportInitialize)layoutControlItem2).EndInit(); + ResumeLayout(false); + PerformLayout(); + } + + #endregion + + private DevExpress.XtraBars.Ribbon.RibbonControl ribbon; + private DevExpress.XtraBars.Ribbon.RibbonPage ribbonPage1; + private DevExpress.XtraBars.Ribbon.RibbonPageGroup ribbonPageGroup1; + private DevExpress.XtraLayout.LayoutControl layoutControl1; + private DevExpress.XtraLayout.LayoutControlGroup Root; + private GeneralOkAndCancelCtrl generalOkAndCancelCtrl1; + private HydroCurveEditCtrl hydroCurveEditCtrl1; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2; + } +} \ No newline at end of file diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/21-curve/HydroCurveEditDlg.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/21-curve/HydroCurveEditDlg.cs new file mode 100644 index 0000000..3dd3279 --- /dev/null +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/21-curve/HydroCurveEditDlg.cs @@ -0,0 +1,84 @@ +锘縩amespace Yw.WinFrmUI +{ + public partial class HydroCurveEditDlg : DevExpress.XtraBars.Ribbon.RibbonForm + { + public HydroCurveEditDlg() + { + InitializeComponent(); + this.IconOptions.Icon = Yw.WinFrmUI.GlobalParas.AppIcon; + this.layoutControl1.SetupLayoutControl(); + this.generalOkAndCancelCtrl1.OkEvent += GeneralOkAndCancelCtrl1_OkEvent; + } + + /// <summary> + /// + /// </summary> + public event Action<Yw.Model.HydroCurveInfo> ReloadDataEvent; + + private Yw.Model.HydroCurveInfo _curve = null;//鏇茬嚎 + + /// <summary> + /// 缁戝畾鏁版嵁 + /// </summary> + public void SetBindingData(Yw.Model.HydroCurveInfo curve) + { + if (curve == null) + { + return; + } + _curve = curve; + this.hydroCurveEditCtrl1.SetBindingData(curve); + switch (curve.CurveType) + { + case Yw.WinFrmUI.HydroCurveType.CurveQH: + { + this.Text = "娴侀噺鎵▼鏇茬嚎"; + } + break; + case HydroCurveType.CurveQP: + { + this.Text = "娴侀噺鍔熺巼鏇茬嚎"; + } + break; + case HydroCurveType.CurveQE: + { + this.Text = "娴侀噺鏁堢巼鏇茬嚎"; + } + break; + case HydroCurveType.CurveQL: + { + this.Text = "姘村ご鎹熷け鏇茬嚎"; + } + break; + case HydroCurveType.CurveOL: + { + this.Text = "寮�搴︽崯澶辨洸绾�"; + } + break; + case HydroCurveType.CurveVol: + { + this.Text = "瀹圭Н鏇茬嚎"; + } + break; + default: break; + } + } + + //纭畾 + private void GeneralOkAndCancelCtrl1_OkEvent() + { + var curve = this.hydroCurveEditCtrl1.GetCurveInfo(); + if (curve == null) + { + TipFormHelper.ShowWarn("鏇存柊澶辫触锛�"); + return; + } + this.ReloadDataEvent?.Invoke(curve); + this.DialogResult = DialogResult.OK; + this.Close(); + } + + + + } +} \ No newline at end of file diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/21-curve/HydroCurveEditDlg.resx b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/21-curve/HydroCurveEditDlg.resx new file mode 100644 index 0000000..af32865 --- /dev/null +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/21-curve/HydroCurveEditDlg.resx @@ -0,0 +1,120 @@ +锘�<?xml version="1.0" encoding="utf-8"?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>[base64 mime encoded serialized .NET Framework object]</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" /> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="xsd:string" /> + <xsd:attribute name="type" type="xsd:string" /> + <xsd:attribute name="mimetype" type="xsd:string" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string" /> + <xsd:attribute name="name" type="xsd:string" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" /> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> +</root> \ No newline at end of file diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/21-curve/HydroCurveViewCtrl.Designer.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/21-curve/HydroCurveViewCtrl.Designer.cs new file mode 100644 index 0000000..b7f9621 --- /dev/null +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/21-curve/HydroCurveViewCtrl.Designer.cs @@ -0,0 +1,60 @@ +锘縩amespace Yw.WinFrmUI +{ + partial class HydroCurveViewCtrl + { + /// <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() + { + universalViewChart1 = new Phart.UniversalViewChart(); + SuspendLayout(); + // + // universalViewChart1 + // + universalViewChart1.AxisXTitle = "娴侀噺 锛坢鲁/h锛�"; + universalViewChart1.AxisYTitle = "鎵▼/m"; + universalViewChart1.Dock = DockStyle.Fill; + universalViewChart1.LineVisible = false; + universalViewChart1.Location = new Point(0, 0); + universalViewChart1.Margin = new Padding(2, 2, 2, 2); + universalViewChart1.Name = "universalViewChart1"; + universalViewChart1.Size = new Size(877, 550); + universalViewChart1.TabIndex = 0; + // + // HydroCurveViewCtrl + // + AutoScaleDimensions = new SizeF(7F, 14F); + AutoScaleMode = AutoScaleMode.Font; + Controls.Add(universalViewChart1); + Name = "HydroCurveViewCtrl"; + Size = new Size(877, 550); + ResumeLayout(false); + } + + #endregion + + private Phart.UniversalViewChart universalViewChart1; + } +} diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/21-curve/HydroCurveViewCtrl.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/21-curve/HydroCurveViewCtrl.cs new file mode 100644 index 0000000..b17d568 --- /dev/null +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/21-curve/HydroCurveViewCtrl.cs @@ -0,0 +1,83 @@ +锘縰sing DevExpress.XtraEditors; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace Yw.WinFrmUI +{ + public partial class HydroCurveViewCtrl : DevExpress.XtraEditors.XtraUserControl + { + public HydroCurveViewCtrl() + { + InitializeComponent(); + } + + private Yw.Model.HydroCurveInfo _curve = null;//鏇茬嚎淇℃伅 + + /// <summary> + /// 缁戝畾鏁版嵁 + /// </summary> + public void SetBindingData(Yw.Model.HydroCurveInfo curve) + { + if (curve == null) + { + return; + } + if (curve.CurveData == null || curve.CurveData.Count < 1) + { + return; + } + var pts = curve.CurveData.Select(x => new Yw.Geometry.Point2d(x.X, x.Y)).ToList(); + this.universalViewChart1.SetBindingData(pts); + switch (curve.CurveType) + { + case Yw.WinFrmUI.HydroCurveType.CurveQH: + { + this.universalViewChart1.AxisXTitle = "娴侀噺锛坢鲁/h锛�"; + this.universalViewChart1.AxisYTitle = "鎵▼锛坢锛�"; + } + break; + case HydroCurveType.CurveQP: + { + this.universalViewChart1.AxisXTitle = "娴侀噺锛坢鲁/h锛�"; + this.universalViewChart1.AxisYTitle = "鍔熺巼锛坘W锛�"; + } + break; + case HydroCurveType.CurveQE: + { + this.universalViewChart1.AxisXTitle = "娴侀噺锛坢鲁/h锛�"; + this.universalViewChart1.AxisYTitle = "鏁堢巼锛�%锛�"; + } + break; + case HydroCurveType.CurveQL: + { + this.universalViewChart1.AxisXTitle = "娴侀噺锛坢鲁/h锛�"; + this.universalViewChart1.AxisYTitle = "姘村ご鎹熷け锛坢锛�"; + } + break; + case HydroCurveType.CurveOL: + { + this.universalViewChart1.AxisXTitle = "寮�搴︼紙掳锛�"; + this.universalViewChart1.AxisYTitle = "姘村ご鎹熷け锛坢锛�"; + } + break; + case HydroCurveType.CurveVol: + { + this.universalViewChart1.AxisXTitle = "娴侀噺锛坢鲁/h锛�"; + this.universalViewChart1.AxisYTitle = "瀹圭Н锛坢鲁锛�"; + } + break; + default: break; + } + } + + + + } +} diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/21-curve/HydroCurveViewCtrl.resx b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/21-curve/HydroCurveViewCtrl.resx new file mode 100644 index 0000000..af32865 --- /dev/null +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/21-curve/HydroCurveViewCtrl.resx @@ -0,0 +1,120 @@ +锘�<?xml version="1.0" encoding="utf-8"?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>[base64 mime encoded serialized .NET Framework object]</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" /> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="xsd:string" /> + <xsd:attribute name="type" type="xsd:string" /> + <xsd:attribute name="mimetype" type="xsd:string" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string" /> + <xsd:attribute name="name" type="xsd:string" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" /> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> +</root> \ No newline at end of file diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/21-curve/HydroCurveViewDlg.Designer.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/21-curve/HydroCurveViewDlg.Designer.cs new file mode 100644 index 0000000..e64a799 --- /dev/null +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/21-curve/HydroCurveViewDlg.Designer.cs @@ -0,0 +1,94 @@ +锘縩amespace Yw.WinFrmUI +{ + partial class HydroCurveViewDlg + { + /// <summary> + /// Required designer variable. + /// </summary> + private System.ComponentModel.IContainer components = null; + + /// <summary> + /// Clean up any resources being used. + /// </summary> + /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param> + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// <summary> + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// </summary> + private void InitializeComponent() + { + ribbon = new DevExpress.XtraBars.Ribbon.RibbonControl(); + ribbonPage1 = new DevExpress.XtraBars.Ribbon.RibbonPage(); + ribbonPageGroup1 = new DevExpress.XtraBars.Ribbon.RibbonPageGroup(); + hydroCurveViewCtrl1 = new HydroCurveViewCtrl(); + ((ISupportInitialize)ribbon).BeginInit(); + SuspendLayout(); + // + // ribbon + // + ribbon.ExpandCollapseItem.Id = 0; + ribbon.Items.AddRange(new DevExpress.XtraBars.BarItem[] { ribbon.ExpandCollapseItem }); + ribbon.Location = new Point(0, 0); + ribbon.MaxItemId = 1; + ribbon.Name = "ribbon"; + ribbon.Pages.AddRange(new DevExpress.XtraBars.Ribbon.RibbonPage[] { ribbonPage1 }); + ribbon.RibbonCaptionAlignment = DevExpress.XtraBars.Ribbon.RibbonCaptionAlignment.Left; + ribbon.ShowDisplayOptionsMenuButton = DevExpress.Utils.DefaultBoolean.False; + ribbon.Size = new Size(953, 32); + // + // ribbonPage1 + // + ribbonPage1.Groups.AddRange(new DevExpress.XtraBars.Ribbon.RibbonPageGroup[] { ribbonPageGroup1 }); + ribbonPage1.Name = "ribbonPage1"; + ribbonPage1.Text = "ribbonPage1"; + // + // ribbonPageGroup1 + // + ribbonPageGroup1.Name = "ribbonPageGroup1"; + ribbonPageGroup1.Text = "ribbonPageGroup1"; + // + // hydroCurveViewCtrl1 + // + hydroCurveViewCtrl1.Dock = DockStyle.Fill; + hydroCurveViewCtrl1.Location = new Point(0, 32); + hydroCurveViewCtrl1.Name = "hydroCurveViewCtrl1"; + hydroCurveViewCtrl1.Size = new Size(953, 583); + hydroCurveViewCtrl1.TabIndex = 1; + // + // HydroCurveViewDlg + // + AutoScaleDimensions = new SizeF(7F, 14F); + AutoScaleMode = AutoScaleMode.Font; + ClientSize = new Size(953, 615); + Controls.Add(hydroCurveViewCtrl1); + Controls.Add(ribbon); + FormBorderStyle = FormBorderStyle.SizableToolWindow; + Name = "HydroCurveViewDlg"; + Ribbon = ribbon; + RibbonVisibility = DevExpress.XtraBars.Ribbon.RibbonVisibility.Hidden; + StartPosition = FormStartPosition.CenterParent; + Text = "鏌ョ湅鏇茬嚎"; + ((ISupportInitialize)ribbon).EndInit(); + ResumeLayout(false); + PerformLayout(); + } + + #endregion + + private DevExpress.XtraBars.Ribbon.RibbonControl ribbon; + private DevExpress.XtraBars.Ribbon.RibbonPage ribbonPage1; + private DevExpress.XtraBars.Ribbon.RibbonPageGroup ribbonPageGroup1; + private HydroCurveViewCtrl hydroCurveViewCtrl1; + } +} \ No newline at end of file diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/21-curve/HydroCurveViewDlg.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/21-curve/HydroCurveViewDlg.cs new file mode 100644 index 0000000..3fdf86b --- /dev/null +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/21-curve/HydroCurveViewDlg.cs @@ -0,0 +1,65 @@ +锘縩amespace Yw.WinFrmUI +{ + public partial class HydroCurveViewDlg : DevExpress.XtraBars.Ribbon.RibbonForm + { + public HydroCurveViewDlg() + { + InitializeComponent(); + this.IconOptions.Icon = Yw.WinFrmUI.GlobalParas.AppIcon; + } + + private Yw.Model.HydroCurveInfo _curve = null;//鏇茬嚎 + + /// <summary> + /// 缁戝畾鏁版嵁 + /// </summary> + public void SetBindingData(Yw.Model.HydroCurveInfo curve) + { + if (curve == null) + { + return; + } + _curve = curve; + this.hydroCurveViewCtrl1.SetBindingData(curve); + switch (curve.CurveType) + { + case Yw.WinFrmUI.HydroCurveType.CurveQH: + { + this.Text = "娴侀噺鎵▼鏇茬嚎"; + } + break; + case HydroCurveType.CurveQP: + { + this.Text = "娴侀噺鍔熺巼鏇茬嚎"; + } + break; + case HydroCurveType.CurveQE: + { + this.Text = "娴侀噺鏁堢巼鏇茬嚎"; + } + break; + case HydroCurveType.CurveQL: + { + this.Text = "姘村ご鎹熷け鏇茬嚎"; + } + break; + case HydroCurveType.CurveOL: + { + this.Text = "寮�搴︽崯澶辨洸绾�"; + } + break; + case HydroCurveType.CurveVol: + { + this.Text = "瀹圭Н鏇茬嚎"; + } + break; + default: break; + } + } + + + + + + } +} \ No newline at end of file diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/21-curve/HydroCurveViewDlg.resx b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/21-curve/HydroCurveViewDlg.resx new file mode 100644 index 0000000..af32865 --- /dev/null +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/21-curve/HydroCurveViewDlg.resx @@ -0,0 +1,120 @@ +锘�<?xml version="1.0" encoding="utf-8"?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>[base64 mime encoded serialized .NET Framework object]</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" /> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="xsd:string" /> + <xsd:attribute name="type" type="xsd:string" /> + <xsd:attribute name="mimetype" type="xsd:string" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string" /> + <xsd:attribute name="name" type="xsd:string" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" /> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> +</root> \ No newline at end of file diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/Yw.WinFrmUI.Hydro.Core.csproj b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/Yw.WinFrmUI.Hydro.Core.csproj index 82bd338..0ee1be5 100644 --- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/Yw.WinFrmUI.Hydro.Core.csproj +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/Yw.WinFrmUI.Hydro.Core.csproj @@ -53,6 +53,7 @@ <ProjectReference Include="..\Yw.WinFrmUI.Hydro.L3d.Core\Yw.WinFrmUI.Hydro.L3d.Core.csproj" /> <ProjectReference Include="..\Yw.WinFrmUI.Hydro.Q3d.Core\Yw.WinFrmUI.Hydro.Q3d.Core.csproj" /> <ProjectReference Include="..\Yw.WinFrmUI.Hydro.W3d.Core\Yw.WinFrmUI.Hydro.W3d.Core.csproj" /> + <ProjectReference Include="..\Yw.WinFrmUI.Phart.Core\Yw.WinFrmUI.Phart.Core.csproj" /> </ItemGroup> <ItemGroup> @@ -251,6 +252,12 @@ <Compile Update="20-energy\02-total\HydroEnergyTotalHorizViewCtrl.cs"> <SubType>UserControl</SubType> </Compile> + <Compile Update="21-curve\HydroCurveEditDlg.cs"> + <SubType>Form</SubType> + </Compile> + <Compile Update="21-curve\HydroCurveViewDlg.cs"> + <SubType>Form</SubType> + </Compile> <Compile Update="99-view\02-l2d\HydroL2dViewPage.cs"> <SubType>UserControl</SubType> </Compile> diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/Yw.WinFrmUI.Hydro.Core.csproj.user b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/Yw.WinFrmUI.Hydro.Core.csproj.user index 7caad03..161736c 100644 --- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/Yw.WinFrmUI.Hydro.Core.csproj.user +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/Yw.WinFrmUI.Hydro.Core.csproj.user @@ -88,6 +88,12 @@ <Compile Update="20-energy\02-total\HydroEnergyTotalViewCtrl.cs"> <SubType>UserControl</SubType> </Compile> + <Compile Update="21-curve\HydroCurveEditCtrl.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="21-curve\HydroCurveViewCtrl.cs"> + <SubType>UserControl</SubType> + </Compile> <Compile Update="99-view\01-q3d\HydroQ3dViewPage.cs"> <SubType>UserControl</SubType> </Compile> -- Gitblit v1.9.3