using Yw.Model;
namespace Yw.WinFrmUI
{
public partial class HydroVisualListCtrl : DevExpress.XtraEditors.XtraUserControl
{
public HydroVisualListCtrl()
{
InitializeComponent();
foreach (var page in this.tabPane1.Pages)
{
if (page.Controls[0] is IHydroVisualList ctrl)
{
ctrl.HydroClickInfoEvent += (visual) =>
{
this.HydroClickInfoEvent?.Invoke(visual);
};
ctrl.HydroClickViewEvent += (view) =>
{
this.HydroClickViewEvent?.Invoke(view);
};
ctrl.HydroChangedInfoEvent += (visualList) =>
{
this.HydroChangedInfoEvent?.Invoke(visualList);
};
ctrl.HydroChangedViewEvent += (viewList) =>
{
this.HydroChangedViewEvent?.Invoke(viewList);
};
}
}
}
///
/// 水力点击信息事件
///
public event Action HydroClickInfoEvent;
///
/// 水力点击视图事件
///
public event Action HydroClickViewEvent;
///
/// 水力改变信息事件
///
public event Action> HydroChangedInfoEvent;
///
/// 水力改变视图事件
///
public event Action> HydroChangedViewEvent;
///
/// 列表为空时隐藏Page
///
[Browsable(true)]
[Display(Name = "列表为空时隐藏Page")]
[DisplayName("列表为空时隐藏Page")]
public bool HidePageWhenListIsNull
{
get { return _hidePageWhenListIsNull; }
set { _hidePageWhenListIsNull = value; }
}
private bool _hidePageWhenListIsNull = true;
///
/// 绑定数据
///
public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo)
{
this.SetBindingData(hydroInfo, allCalcuResultVisualDict: null);
}
///
/// 绑定数据
///
public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo, List allCalcuResultList)
{
var allCalcuResultVisualDict = allCalcuResultList?.ToDictionary(x => x.Code);
SetBindingData(hydroInfo, allCalcuResultVisualDict);
}
///
/// 绑定数据
///
public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo, Dictionary allCalcuResultVisualDict)
{
if (hydroInfo == null)
{
return;
}
foreach (var page in this.tabPane1.Pages)
{
if (page.Controls[0] is IHydroVisualList ctrl)
{
ctrl.SetBindingData(hydroInfo, allCalcuResultVisualDict);
if (HidePageWhenListIsNull)
{
if (!ctrl.HasHydroList)
{
page.PageVisible = false;
}
}
}
}
}
///
/// 绑定数据
///
public void SetBindingData(List allVisualViewModelList)
{
if (allVisualViewModelList == null || allVisualViewModelList.Count < 1)
{
return;
}
foreach (var page in this.tabPane1.Pages)
{
if (page.Controls[0] is IHydroVisualList ctrl)
{
ctrl.SetBindingData(allVisualViewModelList);
if (HidePageWhenListIsNull)
{
if (!ctrl.HasHydroList)
{
page.PageVisible = false;
}
}
}
}
}
///
/// 更新绑定
///
public void UpdateBindingData()
{
foreach (var page in this.tabPane1.Pages)
{
if (page.PageVisible)
{
if (page.Controls[0] is IHydroVisualList ctrl)
{
ctrl.UpdateBindingData();
}
}
}
}
///
/// 更新属性
///
public void UpdateProperty()
{
foreach (var page in this.tabPane1.Pages)
{
if (page.PageVisible)
{
if (page.Controls[0] is IHydroVisualList ctrl)
{
ctrl.UpdateProperty();
}
}
}
}
///
/// 更新属性
///
public void UpdateProperty(Yw.Model.HydroVisualInfo visual)
{
if (visual == null)
{
return;
}
foreach (var page in this.tabPane1.Pages)
{
if (page.PageVisible)
{
if (page.Controls[0] is IHydroVisualList ctrl)
{
ctrl.UpdateProperty(visual);
}
}
}
}
///
/// 更新属性
///
public void UpdateProperty(List visualList)
{
if (visualList == null || visualList.Count < 1)
{
return;
}
foreach (var page in this.tabPane1.Pages)
{
if (page.PageVisible)
{
if (page.Controls[0] is IHydroVisualList ctrl)
{
ctrl.UpdateProperty(visualList);
}
}
}
}
///
/// 更新计算属性
///
public void UpdateCalcuProperty(List allCalcuResultList)
{
if (allCalcuResultList == null || allCalcuResultList.Count < 1)
{
return;
}
foreach (var page in this.tabPane1.Pages)
{
if (page.PageVisible)
{
if (page.Controls[0] is IHydroVisualList ctrl)
{
ctrl.UpdateCalcuProperty(allCalcuResultList);
}
}
}
}
///
/// 更新计算属性
///
public void UpdateCalcuProperty(Dictionary allCalcuResultVisualDict)
{
if (allCalcuResultVisualDict == null || allCalcuResultVisualDict.Count < 1)
{
return;
}
foreach (var page in this.tabPane1.Pages)
{
if (page.PageVisible)
{
if (page.Controls[0] is IHydroVisualList ctrl)
{
ctrl.UpdateCalcuProperty(allCalcuResultVisualDict);
}
}
}
}
///
/// 设置简单视图
///
public void SetSimpleView()
{
foreach (var page in this.tabPane1.Pages)
{
if (page.PageVisible)
{
if (page.Controls[0] is IHydroVisualList ctrl)
{
ctrl.SetSimpleView();
}
}
}
}
///
/// 设置正常视图
///
public void SetNormalView()
{
foreach (var page in this.tabPane1.Pages)
{
if (page.PageVisible)
{
if (page.Controls[0] is IHydroVisualList ctrl)
{
ctrl.SetNormalView();
}
}
}
}
///
/// 设置计算视图
///
public void SetCalcuView()
{
foreach (var page in this.tabPane1.Pages)
{
if (page.PageVisible)
{
if (page.Controls[0] is IHydroVisualList ctrl)
{
ctrl.SetCalcuView();
}
}
}
}
///
/// 设置批量视图
///
public void SetBulkView()
{
foreach (var page in this.tabPane1.Pages)
{
if (page.PageVisible)
{
if (page.Controls[0] is IHydroVisualList ctrl)
{
ctrl.SetBulkView();
}
}
}
}
///
/// 设置结果视图
///
public void SetResultView()
{
foreach (var page in this.tabPane1.Pages)
{
if (page.PageVisible)
{
if (page.Controls[0] is IHydroVisualList ctrl)
{
ctrl.SetResultView();
}
}
}
}
}
}