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 currentStepID = this._stepTreeDockPanel.CurrentStepID;
//
var next_step_id = this._stepTreeDockPanel.NextStepID;
if (currentStepID == this._stepTreeDockPanel.Step_ID_Section18_Full)
{
next_step_id = this._stepTreeDockPanel.Step_ID_Outflow_Paras;
}
if (next_step_id > 0)
{
if (currentStepID == this._stepTreeDockPanel.Step_ID_Hdr_Base_Info)
{
if (!SaveParaStep1())
return false;
}
else if (currentStepID == this._stepTreeDockPanel.Step_ID_Section18_Full)
{
if (!SaveParaStep2())
return false;
}
else if (currentStepID == this._stepTreeDockPanel.Step_ID_Outflow_Paras)
{
if (!SaveParaStep3())
return false;
}
else
{
}
this.SetParasCtrl(currentStepID, next_step_id );
//
this._stepTreeDockPanel.SetFocusedNode(next_step_id);
}
CheckStepBtnStatus();
return true;
}
///
/// 上一步核心
///
///
private bool GoPrevStepCore()
{
var currentStepID = this._stepTreeDockPanel.CurrentStepID;
ParasInfoBaseCtrl paras_ctrl = GetParasCtrl(currentStepID);
//if (paras_ctrl != null && paras_ctrl.IsChangesParas())
//{
// DialogResult result = MessageBox.Show("已经修改过的数据需要保存吗?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);
// if (result == DialogResult.OK)
// {
// if (SaveStepParas(currentStepID) == false)
// {
// return false;
// }
// }
//}
var prev_step_id = this._stepTreeDockPanel.PrevStepID;
if (currentStepID == this._stepTreeDockPanel.Step_ID_Outflow_Paras)
{
prev_step_id = this._stepTreeDockPanel.Step_ID_Section18_Full;
}
if (prev_step_id == 0)
return false;
this.SetParasCtrl(currentStepID, prev_step_id);
//
this._stepTreeDockPanel.SetFocusedNode(prev_step_id);
CheckStepBtnStatus();
return true;
}
///
/// 生成控件的参数控件
///
///
private void SetParasCtrl(long last_step_id, long current_step_id)
{
Rbtn数据导出STP.Visible = false;
Rbtn数据导出IGS.Visible = false;
#region 第1步
if (current_step_id == this._stepTreeDockPanel.Step_ID_Hdr_Base_Info)
{
EnterStep1(last_step_id);
return;
}
#endregion
#region 第2步
if (current_step_id == this._stepTreeDockPanel.Step_ID_Section18_Full)
{
EnterStep2(last_step_id);
return;
}
#endregion
#region 第3步 1-8断面
if (current_step_id > this._stepTreeDockPanel.Step_ID_Section18_Grp &&
current_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 - current_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 (current_step_id == this._stepTreeDockPanel.Step_ID_Outflow_Paras)
{
EnterStep3(last_step_id);
return;
}
#endregion
#region 加厚
if (current_step_id == this._stepTreeDockPanel.Step_ID_jiahout)
{
if (_sectionBundleInfo == null)
return;
EnterStep4(last_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();
}
}
}