|
using System;
|
using System.Collections.Generic;
|
using System.Windows.Forms;
|
using System.IO;
|
using System.Text;
|
using System.Linq;
|
using DPumpHydr.WinFrmUI.Volute.ViewModel;
|
|
namespace DPumpHydr.WinFrmUI.Volute
|
{
|
public partial class MainViewPage
|
{
|
//基础信息
|
private readonly string Group_Name_Base_Info = "BaseInfo";
|
private readonly int Group_ID_Base_Info = -1;//组ID
|
private long Step_ID_Hdr_Base_Info = 12;
|
private long Step_ID_Geom_Base_Info = 13;
|
|
|
//断面设计(1-8)
|
private readonly string Group_Name_Section18 = "Section18";
|
private readonly int Group_ID_Section18 = -2;
|
private long Step_ID_Section18_Base = 20;//基本信息
|
private long Step_ID_Section18_Dim = 21;//详细页面
|
|
|
//出水设计
|
private readonly string Group_Name_Outflow = "Outflow";
|
private readonly int Group_ID_Outflow = -3;
|
private long Step_ID_Outflow_Style = 31;
|
private long Step_ID_Outflow_Dim = 32;
|
|
|
//
|
private List<DPumpHydr.WinFrmUI.Volute.TreeStepNode> _allStepNodes = null;
|
|
private long _currentStepID = 0;
|
|
/// <summary>
|
/// 下一步
|
/// </summary>
|
/// <returns></returns>
|
public bool GoNextStep()
|
{
|
return GoNextStepCore();
|
}
|
|
/// <summary>
|
/// 上一步
|
/// </summary>
|
/// <returns></returns>
|
public bool GoPrevStep()
|
{
|
return GoPrevStepCore();
|
}
|
ViewModel.HdrBaseInfo _hdrBaseInfo = null;
|
ViewModel.GeomBaseInfo _geomBaseInfo = null;
|
/// <summary>
|
/// 下一步核心
|
/// </summary>
|
/// <returns></returns>
|
private bool GoNextStepCore()
|
{
|
var next_step = (from x in _allStepNodes
|
where x.ID > _currentStepID
|
orderby x.ID
|
select x).FirstOrDefault();
|
if (next_step == null)
|
return false;
|
if(_currentStepID == Step_ID_Hdr_Base_Info)
|
{
|
string error_info;
|
var hdrBaseInfo = _ctrlHdrBaseInfo.GetBindingData(out error_info);
|
if(hdrBaseInfo == null)
|
{
|
MessageBox.Show(error_info);
|
return false;
|
}
|
hdrBaseInfo.CalcNs();
|
_hdrBaseInfo = hdrBaseInfo;
|
if(_geomBaseInfo == null)
|
{
|
_geomBaseInfo = new ViewModel.GeomBaseInfo();
|
}
|
_geomBaseInfo.Calc(hdrBaseInfo);
|
}
|
if (_currentStepID == Step_ID_Geom_Base_Info)
|
{
|
string error_info;
|
var geomBaseInfo = _ctrlGeomBaseInfo.GetBindingData(out error_info);
|
if (geomBaseInfo == null)
|
{
|
MessageBox.Show(error_info);
|
return false;
|
}
|
_geomBaseInfo = geomBaseInfo;
|
}
|
//if (_currentStepID == Step_ID_Section18_Base)
|
//{
|
// string error_info;
|
// var geomBaseInfo = _ctrlGeomBaseInfo.GetBindingData(out error_info);
|
// if (geomBaseInfo == null)
|
// {
|
// MessageBox.Show(error_info);
|
// return false;
|
// }
|
// _geomBaseInfo = geomBaseInfo;
|
//}
|
SetParasCtrl(next_step.ID);
|
|
return true;
|
}
|
/// <summary>
|
/// 上一步核心
|
/// </summary>
|
/// <returns></returns>
|
private bool GoPrevStepCore()
|
{
|
if (_currentStepID == Step_ID_Hdr_Base_Info)
|
return false;
|
|
var prev_step = (from x in _allStepNodes
|
where x.ID < _currentStepID
|
orderby x.ID
|
select x).LastOrDefault();
|
if (prev_step == null)
|
return false;
|
|
SetParasCtrl(prev_step.ID);
|
|
return true;
|
}
|
/// <summary>
|
/// 生成第几步控件
|
/// </summary>
|
/// <param name="step_id"></param>
|
private void SetParasCtrl(long step_id)
|
{
|
if (step_id == Step_ID_Hdr_Base_Info)
|
{
|
if (_ctrlHdrBaseInfo == null)
|
_ctrlHdrBaseInfo = new ctrlHdrBaseInfo();
|
this.panelParas.Controls.Clear();
|
this.panelParas.Controls.Add(_ctrlHdrBaseInfo);
|
_ctrlHdrBaseInfo.SetBindingData(_hdrBaseInfo);
|
}
|
|
if (step_id == Step_ID_Geom_Base_Info)
|
{
|
if (_ctrlGeomBaseInfo == null)
|
{
|
_ctrlGeomBaseInfo = new ctrlGeomBaseInfo();
|
_ctrlGeomBaseInfo.Name = "ctrlGeomBaseInfo";
|
_ctrlGeomBaseInfo.Dock = DockStyle.Right;
|
}
|
this.panelParas.Controls.Clear();
|
this.panelParas.Controls.Add(_ctrlGeomBaseInfo);
|
_ctrlGeomBaseInfo.SetBindingData(_geomBaseInfo);
|
}
|
|
|
|
|
if (step_id == Step_ID_Section18_Base)
|
{
|
if (_ctrlSectionBaseInfo == null)
|
{
|
_ctrlSectionBaseInfo = new ctrlSectionBaseInfo();
|
_ctrlSectionBaseInfo.Name = "ctrlSectionBaseInfo";
|
_ctrlSectionBaseInfo.Dock = DockStyle.Right;
|
}
|
|
|
this.panelParas.Controls.Clear();
|
this.panelParas.Controls.Add(_ctrlSectionBaseInfo);
|
}
|
if (step_id == Step_ID_Section18_Dim)
|
{
|
if (_ctrlSectionShapeInfo18 == null)
|
{
|
_ctrlSectionShapeInfo18 = new ctrlSectionShapeInfo18();
|
_ctrlSectionShapeInfo18.Name = "ctrlSectionShapeInfo18";
|
_ctrlSectionShapeInfo18.Dock = DockStyle.Right;
|
}
|
|
this.panelParas.Controls.Clear();
|
this.panelParas.Controls.Add(_ctrlSectionShapeInfo18);
|
}
|
|
|
|
if(step_id == Step_ID_Outflow_Style)
|
{
|
if (_ctrlSetOutflowStyle == null)
|
{
|
_ctrlSetOutflowStyle = new ctrlSetOutflowStyle();
|
_ctrlSetOutflowStyle.Name = "ctrlSetOutflowStyle";
|
_ctrlSetOutflowStyle.Dock = DockStyle.Right;
|
}
|
this.panelParas.Controls.Clear();
|
this.panelParas.Controls.Add(_ctrlSetOutflowStyle);
|
|
}
|
if (step_id == Step_ID_Outflow_Dim)
|
{
|
if (_ctrlSetOutflowDim == null)
|
{
|
_ctrlSetOutflowDim = new ctrlSetOutflowDim();
|
_ctrlSetOutflowDim.Name = "ctrlSetOutflowDim";
|
_ctrlSetOutflowDim.Dock = DockStyle.Right;
|
}
|
this.panelParas.Controls.Clear();
|
this.panelParas.Controls.Add(_ctrlSetOutflowDim);
|
}
|
|
|
|
|
|
this._currentStepID = step_id;
|
}
|
|
|
#region 初始化步骤列表
|
|
/// <summary>
|
///
|
/// </summary>
|
private void InitialStepNodes()
|
{
|
_allStepNodes = new List<DPumpHydr.WinFrmUI.Volute.TreeStepNode>();
|
|
#region 基础信息/几何参数
|
var stepGroup_BaseInfo = new DPumpHydr.WinFrmUI.Volute.TreeStepNode();
|
stepGroup_BaseInfo.AllowSelect = false;
|
stepGroup_BaseInfo.Group = Group_Name_Base_Info;
|
stepGroup_BaseInfo.Caption = "基础信息";
|
stepGroup_BaseInfo.Name = Group_Name_Base_Info;
|
stepGroup_BaseInfo.ID = Group_ID_Base_Info;
|
stepGroup_BaseInfo.ParentID = 0;
|
_allStepNodes.Add(stepGroup_BaseInfo);
|
|
var step欢迎使用 = new DPumpHydr.WinFrmUI.Volute.TreeStepNode();
|
step欢迎使用.AllowSelect = true;
|
step欢迎使用.Group = Group_Name_Base_Info;
|
step欢迎使用.Caption = "欢迎使用";
|
step欢迎使用.Name = "StepHelp";
|
step欢迎使用.ID = 1;
|
step欢迎使用.ParentID = Group_ID_Base_Info;
|
_allStepNodes.Add(step欢迎使用);
|
|
|
var step基础信息 = new DPumpHydr.WinFrmUI.Volute.TreeStepNode()
|
{
|
ProgressState = WinFrmUI.Volute.TreeStepNode.eProgressState.未完成,
|
DataState = WinFrmUI.Volute.TreeStepNode.eDataState.未知
|
};
|
step基础信息.AllowSelect = true;
|
step基础信息.Group = Group_Name_Base_Info;
|
step基础信息.Caption = "第一步:基础信息";
|
step基础信息.Name = "StepHydParas";
|
step基础信息.ID = Step_ID_Hdr_Base_Info;
|
step基础信息.ParentID = Group_ID_Base_Info;
|
_allStepNodes.Add(step基础信息);
|
|
var step几何参数 = new DPumpHydr.WinFrmUI.Volute.TreeStepNode()
|
{
|
ProgressState = WinFrmUI.Volute.TreeStepNode.eProgressState.未完成,
|
DataState = WinFrmUI.Volute.TreeStepNode.eDataState.未知
|
};
|
step几何参数.AllowSelect = true;
|
step几何参数.Group = Group_Name_Base_Info;
|
step几何参数.Caption = "第二步:几何参数";
|
step几何参数.Name = "StepGeomParas";
|
step几何参数.ID = Step_ID_Geom_Base_Info;
|
step几何参数.ParentID = Group_ID_Base_Info;
|
_allStepNodes.Add(step几何参数);
|
#endregion
|
|
|
#region 断面设计(1-8)
|
|
var stepGroup_CoverPlate = new DPumpHydr.WinFrmUI.Volute.TreeStepNode()
|
{
|
ProgressState = WinFrmUI.Volute.TreeStepNode.eProgressState.未完成,
|
DataState = WinFrmUI.Volute.TreeStepNode.eDataState.未知
|
};
|
stepGroup_CoverPlate.AllowSelect = false;
|
stepGroup_CoverPlate.Caption = "断面设计";
|
stepGroup_CoverPlate.Name = Group_Name_Section18;
|
stepGroup_CoverPlate.ID = Group_ID_Section18;
|
stepGroup_CoverPlate.ParentID = 0;
|
_allStepNodes.Add(stepGroup_CoverPlate);
|
|
|
var step断面基本信息 = new DPumpHydr.WinFrmUI.Volute.TreeStepNode()
|
{
|
ProgressState = WinFrmUI.Volute.TreeStepNode.eProgressState.未完成,
|
DataState = WinFrmUI.Volute.TreeStepNode.eDataState.未知
|
};
|
step断面基本信息.AllowSelect = true;
|
step断面基本信息.Caption = string.Format("{0}:{1}", GetTranslateString("第三步"), GetTranslateString("零件材料"));
|
step断面基本信息.Name = "SectBaseInfo18";
|
step断面基本信息.ID = Step_ID_Section18_Base;
|
step断面基本信息.Group = "断面信息";
|
step断面基本信息.ParentID = Group_ID_Section18;
|
_allStepNodes.Add(step断面基本信息);
|
|
|
var stepSetct18 = new DPumpHydr.WinFrmUI.Volute.TreeStepNode()
|
{
|
ProgressState = WinFrmUI.Volute.TreeStepNode.eProgressState.未完成,
|
DataState = WinFrmUI.Volute.TreeStepNode.eDataState.未知
|
};
|
stepSetct18.AllowSelect = true;
|
stepSetct18.Caption = "第四步: 第1-8断面" ;
|
stepSetct18.Name = "TreeStepNode" + Step_ID_Section18_Dim;
|
stepSetct18.ID = Step_ID_Section18_Dim ;
|
stepSetct18.Group = "盖板连接";
|
stepSetct18.ParentID = Group_ID_Section18;
|
_allStepNodes.Add(stepSetct18);
|
|
|
|
|
|
|
#endregion
|
|
|
#region 出水体
|
|
var stepGroup_出水体 = new DPumpHydr.WinFrmUI.Volute.TreeStepNode()
|
{
|
ProgressState = WinFrmUI.Volute.TreeStepNode.eProgressState.未完成,
|
DataState = WinFrmUI.Volute.TreeStepNode.eDataState.未知
|
};
|
stepGroup_出水体.AllowSelect = false;
|
stepGroup_出水体.Caption = "出水体设计";
|
stepGroup_出水体.Name = Group_Name_Outflow;
|
stepGroup_出水体.ID = Group_ID_Outflow;
|
stepGroup_出水体.ParentID = 0;
|
_allStepNodes.Add(stepGroup_出水体);
|
|
|
var step出水体类型 = new DPumpHydr.WinFrmUI.Volute.TreeStepNode()
|
{
|
ProgressState = WinFrmUI.Volute.TreeStepNode.eProgressState.未完成,
|
DataState = WinFrmUI.Volute.TreeStepNode.eDataState.未知
|
};
|
step出水体类型.AllowSelect = true;
|
step出水体类型.Caption = "第五步:出水体类型";
|
step出水体类型.Name = "TreeStepNode"+ Step_ID_Outflow_Style;
|
step出水体类型.ID = Step_ID_Outflow_Style;
|
step出水体类型.Group = Group_Name_Outflow;
|
step出水体类型.ParentID = Group_ID_Outflow;
|
_allStepNodes.Add(step出水体类型);
|
|
|
|
var step出水体尺寸 = new DPumpHydr.WinFrmUI.Volute.TreeStepNode()
|
{
|
ProgressState = WinFrmUI.Volute.TreeStepNode.eProgressState.未完成,
|
DataState = WinFrmUI.Volute.TreeStepNode.eDataState.未知
|
};
|
step出水体尺寸.AllowSelect = true;
|
step出水体尺寸.Caption = "第六步:出水体尺寸";
|
step出水体尺寸.Name = "TreeStepNode"+ Step_ID_Outflow_Dim;
|
step出水体尺寸.ID = Step_ID_Outflow_Dim;
|
step出水体尺寸.Group = Group_Name_Outflow;
|
step出水体尺寸.ParentID = Group_ID_Outflow;
|
_allStepNodes.Add(step出水体尺寸);
|
|
#endregion
|
|
|
ViewModel.HdrBaseInfo hdrBaseInfo = new ViewModel.HdrBaseInfo();
|
hdrBaseInfo.Q = 200;
|
hdrBaseInfo.H = 50;
|
hdrBaseInfo.n = 2900;
|
hdrBaseInfo.D2 = 220;
|
hdrBaseInfo.B2 = 20;
|
|
if (_ctrlHdrBaseInfo == null)
|
{
|
_ctrlHdrBaseInfo = new ctrlHdrBaseInfo();
|
_ctrlHdrBaseInfo.Name = "ctrlHdrBaseInfo";
|
_ctrlHdrBaseInfo.Dock = DockStyle.Right;
|
_ctrlHdrBaseInfo.SetBindingData(hdrBaseInfo);
|
}
|
this.panelParas.Controls.Clear();
|
this.panelParas.Controls.Add(_ctrlHdrBaseInfo);
|
this._currentStepID = Step_ID_Hdr_Base_Info;
|
//this.stepTreeListCtrl.SetStepSource(_allStepNodes, 1);
|
}
|
|
#endregion
|
|
}
|
}
|