Files
envi-code/SourceCode/Code2026/PlumbingCmd/CPenLinSetDlg.cpp
T
gjm 164968b62e chore
把非utf8-bom编码的cpp/h文件改为 utf8 bom 编码, msvc识别utf8编码时,如果不是bom格式的,会使用当前cp_oem来解码.
2026-10-04 00:04:20 +08:00

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();
}