141 lines
4.0 KiB
C++
141 lines
4.0 KiB
C++
#include "stdafx.h"
|
|
#include "afxdialogex.h"
|
|
#include "CPenLinSetDlg.h"
|
|
#include "KTModelLayoutXData.h"
|
|
|
|
#define _WD_PLSZ_INIT_ _T("_WD_PLSZ_INIT_")
|
|
|
|
// 安装类型
|
|
IMP_XDATA_KEY(CPenLinSetDlg, _WD_PLSZ_INSTALL_TYPE_);
|
|
// 温度
|
|
IMP_XDATA_KEY(CPenLinSetDlg, _WD_PLSZ_TEMPERATURE_);
|
|
// 灵敏度
|
|
IMP_XDATA_KEY(CPenLinSetDlg, _WD_PLSZ_SENSITIVITY_);
|
|
// 接管管径
|
|
IMP_XDATA_KEY(CPenLinSetDlg, _WD_PLSZ_CONNECT_DN_);
|
|
// 接管长度
|
|
IMP_XDATA_KEY(CPenLinSetDlg, _WD_PLSZ_CONNECT_LEN_);
|
|
// 保护半径
|
|
IMP_XDATA_KEY(CPenLinSetDlg, _WD_PLSZ_PROTECT_R_);
|
|
// 流量系数
|
|
IMP_XDATA_KEY(CPenLinSetDlg, _WD_PLSZ_FLOW_K_);
|
|
// 喷水强度
|
|
IMP_XDATA_KEY(CPenLinSetDlg, _WD_PLSZ_WATER_STRENGTH_);
|
|
// 结构
|
|
IMP_XDATA_KEY(CPenLinSetDlg, _WD_PLSZ_TYPE_);
|
|
// 热敏
|
|
IMP_XDATA_KEY(CPenLinSetDlg, _WD_PLSZ_HEAT_SENS_);
|
|
// 覆盖面积
|
|
IMP_XDATA_KEY(CPenLinSetDlg, _WD_PLSZ_COVER_AREA_);
|
|
|
|
|
|
IMPLEMENT_DYNAMIC(CPenLinSetDlg, CDialog)
|
|
|
|
CPenLinSetDlg::CPenLinSetDlg(CWnd* pParent)
|
|
: CDialog(IDD_DIALOG_PENLIN_SET, pParent)
|
|
, m_iInitType(0)
|
|
, m_iTemperature(0)
|
|
, m_iSensitivity(0)
|
|
, m_dRadiusProtection(20)
|
|
, m_dNozzleLength(1)
|
|
, m_dFlowCoefficient(1.)
|
|
, m_dSprayIntensity(10.)
|
|
, m_iOpen(FALSE)
|
|
, m_iGlassBall(FALSE)
|
|
, m_iStandardCoverageSparinkler(FALSE)
|
|
, m_sPipeDiameter(_T("DN25"))
|
|
{
|
|
|
|
}
|
|
|
|
CPenLinSetDlg::~CPenLinSetDlg()
|
|
{
|
|
}
|
|
|
|
void CPenLinSetDlg::DoDataExchange(CDataExchange* pDX)
|
|
{
|
|
|
|
DDX_Text(pDX, IDC_EDIT_RADIUS_PROTECTION, m_dRadiusProtection);
|
|
DDX_Text(pDX, IDC_EDIT_NOZZLE_LENGTH, m_dNozzleLength);
|
|
DDX_Text(pDX, IDC_EDIT_FLOW_COEFFICIENT, m_dFlowCoefficient);
|
|
DDX_Text(pDX, IDC_EDIT_SPRAY_INTENSITY, m_dSprayIntensity);
|
|
DDX_Radio(pDX, IDC_RADIO_OPEN, m_iOpen);
|
|
DDX_Radio(pDX, IDC_RADIO_GLASS_BALL, m_iGlassBall);
|
|
DDX_Radio(pDX, IDC_RADIO_STANDARD_COVERAGE_SPARINKLER, m_iStandardCoverageSparinkler);
|
|
DDX_CBIndex(pDX, IDC_COMBO_INSTALL_TYPE, m_iInitType);
|
|
DDX_CBIndex(pDX, IDC_COMBO_TEMPERATURE, m_iTemperature);
|
|
DDX_CBIndex(pDX, IDC_COMBO_SENSITIVITY, m_iSensitivity);
|
|
DDX_CBString(pDX, IDC_COMBO_PIPE_DIAMETER, m_sPipeDiameter);
|
|
}
|
|
|
|
|
|
BEGIN_MESSAGE_MAP(CPenLinSetDlg, CDialog)
|
|
ON_BN_CLICKED(IDOK, &CPenLinSetDlg::OnBnClickedOk)
|
|
END_MESSAGE_MAP()
|
|
|
|
|
|
// CPenLinSetDlg message handlers
|
|
|
|
|
|
BOOL CPenLinSetDlg::OnInitDialog()
|
|
{
|
|
CDialog::OnInitDialog();
|
|
|
|
AecDbObjXDataMap xDataMap;
|
|
|
|
if (getPLSZData(xDataMap))
|
|
{
|
|
xDataMap.GetAt(_WD_PLSZ_INSTALL_TYPE_, m_iInitType);
|
|
xDataMap.GetAt(_WD_PLSZ_TEMPERATURE_, m_iTemperature);
|
|
xDataMap.GetAt(_WD_PLSZ_SENSITIVITY_, m_iSensitivity);
|
|
|
|
int iTmp(25.);
|
|
xDataMap.GetAt(_WD_PLSZ_CONNECT_DN_, iTmp);
|
|
m_sPipeDiameter = _T("DN");
|
|
m_sPipeDiameter += TypeConvert::i2s(iTmp);
|
|
|
|
xDataMap.GetAt(_WD_PLSZ_CONNECT_LEN_, m_dRadiusProtection);
|
|
xDataMap.GetAt(_WD_PLSZ_PROTECT_R_, m_dNozzleLength);
|
|
xDataMap.GetAt(_WD_PLSZ_FLOW_K_, m_dFlowCoefficient);
|
|
xDataMap.GetAt(_WD_PLSZ_WATER_STRENGTH_, m_dSprayIntensity);
|
|
xDataMap.GetAt(_WD_PLSZ_TYPE_, m_iOpen);
|
|
xDataMap.GetAt(_WD_PLSZ_HEAT_SENS_, m_iGlassBall);
|
|
xDataMap.GetAt(_WD_PLSZ_COVER_AREA_, m_iStandardCoverageSparinkler);
|
|
}
|
|
|
|
UpdateData(FALSE);
|
|
|
|
return TRUE;
|
|
}
|
|
|
|
bool CPenLinSetDlg::getPLSZData(AecDbObjXDataMap &xDataMap)
|
|
{
|
|
return KTModelLayoutXData::ReadModelXData(_WD_PLSZ_INIT_, xDataMap) == FALSE ? false : true;
|
|
}
|
|
|
|
void CPenLinSetDlg::OnBnClickedOk()
|
|
{
|
|
if (!UpdateData(TRUE)) return;
|
|
|
|
AecDbObjXDataMap xDataMap;
|
|
xDataMap.SetAt(_WD_PLSZ_INSTALL_TYPE_, m_iInitType);
|
|
xDataMap.SetAt(_WD_PLSZ_TEMPERATURE_, m_iTemperature);
|
|
xDataMap.SetAt(_WD_PLSZ_SENSITIVITY_, m_iSensitivity);
|
|
|
|
CString s(m_sPipeDiameter);
|
|
s = s.Right(s.GetLength() - 2);
|
|
xDataMap.SetAt(_WD_PLSZ_CONNECT_DN_, TypeConvert::s2i(s));
|
|
|
|
xDataMap.SetAt(_WD_PLSZ_CONNECT_LEN_, m_dRadiusProtection);
|
|
xDataMap.SetAt(_WD_PLSZ_PROTECT_R_, m_dNozzleLength);
|
|
xDataMap.SetAt(_WD_PLSZ_FLOW_K_, m_dFlowCoefficient);
|
|
xDataMap.SetAt(_WD_PLSZ_WATER_STRENGTH_, m_dSprayIntensity);
|
|
xDataMap.SetAt(_WD_PLSZ_TYPE_, m_iOpen);
|
|
xDataMap.SetAt(_WD_PLSZ_HEAT_SENS_, m_iGlassBall);
|
|
xDataMap.SetAt(_WD_PLSZ_COVER_AREA_, m_iStandardCoverageSparinkler);
|
|
|
|
KTModelLayoutXData::WriteModelXData(_WD_PLSZ_INIT_, xDataMap);
|
|
|
|
CDialog::OnOK();
|
|
}
|