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.ShowFindPanel = false;
|
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);
|
};
|
}
|
}
|
}
|
|
/// <summary>
|
/// 水力点击信息事件
|
/// </summary>
|
public event Action<HydroVisualInfo> HydroClickInfoEvent;
|
/// <summary>
|
/// 水力点击视图事件
|
/// </summary>
|
public event Action<HydroVisualViewModel> HydroClickViewEvent;
|
/// <summary>
|
/// 水力改变信息事件
|
/// </summary>
|
public event Action<List<HydroVisualInfo>> HydroChangedInfoEvent;
|
/// <summary>
|
/// 水力改变视图事件
|
/// </summary>
|
public event Action<List<HydroVisualViewModel>> HydroChangedViewEvent;
|
|
/// <summary>
|
/// 列表为空时隐藏Page
|
/// </summary>
|
[Browsable(true)]
|
[Display(Name = "列表为空时隐藏Page")]
|
[DisplayName("列表为空时隐藏Page")]
|
public bool HidePageWhenListIsNull
|
{
|
get { return _hidePageWhenListIsNull; }
|
set { _hidePageWhenListIsNull = value; }
|
}
|
private bool _hidePageWhenListIsNull = true;
|
|
/// <summary>
|
/// 绑定数据
|
/// </summary>
|
public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo)
|
{
|
this.SetBindingData(hydroInfo, null);
|
}
|
|
/// <summary>
|
/// 绑定数据
|
/// </summary>
|
public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo, List<HydroCalcuVisualResult> allCalcuResultList)
|
{
|
if (hydroInfo == null)
|
{
|
return;
|
}
|
foreach (var page in this.tabPane1.Pages)
|
{
|
if (page.Controls[0] is IHydroVisualList ctrl)
|
{
|
ctrl.SetBindingData(hydroInfo, allCalcuResultList);
|
if (HidePageWhenListIsNull)
|
{
|
if (!ctrl.HasHydroList)
|
{
|
page.PageVisible = false;
|
}
|
}
|
}
|
}
|
}
|
|
/// <summary>
|
/// 绑定数据
|
/// </summary>
|
public void SetBindingData(List<HydroVisualViewModel> 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;
|
}
|
}
|
}
|
}
|
}
|
|
/// <summary>
|
/// 更新绑定
|
/// </summary>
|
public void UpdateBindingData()
|
{
|
foreach (var page in this.tabPane1.Pages)
|
{
|
if (page.PageVisible)
|
{
|
if (page.Controls[0] is IHydroVisualList ctrl)
|
{
|
ctrl.UpdateBindingData();
|
}
|
}
|
}
|
}
|
|
/// <summary>
|
/// 更新属性
|
/// </summary>
|
public void UpdateProperty()
|
{
|
foreach (var page in this.tabPane1.Pages)
|
{
|
if (page.PageVisible)
|
{
|
if (page.Controls[0] is IHydroVisualList ctrl)
|
{
|
ctrl.UpdateProperty();
|
}
|
}
|
}
|
}
|
|
/// <summary>
|
/// 更新属性
|
/// </summary>
|
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);
|
}
|
}
|
}
|
}
|
|
/// <summary>
|
/// 更新属性
|
/// </summary>
|
public void UpdateProperty(List<Yw.Model.HydroVisualInfo> 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);
|
}
|
}
|
}
|
}
|
|
/// <summary>
|
/// 更新计算属性
|
/// </summary>
|
public void UpdateCalcuProperty(List<HydroCalcuVisualResult> 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);
|
}
|
}
|
}
|
}
|
|
/// <summary>
|
/// 设置简单视图
|
/// </summary>
|
public void SetSimpleView()
|
{
|
foreach (var page in this.tabPane1.Pages)
|
{
|
if (page.Controls[0] is IHydroVisualList ctrl)
|
{
|
ctrl.SetSimpleView();
|
}
|
}
|
}
|
|
/// <summary>
|
/// 设置正常视图
|
/// </summary>
|
public void SetNormalView()
|
{
|
foreach (var page in this.tabPane1.Pages)
|
{
|
if (page.Controls[0] is IHydroVisualList ctrl)
|
{
|
ctrl.SetNormalView();
|
}
|
}
|
}
|
|
/// <summary>
|
/// 设置计算视图
|
/// </summary>
|
public void SetCalcuView()
|
{
|
foreach (var page in this.tabPane1.Pages)
|
{
|
if (page.Controls[0] is IHydroVisualList ctrl)
|
{
|
ctrl.SetCalcuView();
|
}
|
}
|
}
|
|
/// <summary>
|
/// 设置批量设置视图
|
/// </summary>
|
public void SetBulkSetView()
|
{
|
foreach (var page in this.tabPane1.Pages)
|
{
|
if (page.Controls[0] is IHydroVisualList ctrl)
|
{
|
ctrl.SetBulkSetView();
|
}
|
}
|
}
|
|
|
|
|
}
|
|
}
|