121 lines
2.6 KiB
C++
121 lines
2.6 KiB
C++
#include "stdafx.h"
|
|
#include "JPSGDlg.h"
|
|
#include "CCSYDlg.h"
|
|
#include "UITools.h"
|
|
|
|
IMPLEMENT_DYNAMIC(CJPSGDlg, CDialog)
|
|
|
|
CJPSGDlg::CJPSGDlg(CWnd* pParent /*=NULL*/)
|
|
: CDialog(CJPSGDlg::IDD, pParent)
|
|
, m_dW(300)
|
|
, m_dH(100)
|
|
, m_nPos(0)
|
|
, m_nPosTail(1)
|
|
, m_nPosMid(0)
|
|
, m_dGrade(1.5)
|
|
, m_bRemove(false)
|
|
, m_nNo(0)
|
|
{
|
|
static int nNo = 1;
|
|
m_nNo = nNo;
|
|
nNo++;
|
|
::memset(&m_data, 0, sizeof(EWFnctNode));
|
|
}
|
|
|
|
CJPSGDlg::~CJPSGDlg()
|
|
{
|
|
}
|
|
|
|
void CJPSGDlg::DoDataExchange(CDataExchange* pDX)
|
|
{
|
|
CDialog::DoDataExchange(pDX);
|
|
DDX_Text(pDX, IDC_EDITW, m_dW);
|
|
DDX_Text(pDX, IDC_EDITH, m_dH);
|
|
DDX_Radio(pDX, IDC_RADIOL, m_nPos);
|
|
DDX_Radio(pDX, IDC_RADIOL2, m_nPosTail);
|
|
DDX_Radio(pDX, IDC_RADIOL3, m_nPosMid);
|
|
DDX_Text(pDX, IDC_EDITGRD, m_dGrade);
|
|
DDX_Text(pDX, IDC_EDITH2, m_nNo);
|
|
DDV_MinMaxInt(pDX, m_nNo, 1, 99);
|
|
}
|
|
|
|
BEGIN_MESSAGE_MAP(CJPSGDlg, CDialog)
|
|
ON_BN_CLICKED(IDOK, &CJPSGDlg::OnBnClickedOk)
|
|
ON_BN_CLICKED(IDC_BUTTON1, &CJPSGDlg::OnBnClickedButton1)
|
|
ON_BN_CLICKED(IDOK2, &CJPSGDlg::OnBnClickedOk2)
|
|
END_MESSAGE_MAP()
|
|
|
|
|
|
BOOL CJPSGDlg::OnInitDialog()
|
|
{
|
|
CDialog::OnInitDialog();
|
|
|
|
m_data.fNodeDef[0] = AS_MUNITF(300);
|
|
m_data.fNodeDef[1] = AS_MUNITF(100);
|
|
m_data.fNodeDef[2] = .1f;
|
|
m_data.fNodeDef[3] = 2.f;
|
|
m_data.fNodeDef[4] = .1f;
|
|
m_data.fNodeDef[5] = 1.5f;
|
|
|
|
UIDataCache::FindNode(_T("JPSG"), &m_data);
|
|
|
|
m_dW = AS_M2MM(m_data.fNodeDef[0]);
|
|
m_dH = AS_M2MM(m_data.fNodeDef[1]);
|
|
m_nPos = m_data.fNodeDef[2] > 1.f ? 1 : 0;
|
|
m_nPosTail = m_data.fNodeDef[3] > 1.f ? 1 : 0;
|
|
m_nPosMid = m_data.fNodeDef[4] > 1.f ? 1 : 0;
|
|
m_dGrade = m_data.fNodeDef[5];
|
|
|
|
UpdateData(FALSE);
|
|
return TRUE;
|
|
}
|
|
|
|
void CJPSGDlg::OnBnClickedOk()
|
|
{
|
|
UpdateData();
|
|
|
|
if (m_dW < 10.0)
|
|
{
|
|
AfxMessageBox(_T("排水沟宽度太小!"));
|
|
return;
|
|
}
|
|
|
|
if (m_dH < 10.0)
|
|
{
|
|
AfxMessageBox(_T("排水沟深度太小!"));
|
|
return;
|
|
}
|
|
|
|
m_data.fNodeDef[0] = AS_MUNITF(m_dW);
|
|
m_data.fNodeDef[1] = AS_MUNITF(m_dH);
|
|
m_data.fNodeDef[2] = m_nPos == 0 ? .1f : 2.f;
|
|
m_data.fNodeDef[3] = m_nPosTail == 0 ? .1f : 2.f;
|
|
m_data.fNodeDef[4] = m_nPosMid == 0 ? .1f : 2.f;
|
|
m_data.fNodeDef[5] = m_dGrade;
|
|
|
|
UIDataCache::WriteNode(_T("JPSG"), &m_data);
|
|
|
|
OnOK();
|
|
}
|
|
|
|
void CJPSGDlg::OnBnClickedButton1()
|
|
{
|
|
CCCSYDlg dlg;
|
|
dlg.SetBmpFileName(_T("JPSG.bmp"));
|
|
dlg.DoModal();
|
|
}
|
|
|
|
int CJPSGDlg::GetScript(CString& sScript, int nRoomIndex)
|
|
{
|
|
//GUTTERWAY:1房间位置左右|中房间位置左右|末房间位置左右|排水沟宽|排水沟深H|坡度
|
|
sScript.Format(_T("<GUTTERWAY:%d|%d|%d|%.3f|%.3f|%.3f>"), m_nPos, m_nPosMid, m_nPosTail, m_dW, m_dH, m_dGrade);
|
|
|
|
return 0;
|
|
}
|
|
|
|
void CJPSGDlg::OnBnClickedOk2()
|
|
{
|
|
m_bRemove = true;
|
|
OnBnClickedOk();
|
|
}
|