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;
|
|
|
/// <summary>
|
/// 下一步核心
|
/// </summary>
|
/// <returns></returns>
|
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;
|
}
|
|
/// <summary>
|
/// 上一步核心
|
/// </summary>
|
/// <returns></returns>
|
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;
|
}
|
|
/// <summary>
|
/// 切换步骤
|
/// </summary>
|
/// <param name="current_step_id"></param>
|
/// <param name="next_step_id"></param>
|
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 && next_step_id != 0)
|
{//删除加厚体
|
this._occDesign3dCtrl.RemoveThicknessBody( );
|
|
this._occDesign3dCtrl.Invalidate(true);
|
}
|
}
|
|
|
this.BuildParasCtrl(current_step_id, next_step_id);
|
|
//
|
this._stepTreeDockPanel.SetFocusedNode(next_step_id);
|
|
|
if (next_step_id != this._stepTreeDockPanel.Step_ID_Thickness)
|
RbtnChk标注.Visible = false;
|
|
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;
|
RbtnChk标注.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)
|
{
|
RbtnChk标注.Visible = true;
|
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 if (current_step_id == this._stepTreeDockPanel.Step_ID_Thickness && next_step_id == 0)
|
{
|
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;
|
}
|
|
|
|
/// <summary>
|
/// 设置参数控件
|
/// </summary>
|
/// <param name="next_step_id"></param>
|
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
|
}
|
|
|
|
/// <summary>
|
/// 获取当前步骤的参数控制控件
|
/// </summary>
|
/// <param name="step_id"></param>
|
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;
|
}
|
|
|
|
/// <summary>
|
///
|
/// </summary>
|
/// <param name="ctrl"></param>
|
private void DockStepParaCtrl(ParasInfoBaseCtrl ctrl)
|
{
|
this._parasDockPanel.Controls.Clear();
|
ctrl.Dock = DockStyle.Fill;
|
this._parasDockPanel.Controls.Add(ctrl);
|
}
|
|
/// <summary>
|
/// 下一步
|
/// </summary>
|
/// <returns></returns>
|
public bool GoNextStep()
|
{
|
return GoNextStepCore();
|
}
|
|
/// <summary>
|
/// 上一步
|
/// </summary>
|
/// <returns></returns>
|
public bool GoPrevStep()
|
{
|
return GoPrevStepCore();
|
}
|
}
|
}
|