using System; using System.Collections.Generic; using System.Windows.Forms; using System.IO; using System.Text; using System.Linq; namespace DPumpHydr.WinFrmUI.Impeller { public partial class MainViewPage : TabbedMdiXtraForm { //基础信息 private readonly string Group_Name_Base_Info = "BaseInfo"; private readonly int Group_ID_Base_Info = -1; //盖板 private readonly string Group_Name_Cover_Plate = "CoverPlate"; private readonly int Group_ID_Cover_Plate = -2; //流线 private readonly string Group_Name_Stream_Line = "StreamLine"; private readonly int Group_ID_Stream_Line = -3; //叶片 private readonly string Group_Name_Sheet_Design = "SheetDesign"; private readonly int Group_ID_Sheet_Design = -4; private List _allStepNodes = null; //基本信息 private long Step_ID_Hdr_Base_Info = 2; private long Step_ID_Geom_Base_Info = 3; //盖板 private long Step_ID_Cover_Plate_Geom = 11;//尺寸 private long Step_ID_Cover_Plate_Link = 12;//链接 private long Step_ID_Cover_Plate_Sect = 13;//过流断面 // private long Step_ID_SelectTypeAndStreamLineNum = 21; private long Step_ID_InletCurveInfo = 22; private long _currentStepID = 0; /// /// 下一步 /// /// public bool GoNextStep() { return GoNextStepCore(); } /// /// 上一步 /// /// public bool GoPrevStep() { return GoPrevStepCore(); } 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; SetParasCtrl(next_step.ID); return true; } 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; } private void SetParasCtrl(long step_id) { if (step_id == Step_ID_Hdr_Base_Info) { if (_ctrlHdrBaseInfo == null) _ctrlHdrBaseInfo = new ctrlHdrBaseInfo(); } if (step_id == Step_ID_Geom_Base_Info) { if (_ctrlGeomBaseInfo == null) _ctrlGeomBaseInfo = new ctrlGeomBaseInfo(); } if(step_id == Step_ID_Cover_Plate_Geom) { if (_ctrlCoverPlateGeom == null) _ctrlCoverPlateGeom = new ctrlCoverPlateGeom(); // CreateAxialProjectionDiagram(); } if (step_id == Step_ID_Cover_Plate_Link) { if (_ctrlCoverPlateLink == null) _ctrlCoverPlateLink = new ctrlCoverPlateLink(); //CreatCrossSection(); } if (step_id == Step_ID_Cover_Plate_Sect) { if (_ctrlCoverPlateSect == null) _ctrlCoverPlateSect = new ctrlCoverPlateSect(); //CreateMiddleFlowCurve(); } if (step_id == Step_ID_SelectTypeAndStreamLineNum) { if (_ctrlSelectTypeAndStreamLineNum == null) _ctrlSelectTypeAndStreamLineNum = new ctrlSelectTypeAndStreamLineNum(); //CreateStreamlineDividingPoint(); //CreateMappingGrid(); } if (step_id == Step_ID_InletCurveInfo) { if (_ctrlInletCurveInfo == null) _ctrlInletCurveInfo = new ctrlInletCurveInfo(); } this._currentStepID = step_id; } #region 初始化步骤列表 /// /// /// private void InitialStepNodes() { _allStepNodes = new List(); #region 基础信息/几何参数 var stepGroup_BaseInfo = new DPumpHydr.WinFrmUI.Impeller.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.Impeller.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.Impeller.TreeStepNode() { ProgressState = WinFrmUI.Impeller.TreeStepNode.eProgressState.未完成, DataState = WinFrmUI.Impeller.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.Impeller.TreeStepNode() { ProgressState = WinFrmUI.Impeller.TreeStepNode.eProgressState.未完成, DataState = WinFrmUI.Impeller.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 盖板参数 var stepGroup_CoverPlate = new DPumpHydr.WinFrmUI.Impeller.TreeStepNode() { ProgressState = WinFrmUI.Impeller.TreeStepNode.eProgressState.未完成, DataState = WinFrmUI.Impeller.TreeStepNode.eDataState.未知 }; stepGroup_CoverPlate.AllowSelect = false; stepGroup_CoverPlate.Caption = "盖板参数"; stepGroup_CoverPlate.Name = Group_Name_Cover_Plate; stepGroup_CoverPlate.ID = Group_ID_Cover_Plate; stepGroup_CoverPlate.ParentID = 0; _allStepNodes.Add(stepGroup_CoverPlate); var step盖板参数 = new DPumpHydr.WinFrmUI.Impeller.TreeStepNode() { ProgressState = WinFrmUI.Impeller.TreeStepNode.eProgressState.未完成, DataState = WinFrmUI.Impeller.TreeStepNode.eDataState.未知 }; step盖板参数.AllowSelect = true; step盖板参数.Caption = string.Format("{0}:{1}", GetTranslateString("第三步"), GetTranslateString("零件材料")); step盖板参数.Name = "StepCoverPlate"; step盖板参数.ID = Step_ID_Cover_Plate_Geom; step盖板参数.Group = "盖板参数"; step盖板参数.ParentID = Group_ID_Cover_Plate; _allStepNodes.Add(step盖板参数); var step盖板连接 = new DPumpHydr.WinFrmUI.Impeller.TreeStepNode() { ProgressState = WinFrmUI.Impeller.TreeStepNode.eProgressState.未完成, DataState = WinFrmUI.Impeller.TreeStepNode.eDataState.未知 }; step盖板连接.AllowSelect = true; step盖板连接.Caption = string.Format("{0}:{1}", GetTranslateString("第四步"), GetTranslateString("驱动参数")); step盖板连接.Name = "TreeStepNode6"; step盖板连接.ID = Step_ID_Cover_Plate_Link; step盖板连接.Group = "盖板连接"; step盖板连接.ParentID = Group_ID_Cover_Plate; _allStepNodes.Add(step盖板连接); var step过流断面 = new DPumpHydr.WinFrmUI.Impeller.TreeStepNode() { ProgressState = WinFrmUI.Impeller.TreeStepNode.eProgressState.未完成, DataState = WinFrmUI.Impeller.TreeStepNode.eDataState.未知 }; step过流断面.AllowSelect = true; step过流断面.Caption = string.Format("{0}:{1}", GetTranslateString("第五步"), GetTranslateString("部件参数(泵体)")); step过流断面.Name = "TreeStepNode7"; step过流断面.ID = Step_ID_Cover_Plate_Sect; step过流断面.Group = "过流断面"; step过流断面.ParentID = Group_ID_Cover_Plate; _allStepNodes.Add(step过流断面); #endregion #region 流线设计 var stepGroup_StreamLine = new DPumpHydr.WinFrmUI.Impeller.TreeStepNode() { ProgressState = WinFrmUI.Impeller.TreeStepNode.eProgressState.未完成, DataState = WinFrmUI.Impeller.TreeStepNode.eDataState.未知 }; stepGroup_StreamLine.AllowSelect = false; stepGroup_StreamLine.Caption = "流线设计"; stepGroup_StreamLine.Name = Group_Name_Stream_Line; stepGroup_StreamLine.ID = Group_ID_Stream_Line; stepGroup_StreamLine.ParentID = 0; _allStepNodes.Add(stepGroup_StreamLine); var step叶片类型和流线数 = new DPumpHydr.WinFrmUI.Impeller.TreeStepNode() { ProgressState = WinFrmUI.Impeller.TreeStepNode.eProgressState.未完成, DataState = WinFrmUI.Impeller.TreeStepNode.eDataState.未知 }; step叶片类型和流线数.AllowSelect = true; step叶片类型和流线数.Caption = string.Format("{0}:{1}", GetTranslateString("第六步"), GetTranslateString("叶片类型和流线数")); step叶片类型和流线数.Name = "TreeStepNodeSelectTypeAndStreamLineNum"; step叶片类型和流线数.ID = Step_ID_SelectTypeAndStreamLineNum; step叶片类型和流线数.Group = Group_Name_Stream_Line; step叶片类型和流线数.ParentID = Group_ID_Stream_Line; _allStepNodes.Add(step叶片类型和流线数); var step进口边设计 = new DPumpHydr.WinFrmUI.Impeller.TreeStepNode() { ProgressState = WinFrmUI.Impeller.TreeStepNode.eProgressState.未完成, DataState = WinFrmUI.Impeller.TreeStepNode.eDataState.未知 }; step进口边设计.AllowSelect = true; step进口边设计.Caption = "第7步:进口边设计"; step进口边设计.Name = "TreeStepNodeInletCurveInfo"; step进口边设计.ID = Step_ID_InletCurveInfo; step进口边设计.Group = Group_Name_Stream_Line; step进口边设计.ParentID = Group_ID_Stream_Line; _allStepNodes.Add(step进口边设计); #endregion #region 叶片 var stepGroup_叶片设计 = new DPumpHydr.WinFrmUI.Impeller.TreeStepNode() { ProgressState = WinFrmUI.Impeller.TreeStepNode.eProgressState.未完成, DataState = WinFrmUI.Impeller.TreeStepNode.eDataState.未知 }; stepGroup_叶片设计.AllowSelect = false; stepGroup_叶片设计.Caption = "叶片设计"; stepGroup_叶片设计.Name = Group_Name_Sheet_Design; stepGroup_叶片设计.ID = Group_ID_Sheet_Design; stepGroup_叶片设计.ParentID = 0; _allStepNodes.Add(stepGroup_叶片设计); var step工作面 = new DPumpHydr.WinFrmUI.Impeller.TreeStepNode() { ProgressState = WinFrmUI.Impeller.TreeStepNode.eProgressState.未完成, DataState = WinFrmUI.Impeller.TreeStepNode.eDataState.未知 }; step工作面.AllowSelect = true; step工作面.Caption = "第九步:工作面"; step工作面.Name = "TreeStepNode31"; step工作面.ID = 31; step工作面.Group = Group_Name_Sheet_Design; step工作面.ParentID = Group_ID_Sheet_Design; _allStepNodes.Add(step工作面); var step背面 = new DPumpHydr.WinFrmUI.Impeller.TreeStepNode() { ProgressState = WinFrmUI.Impeller.TreeStepNode.eProgressState.未完成, DataState = WinFrmUI.Impeller.TreeStepNode.eDataState.未知 }; step背面.AllowSelect = true; step背面.Caption = "第九步:背面"; step背面.Name = "TreeStepNode32"; step背面.ID = 32; step背面.Group = Group_Name_Sheet_Design; step背面.ParentID = Group_ID_Sheet_Design; _allStepNodes.Add(step背面); #endregion // this.stepTreeListCtrl.SetStepSource(_allStepNodes, 1); } #endregion } }