using System; using System.Collections.Generic; using System.Windows.Forms; using System.IO; using System.Text; using System.Linq; namespace DPumpHydr.WinFrmUI.Volute { public partial class MainViewPage { //步骤控件 StepTreeDockPanel _stepTreeDockPanel = null; /// /// 下一步核心 /// /// private bool GoNextStepCore() { var current_step_id = this._stepTreeDockPanel.CurrentStepID; // var next_step_id = this._stepTreeDockPanel.NextStepID; if (current_step_id == this._stepTreeDockPanel.Step_ID_Section18_Full) { next_step_id = this._stepTreeDockPanel.Step_ID_Outflow_Paras; } ChangeStep(current_step_id, next_step_id); return true; } /// /// 上一步核心 /// /// private bool GoPrevStepCore() { var current_step_id = this._stepTreeDockPanel.CurrentStepID; var prev_step_id = this._stepTreeDockPanel.PrevStepID; if (current_step_id == this._stepTreeDockPanel.Step_ID_Outflow_Paras) { prev_step_id = this._stepTreeDockPanel.Step_ID_Section18_Full; } if (prev_step_id == 0) return false; this.ChangeStep(current_step_id, prev_step_id); return true; } /// /// 切换步骤 /// /// /// private bool ChangeStep(long current_step_id, long next_step_id) { RbtnChk截面18.Visible = false; if (current_step_id == this._stepTreeDockPanel.Step_ID_Hdr_Base_Info) { if (!SaveParaStep1()) return false; //ParasInfoBaseCtrl paras_ctrl = GetParasCtrl(current_step_id); //if (paras_ctrl != null && paras_ctrl.IsChangesParas()) //{ // DialogResult result = MessageBox.Show("已经修改过的数据需要保存吗?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question); // if (result == DialogResult.OK) // { // if (SaveStepParas(current_step_id) == false) // { // return false; // } // } //} } else if (current_step_id == this._stepTreeDockPanel.Step_ID_Section18_Full) { if (!SaveParaStep2()) return false; } else if (current_step_id == this._stepTreeDockPanel.Step_ID_Outflow_Paras) { if (!SaveParaStep3()) return false; } else if (current_step_id == this._stepTreeDockPanel.Step_ID_Thickness) { if (!SaveParaStep4()) return false; if (next_step_id < current_step_id) {//删除加厚体 this._occDesign3dCtrl.RemoveThicknessBody( ); } } this.BuildParasCtrl(current_step_id, next_step_id); // this._stepTreeDockPanel.SetFocusedNode(next_step_id); Rbtn数据导出STP.Visible = false; Rbtn数据导出IGS.Visible = false; if (next_step_id == this._stepTreeDockPanel.Step_ID_Hdr_Base_Info) { this._sectAreaDockPanel.Visible = false; this.RBtn后退.Enabled = false; this.Rbtn前进.Enabled = true; this.Rbtn上一步.Enabled = false; this.Rbtn下一步.Enabled = true; this.Rbtn完成.Enabled = false; this._occDesign2dCtrl.HideAll(); this._occDesign3dCtrl.HideAll(); } else if (next_step_id == this._stepTreeDockPanel.Step_ID_Outflow_Paras) { RbtnChk截面18.Visible = true; this.RBtn后退.Enabled = true; this.Rbtn前进.Enabled = true; this.Rbtn上一步.Enabled = true; this.Rbtn下一步.Enabled = true; this.Rbtn完成.Enabled = false; } else if (next_step_id == this._stepTreeDockPanel.Step_ID_Thickness) { this.RBtn后退.Enabled = true; this.Rbtn前进.Enabled = false; this.Rbtn上一步.Enabled = true; this.Rbtn下一步.Enabled = false; this.Rbtn完成.Enabled = true; this.Rbtn数据导出STP.Visible = true; this.Rbtn数据导出IGS.Visible = true; } else { this.RBtn后退.Enabled = true; this.Rbtn前进.Enabled = true; this.Rbtn上一步.Enabled = true; this.Rbtn下一步.Enabled = true; this.Rbtn完成.Enabled = false; } return true; } /// /// 设置参数控件 /// /// private void BuildParasCtrl(long current_step_id, long next_step_id) { #region 第1步 if (next_step_id == this._stepTreeDockPanel.Step_ID_Hdr_Base_Info) { EnterStep1(current_step_id); return; } #endregion #region 第2步 if (next_step_id == this._stepTreeDockPanel.Step_ID_Section18_Full) { EnterStep2(current_step_id); return; } #endregion #region 第3步 1-8断面 if (next_step_id > this._stepTreeDockPanel.Step_ID_Section18_Grp && next_step_id <= this._stepTreeDockPanel.Step_ID_Section18_Grp + 8) { if (_sectionBundleInfo == null) return; if (_ctrlSectionShapeInfo18 == null) { _ctrlSectionShapeInfo18 = new ctrlSectionShapeInfo18(); _ctrlSectionShapeInfo18.Name = "ctrlSectionShapeInfo18"; _ctrlSectionShapeInfo18.OnRefreshShape += RefreshSectShapeSingle18; } DockStepParaCtrl(_ctrlSectionShapeInfo18); var sect_index = 9 + this._stepTreeDockPanel.Step_ID_Section18_Grp - next_step_id; var shape_info = _sectionBundleInfo.ToSectionShapePara((int)sect_index); RefreshSectShapeSingle18(shape_info); _ctrlSectionShapeInfo18.SetBindingData(shape_info); this._sectAreaDockPanel.RefreshControl(); this._sectAreaDockPanel.Visible = true; this._occDesign2dCtrl.SetAllSectionCurveVisible(true); this._occDesign3dCtrl.SetAllSectionCurveVisible(true); return; } #endregion #region 出水面参数 if (next_step_id == this._stepTreeDockPanel.Step_ID_Outflow_Paras) { EnterStep3(current_step_id); return; } #endregion #region 加厚 if (next_step_id == this._stepTreeDockPanel.Step_ID_Thickness) { if (_sectionBundleInfo == null) return; EnterStep4(current_step_id); return; } #endregion } /// /// 获取当前步骤的参数控制控件 /// /// private DPumpHydr.WinFrmUI.Volute.ParasInfoBaseCtrl GetParasCtrl(long step_id) { if (step_id == this._stepTreeDockPanel.Step_ID_Hdr_Base_Info) { return _ctrlHdrBaseInfo; } //第二步 if (step_id == this._stepTreeDockPanel.Step_ID_Section18_Full) { return _ctrlSectionBundleInfo; } //1-8断面进行下一步点击 if (step_id >= this._stepTreeDockPanel.Step_ID_Section18_Grp && step_id >= this._stepTreeDockPanel.Step_ID_Section18_Grp + 8) { return _ctrlSectionShapeInfo18; } return null; } /// /// /// /// private void DockStepParaCtrl(ParasInfoBaseCtrl ctrl) { this._parasDockPanel.Controls.Clear(); ctrl.Dock = DockStyle.Fill; this._parasDockPanel.Controls.Add(ctrl); } /// /// 下一步 /// /// public bool GoNextStep() { return GoNextStepCore(); } /// /// 上一步 /// /// public bool GoPrevStep() { return GoPrevStepCore(); } } }