#include "stdafx.h" #include "PQSZDlg.h" #include "EarThwormDef.h" #include "UIHistory.h" IMPLEMENT_DYNAMIC(CPQSZDlg, CDialog) CPQSZDlg::CPQSZDlg(CWnd* pParent /*=NULL*/) : CDialog(CPQSZDlg::IDD, pParent) , m_dW(0.25) , m_sDrawScale(_T("1:100")) , m_bQLBZHatch(TRUE) , m_bWallJC(TRUE) , m_dWSlab(0.25) , m_dWBeam(0.25) , m_dWCol(0.25) , m_dWYGDT(.25) , m_bWSlab(TRUE) , m_bWBeam(TRUE) , m_bWCol(TRUE) , m_bWYGDT(TRUE) , m_bWallHatch(TRUE) , m_bBeamHatch(TRUE) , m_bColumnHatch(TRUE) , m_bSlabHatch(TRUE) , m_bYGDTHatch(TRUE) , m_bToBlockRef(FALSE) { GET_CACHE(CPQSZDlg , %d%d%d%d%d%d%d%d%d%d%d%f%f%f%f%f%s , &m_bWallJC , &m_bWSlab , &m_bWBeam , &m_bWCol , &m_bWYGDT , &m_bWallHatch , &m_bBeamHatch , &m_bSlabHatch , &m_bColumnHatch , &m_bYGDTHatch , &m_bToBlockRef , &m_dW , &m_dWSlab , &m_dWCol , &m_dWBeam , &m_dWYGDT , &m_sDrawScale); } CPQSZDlg::~CPQSZDlg() { } void CPQSZDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); DDX_Text(pDX, IDC_EDITPLOTWIDTH, m_dW); DDX_CBString(pDX, IDC_COMBOSCALE, m_sDrawScale); DDX_Text(pDX, IDC_EDITPLOTWIDTH2, m_dWSlab); DDX_Text(pDX, IDC_EDITPLOTWIDTH3, m_dWBeam); DDX_Text(pDX, IDC_EDITPLOTWIDTH4, m_dWCol); DDX_Text(pDX, IDC_EDITPLOTWIDTH5, m_dWYGDT); DDX_Check(pDX, IDC_CHECK2, m_bWallJC); DDX_Check(pDX, IDC_CHECK5, m_bWSlab); DDX_Check(pDX, IDC_CHECK6, m_bWBeam); DDX_Check(pDX, IDC_CHECK7, m_bWCol); DDX_Check(pDX, IDC_CHECK8, m_bWYGDT); DDX_Check(pDX, IDC_CHECK_WALL, m_bWallHatch); DDX_Check(pDX, IDC_CHECK_BEAM, m_bBeamHatch); DDX_Check(pDX, IDC_CHECK_SLAB, m_bSlabHatch); DDX_Check(pDX, IDC_CHECK_COLUMN, m_bColumnHatch); DDX_Check(pDX, IDC_CHECK_YGDT, m_bYGDTHatch); DDX_Check(pDX, IDC_CHECK1, m_bToBlockRef); } BEGIN_MESSAGE_MAP(CPQSZDlg, CDialog) ON_BN_CLICKED(IDOK, &CPQSZDlg::OnBnClickedOk) END_MESSAGE_MAP() BOOL CPQSZDlg::OnInitDialog() { CDialog::OnInitDialog(); UpdateData(FALSE); return TRUE; } void CPQSZDlg::OnBnClickedOk() { UpdateData(); m_bQLBZHatch = 0; if (m_bWallHatch) m_bQLBZHatch |= 0x1; if (m_bBeamHatch) m_bQLBZHatch |= 0x2; if (m_bSlabHatch) m_bQLBZHatch |= 0x4; if (m_bColumnHatch) m_bQLBZHatch |= 0x8; if (m_bYGDTHatch) m_bQLBZHatch |= 0x10; m_xDatSetup.SetAt(KEY_QLBZHATCH,m_bQLBZHatch); double dW = GetDocScale() * m_dW; m_xDatSetup.SetAt(KEY_WALLJC,m_bWallJC); m_xDatSetup.SetAt(KEY_WALLW,dW); double dWSlab = GetDocScale() * m_dWSlab; m_xDatSetup.SetAt(KEY_BWSLAB,m_bWSlab); m_xDatSetup.SetAt(KEY_WSLAB,dWSlab); double dWBeam = GetDocScale() * m_dWBeam; m_xDatSetup.SetAt(KEY_BWBEAM,m_bWBeam); m_xDatSetup.SetAt(KEY_WBEAM, dWBeam); double dWCol = GetDocScale() * m_dWCol; m_xDatSetup.SetAt(KEY_BWCOL,m_bWCol); m_xDatSetup.SetAt(KEY_WCOL, dWCol); double dWYGDT = GetDocScale() * m_dWYGDT; m_xDatSetup.SetAt(KEY_BWYGDT,m_bWYGDT); m_xDatSetup.SetAt(KEY_WYGDT, dWYGDT); m_xDatSetup.SetAt(KEY_BLK2D, m_bToBlockRef); SET_CACHE(CPQSZDlg , %d%d%d%d%d%d%d%d%d%d%d%f%f%f%f%f%s , m_bWallJC , m_bWSlab , m_bWBeam , m_bWCol , m_bWYGDT , m_bWallHatch , m_bBeamHatch , m_bSlabHatch , m_bColumnHatch , m_bYGDTHatch , m_bToBlockRef , m_dW , m_dWSlab , m_dWCol , m_dWBeam , m_dWYGDT , m_sDrawScale); OnOK(); } double CPQSZDlg::GetDocScale() const { int nIndex = m_sDrawScale.Find(_T(':'),0); double dDocScale = 1.0; if (nIndex != -1) { dDocScale = _ttof(m_sDrawScale.Mid(nIndex + 1)) / _ttof(m_sDrawScale.Mid(0,nIndex)); } return dDocScale; } void CPQSZDlg::GetSetup(AecDbObjXDataMap& xData) { xData.CopyFrom(&m_xDatSetup); }