¶Ô±ÈÐÂÎļþ |
| | |
| | | using Yw.Model; |
| | | using Yw.WinFrmUI.Bimface; |
| | | |
| | | namespace HStation.WinFrmUI |
| | | { |
| | | /// <summary> |
| | | /// |
| | | /// </summary> |
| | | public class SimulationMarkHelper |
| | | { |
| | | /// <summary> |
| | | /// |
| | | /// </summary> |
| | | public SimulationMarkHelper(SimulationVisualListHelper visualListHelper, ISimulationMarkView view) |
| | | { |
| | | _visualListHelper = visualListHelper; |
| | | _views = new List<ISimulationMarkView>() { view }; |
| | | } |
| | | |
| | | private SimulationVisualListHelper _visualListHelper = null;//å¯è§å表è¾
å©ç±» |
| | | private List<ISimulationMarkView> _views = null;//è§å¾å表 |
| | | |
| | | /// <summary> |
| | | /// å¯è§æ§ |
| | | /// </summary> |
| | | public bool Visible |
| | | { |
| | | get { return _visible; } |
| | | set { _visible = value; } |
| | | } |
| | | private bool _visible = false; |
| | | |
| | | /// <summary> |
| | | /// 设置å表 |
| | | /// </summary> |
| | | public List<HydroMarkSetViewModel> Sets |
| | | { |
| | | get |
| | | { |
| | | if (_sets == null) |
| | | { |
| | | var hydroInfo = _visualListHelper.HydroInfo; |
| | | _sets = HydroMarkHelper.GetSetList(hydroInfo); |
| | | if (_sets == null) |
| | | { |
| | | _sets = new List<HydroMarkSetViewModel>(); |
| | | } |
| | | } |
| | | return _sets; |
| | | } |
| | | set |
| | | { |
| | | _results = null; |
| | | _sets = value; |
| | | if (_sets == null) |
| | | { |
| | | _sets = new List<HydroMarkSetViewModel>(); |
| | | } |
| | | } |
| | | } |
| | | private List<HydroMarkSetViewModel> _sets = null; |
| | | |
| | | /// <summary> |
| | | /// ç»æå表 |
| | | /// </summary> |
| | | public List<HydroMarkResultViewModel> Results |
| | | { |
| | | get |
| | | { |
| | | if (_results == null) |
| | | { |
| | | _results = HydroMarkHelper.GetResultList(_visualListHelper.HydroInfo, this.Sets); |
| | | if (_results == null) |
| | | { |
| | | _results = new List<HydroMarkResultViewModel>(); |
| | | } |
| | | } |
| | | return _results; |
| | | } |
| | | set |
| | | { |
| | | _results = value; |
| | | if (_results == null) |
| | | { |
| | | _results = new List<HydroMarkResultViewModel>(); |
| | | } |
| | | } |
| | | } |
| | | private List<HydroMarkResultViewModel> _results = null; |
| | | |
| | | /// <summary> |
| | | /// åå§åæ°æ® |
| | | /// </summary> |
| | | public void InitialData() |
| | | { |
| | | _sets = null; |
| | | _results = null; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 设置 |
| | | /// </summary> |
| | | public void Set() |
| | | { |
| | | if (this.Visible) |
| | | { |
| | | var leadLabels = this.Results?.Select(x => new LogicMarkLeadLabel(x.Code, x.Text, null)).ToList(); |
| | | _views?.ForEach(x => x.SetLogicMarkLeadLabels(leadLabels)); |
| | | } |
| | | else |
| | | { |
| | | _views?.ForEach(x => x.ClearLogicMarkLeadLabels()); |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 设置 |
| | | /// </summary> |
| | | public void Set(HydroVisualInfo visual) |
| | | { |
| | | if (visual == null) |
| | | { |
| | | return; |
| | | } |
| | | var result = HydroMarkHelper.GetResult(visual, this.Sets); |
| | | if (result == null) |
| | | { |
| | | return; |
| | | } |
| | | this.Results.RemoveAll(x => x.Code == visual.Code); |
| | | this.Results.Add(result); |
| | | if (this.Visible) |
| | | { |
| | | var leadLabel = new LogicMarkLeadLabel() { Id = result.Code, Text = result.Text, Distance = null }; |
| | | _views?.ForEach(x => x.UpdateLogicMarkLeadLabel(leadLabel)); |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 设置 |
| | | /// </summary> |
| | | public void Set(List<HydroVisualInfo> visuals) |
| | | { |
| | | if (visuals == null || visuals.Count < 1) |
| | | { |
| | | return; |
| | | } |
| | | visuals.ForEach(x => Set(x)); |
| | | } |
| | | |
| | | |
| | | |
| | | } |
| | | } |