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.Forms;
|
|
namespace Yw.WinFrmUI
|
{
|
public partial class SetNozzleCalcuPrefixListCtrl : DevExpress.XtraEditors.XtraUserControl, Yw.WinFrmUI.IWizardPage<SetHydroCalcuPrefixViewModel>
|
{
|
public SetNozzleCalcuPrefixListCtrl()
|
{
|
InitializeComponent();
|
}
|
|
/// <summary>
|
/// 页面状态发生改变
|
/// </summary>
|
public event Action PageStateChangedEvent;
|
|
private SetHydroCalcuPrefixViewModel _vm = null;
|
private List<SetNozzleCalcuPrefixCtrl> _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<SetNozzleCalcuPrefixCtrl>();
|
this.tabPanelCore.Columns.Add(new TablePanelColumn(TablePanelEntityStyle.Relative, 55F));
|
if (_vm.HydroInfo.Nozzles != null && _vm.HydroInfo.Nozzles.Count > 0)
|
{
|
for (int i = 0; i < _vm.HydroInfo.Nozzles.Count; i++)
|
{
|
this.tabPanelCore.Rows.Add(new TablePanelRow(TablePanelEntityStyle.AutoSize, 150F));
|
var ctrl = new SetNozzleCalcuPrefixCtrl();
|
this.tabPanelCore.Controls.Add(ctrl);
|
this.tabPanelCore.SetCell(ctrl, i, 0);
|
}
|
this.tabPanelCore.Rows.Add(new TablePanelRow(TablePanelEntityStyle.AutoSize, 150F));
|
}
|
}
|
else
|
{
|
if (_vm.HydroInfo.Nozzles == null || _vm.HydroInfo.Nozzles.Count != _allCalcuPrefixCtrlList.Count)
|
{
|
return;
|
}
|
for (int i = 0; i < _allCalcuPrefixCtrlList.Count; i++)
|
{
|
_allCalcuPrefixCtrlList[i].SetBindingData(_vm.HydroInfo.Nozzles[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;
|
}
|
}
|
}
|