#include "stdafx.h" #include "PropItem.h" //#include "MultiLang.h" //#include "OTSDATAresource.h" namespace OTSMODEL { // CPropItem // constructor CPropItem::CPropItem() { // initialization Init(); } // copy constructor CPropItem::CPropItem(const CPropItem& a_oSource) { // can't copy itself if (&a_oSource == this) { return; } // copy data over Duplicate(a_oSource); } CPropItem::CPropItem(CPropItem* a_poSource) { // input check ASSERT(a_poSource); if (!a_poSource) { return; } // can't copy itself if (a_poSource == this) { return; } // copy data over Duplicate(*a_poSource); } // =operator CPropItem& CPropItem::operator=(const CPropItem& a_oSource) { // cleanup Cleanup(); // copy the class data over Duplicate(a_oSource); // return class return *this; } // destructor CPropItem::~CPropItem() { // cleanup Cleanup(); } // class function // public // set sample parameter void CPropItem::SetSmplParameter(OTS_SAMPLE_PROP_GRID_ITEMS a_nSmplId, OTS_ITEM_TYPES a_nType, BOOL a_bReadOnly, BOOL a_bShow) { m_nSmplId = a_nSmplId; m_nType = a_nType; m_bReadOnly = a_bReadOnly; m_bShow = a_bShow; } // set report parameter void CPropItem::SetReportParameter(OTS_RETORT_PROP_GRID_ITEMS a_nReportId, OTS_ITEM_TYPES a_nType, BOOL a_bReadOnly) { m_nReportId = a_nReportId; m_nType = a_nType; m_bReadOnly = a_bReadOnly; } // protected // cleanup void CPropItem::Cleanup() { } // initialization void CPropItem::Init() { m_strName = _T(""); m_strDescription = _T(""); m_nSmplId = OTS_SAMPLE_PROP_GRID_ITEMS::INVALID; m_nReportId = OTS_RETORT_PROP_GRID_ITEMS::INVALID; m_nType = OTS_ITEM_TYPES::INVALID; m_bReadOnly = FALSE; m_bShow = TRUE; } // duplication void CPropItem::Duplicate(const CPropItem& a_oSource) { // initialization Init(); // copy data over m_strName = a_oSource.m_strName; m_strDescription = a_oSource.m_strDescription; m_nSmplId = a_oSource.m_nSmplId; m_nReportId = a_oSource.m_nReportId; m_nType = a_oSource.m_nType; m_bReadOnly = a_oSource.m_bReadOnly; m_bShow = a_oSource.m_bShow; } // CPropItemGrp CPropItemGrp::CPropItemGrp() { // initialization Init(); } // copy constructor CPropItemGrp::CPropItemGrp(const CPropItemGrp& a_oSource) { // can't copy itself if (&a_oSource == this) { return; } // copy data over Duplicate(a_oSource); } CPropItemGrp::CPropItemGrp(CPropItemGrp* a_poSource) { // input check ASSERT(a_poSource); if (!a_poSource) { return; } // can't copy itself if (a_poSource == this) { return; } // copy data over Duplicate(*a_poSource); } // =operator CPropItemGrp& CPropItemGrp::operator=(const CPropItemGrp& a_oSource) { // cleanup Cleanup(); // copy the class data over Duplicate(a_oSource); // return class return *this; } // destructor CPropItemGrp::~CPropItemGrp() { // clean up Cleanup(); } // class function // public // items list void CPropItemGrp::SetItemsList(CPropItemsList& a_listPropItems) { m_listPropItems.clear(); for (auto poPropItem : a_listPropItems) { CPropItemPtr poPropItemNew(new CPropItem(poPropItem.get())); m_listPropItems.push_back(poPropItemNew); } } void CPropItemGrp::GetItemsIdRange(OTS_SAMPLE_PROP_GRID_ITEMS& a_nPropItemIdMin, OTS_SAMPLE_PROP_GRID_ITEMS& a_nPropItemIdMax) { a_nPropItemIdMin = a_nPropItemIdMax = OTS_SAMPLE_PROP_GRID_ITEMS::INVALID; if (m_listPropItems.size() > 0) { a_nPropItemIdMin = a_nPropItemIdMax = m_listPropItems[0]->GetSmplItemId(); for (auto poPropItem : m_listPropItems) { a_nPropItemIdMin = (OTS_SAMPLE_PROP_GRID_ITEMS)min((int)a_nPropItemIdMin, (int)poPropItem->GetSmplItemId()); a_nPropItemIdMax = (OTS_SAMPLE_PROP_GRID_ITEMS)max((int)a_nPropItemIdMax, (int)poPropItem->GetSmplItemId()); } } } // protected // cleanup void CPropItemGrp::Cleanup() { m_listPropItems.clear(); } // initialization void CPropItemGrp::Init() { m_strName = _T(""); m_listPropItems.clear(); } // duplication void CPropItemGrp::Duplicate(const CPropItemGrp& a_oSource) { // initialization Init(); // copy data over m_strName = a_oSource.m_strName; for (auto poPropItem : a_oSource.m_listPropItems) { CPropItemPtr poPropItemNew(new CPropItem(poPropItem.get())); m_listPropItems.push_back(poPropItemNew); } } }