using DevExpress.Utils.Layout;
|
using 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.Controls;
|
using System.Windows.Forms;
|
using Yw.WinFrmUI;
|
|
namespace Yw.WinFrmUI
|
{
|
public partial class SetWaterboxCalcuPrefixListCtrl : DevExpress.XtraEditors.XtraUserControl, Yw.WinFrmUI.IWizardPage<SetHydroCalcuPrefixViewModel>
|
{
|
public SetWaterboxCalcuPrefixListCtrl()
|
{
|
InitializeComponent();
|
}
|
|
/// <summary>
|
/// 查看水箱事件
|
/// </summary>
|
public event Action<Yw.Model.HydroWaterboxInfo> ViewWaterboxEvent;
|
|
/// <summary>
|
/// 页面状态发生改变
|
/// </summary>
|
public event Action PageStateChangedEvent;
|
|
private SetHydroCalcuPrefixViewModel _vm = null;
|
private List<SetWaterboxCalcuPrefixCtrl> _allCalcuPrefixCtrlList = null;
|
|
/// <summary>
|
/// 初始化页面
|
/// </summary>
|
public void InitialPage(SetHydroCalcuPrefixViewModel vm)
|
{
|
_vm = vm;
|
InitialControls();
|
}
|
|
//初始化控件
|
private void InitialControls()
|
{
|
if (_vm == null)
|
{
|
return;
|
}
|
if (_allCalcuPrefixCtrlList == null)
|
{
|
_allCalcuPrefixCtrlList = new List<SetWaterboxCalcuPrefixCtrl>();
|
this.tabPanelCore.Columns.Add(new TablePanelColumn(TablePanelEntityStyle.Relative, 55F));
|
if (_vm.HydroInfo.Waterboxs != null && _vm.HydroInfo.Waterboxs.Count > 0)
|
{
|
for (int i = 0; i < _vm.HydroInfo.Waterboxs.Count; i++)
|
{
|
this.tabPanelCore.Rows.Add(new TablePanelRow(TablePanelEntityStyle.AutoSize, 150F));
|
var ctrl = new SetWaterboxCalcuPrefixCtrl();
|
ctrl.Anchor = AnchorStyles.Left | AnchorStyles.Top | AnchorStyles.Right;
|
ctrl.ViewEvent += (waterbox) =>
|
{
|
if (waterbox == null)
|
{
|
return;
|
}
|
this.ViewWaterboxEvent?.Invoke(waterbox);
|
};
|
_allCalcuPrefixCtrlList.Add(ctrl);
|
this.tabPanelCore.Controls.Add(ctrl);
|
this.tabPanelCore.SetCell(ctrl, i, 0);
|
}
|
this.tabPanelCore.Rows.Add(new TablePanelRow(TablePanelEntityStyle.AutoSize, 150F));
|
}
|
}
|
if (_vm.HydroInfo.Waterboxs != null && _vm.HydroInfo.Waterboxs.Count == _allCalcuPrefixCtrlList.Count)
|
{
|
for (int i = 0; i < _allCalcuPrefixCtrlList.Count; i++)
|
{
|
_allCalcuPrefixCtrlList[i].SetBindingData(_vm.HydroInfo.Waterboxs[i]);
|
}
|
}
|
}
|
|
//更新页面
|
private void UpdatePage()
|
{
|
if (_allCalcuPrefixCtrlList == null)
|
{
|
return;
|
}
|
_allCalcuPrefixCtrlList.ForEach(x => x.UpdateBindingData());
|
}
|
|
|
/// <summary>
|
/// 允许上一步
|
/// </summary>
|
public bool AllowPrev
|
{
|
get
|
{
|
if (_vm == null)
|
{
|
return false;
|
}
|
if (_vm.FirstPage == this)
|
{
|
return false;
|
}
|
return true;
|
}
|
}
|
|
/// <summary>
|
/// 允许上一步
|
/// </summary>
|
public bool AllowNext
|
{
|
get
|
{
|
if (_vm == null)
|
{
|
return false;
|
}
|
if (_vm.LastPage == this)
|
{
|
return false;
|
}
|
return true;
|
}
|
}
|
|
/// <summary>
|
/// 允许取消
|
/// </summary>
|
public bool AllowCancel
|
{
|
get { return true; }
|
}
|
|
/// <summary>
|
/// 允许完成
|
/// </summary>
|
public bool AllowComplete
|
{
|
get { return true; }
|
}
|
|
|
/// <summary>
|
/// 能否上一步
|
/// </summary>
|
public bool CanPrev()
|
{
|
return true;
|
}
|
|
/// <summary>
|
/// 能否下一步
|
/// </summary>
|
public bool CanNext()
|
{
|
UpdatePage();
|
return true;
|
}
|
|
/// <summary>
|
/// 能否取消
|
/// </summary>
|
public bool CanCancel()
|
{
|
return true;
|
}
|
|
/// <summary>
|
/// 能否完成
|
/// </summary>
|
public bool CanComplete()
|
{
|
UpdatePage();
|
return true;
|
}
|
|
|
}
|
}
|