using DevExpress.Utils.DirectXPaint;
|
using Yw.Model;
|
|
namespace HStation.WinFrmUI
|
{
|
/// <summary>
|
/// 构件可见性辅助类
|
/// </summary>
|
public class SimulationVisualVisibleHelper
|
{
|
/// <summary>
|
///
|
/// </summary>
|
public SimulationVisualVisibleHelper(SimulationVisualListHelper visualListHelper, ISimulationVisualVisibleView view)
|
{
|
_visualListHelper = visualListHelper;
|
_views = new List<ISimulationVisualVisibleView>() { view };
|
}
|
|
private SimulationVisualListHelper _visualListHelper = null;//可见列表辅助类
|
private List<ISimulationVisualVisibleView> _views = null;//视图列表
|
private HydroModelInfo _hydroInfo = null;//水力信息
|
|
|
/// <summary>
|
/// 初始化数据
|
/// </summary>
|
public void InitialData(HydroModelInfo hydroInfo)
|
{
|
_hydroInfo = hydroInfo;
|
if (_hydroInfo == null)
|
{
|
return;
|
}
|
_items = _hydroInfo.GetVisibleList();
|
}
|
|
/// <summary>
|
/// 可见列表
|
/// </summary>
|
public List<HydroVisualVisibleViewModel> Items
|
{
|
get { return _items; }
|
set { _items = value; }
|
}
|
private List<HydroVisualVisibleViewModel> _items = null;
|
|
|
/// <summary>
|
/// 设置
|
/// </summary>
|
public void Set()
|
{
|
if (this.Items == null || this.Items.Count < 1)
|
{
|
return;
|
}
|
var dict = new Dictionary<string, HydroVisualVisibleViewModel>();
|
this.Items.ForEach(x => dict.Add(x.Catalog, x));
|
var allVisualList = _visualListHelper.GetVisualList();
|
if (allVisualList != null && allVisualList.Count > 0)
|
{
|
var tcodes = new List<string>();
|
var ocodes = new List<string>();
|
allVisualList.ForEach(x =>
|
{
|
if (dict.ContainsKey(x.Catalog))
|
{
|
var visible = dict[x.Catalog];
|
if (visible.Visible)
|
{
|
ocodes.Add(x.Code);
|
}
|
else
|
{
|
tcodes.Add(x.Code);
|
}
|
}
|
});
|
_views?.ForEach(x => x.TranslucentComponents(tcodes));
|
_views?.ForEach(x => x.OpaqueComponents(ocodes));
|
}
|
}
|
|
|
|
|
|
|
|
|
}
|
}
|