// SaniFittingAttr.cpp: implementation of the CSaniFittingAttr class. // ////////////////////////////////////////////////////////////////////// #include "stdafx.h" #include "resource.h" #include "SaniFittingAttr.h" #ifdef _DEBUG #undef THIS_FILE static char THIS_FILE[]=__FILE__; #define new DEBUG_NEW #endif ////////////////////////////////////////////////////////////////////// CSaniFittingAttr::CSaniFittingAttr() { m_dOrigenalSizeX = m_dOrigenalSizeY = 0; // 构件的原始尺寸 m_dInitSpace = m_dComponentSpace = 0; // 初始间距, 构件间距 m_dDistToWall = 0; // 缺省距离墙体的距离 m_nPlaceFlag = 0; // 布置标记: 0--多个; 1--单个; 2--浴缸系列(单个); 3--逐点; 4--参数绘制 } CSaniFittingAttr::CSaniFittingAttr(const CSaniFittingAttr &src) { *this = src; } CSaniFittingAttr::CSaniFittingAttr(DbfTable *pTable) { ReadFromTable(pTable); } CSaniFittingAttr::~CSaniFittingAttr() { } ////////////////////////////////////////////////////////////////////////// void CSaniFittingAttr::ReadFromTable(DbfTable *pTable) { GET_FIELD(pTable, _T("block"), m_csBlockName); GET_FIELD(pTable, _T("desc"), m_csDescName); GET_FIELD(pTable, _T("kind"), m_csKindName); GET_FIELD(pTable, _T("cspace"), m_dComponentSpace); GET_FIELD(pTable, _T("distwall"), m_dDistToWall); GET_FIELD(pTable, _T("ispace"), m_dInitSpace); GET_FIELD(pTable, _T("sizex"), m_dOrigenalSizeX); GET_FIELD(pTable, _T("sizey"), m_dOrigenalSizeY); GET_FIELD(pTable, _T("place"), m_nPlaceFlag); } void CSaniFittingAttr::WriteToTable(DbfTable *pTable) { SET_FIELD(pTable, _T("block"), (const TCHAR *)m_csBlockName); SET_FIELD(pTable, _T("desc"), (const TCHAR *)m_csDescName); SET_FIELD(pTable, _T("kind"), (const TCHAR *)m_csKindName); SET_FIELD(pTable, _T("cspace"), m_dComponentSpace); SET_FIELD(pTable, _T("distwall"), m_dDistToWall); SET_FIELD(pTable, _T("ispace"), m_dInitSpace); SET_FIELD(pTable, _T("sizex"), m_dOrigenalSizeX); SET_FIELD(pTable, _T("sizey"), m_dOrigenalSizeY); SET_FIELD(pTable, _T("place"), m_nPlaceFlag); } int CSaniFittingAttr::CompareForSortByKindName(const CSaniFittingAttr *p1, const CSaniFittingAttr *p2) { return _tcscmp(p1->m_csKindName, p2->m_csKindName); } CSaniFittingAttr & CSaniFittingAttr::operator = (const CSaniFittingAttr &src) { m_csBlockName = src.m_csBlockName; m_csDescName = src.m_csDescName; m_csKindName = src.m_csKindName; m_dComponentSpace = src.m_dComponentSpace; m_dDistToWall = src.m_dDistToWall; m_dInitSpace = src.m_dInitSpace; m_dOrigenalSizeX = src.m_dOrigenalSizeX; m_dOrigenalSizeY = src.m_dOrigenalSizeY; m_nPlaceFlag = src.m_nPlaceFlag; return *this; }