HoleClr.cpp 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. #include "stdafx.h"
  2. #include "HoleClr.h"
  3. namespace OTSINTERFACE {
  4. CHoleClr::CHoleClr()
  5. {
  6. m_Hole = new CHolePtr(new CHole());
  7. }
  8. CHoleClr::CHoleClr(String^ a_strName, int a_nShape, System::Drawing::Rectangle^ a_rectDomain) // constructor
  9. {
  10. ASSERT(a_strName);
  11. if (!a_strName)
  12. {
  13. LogErrorTrace(__FILE__, __LINE__, _T("CBSEImgClr: Generate CElementChemistryClr pointer failed."));
  14. return;
  15. }
  16. m_Hole = new CHolePtr(new CHole());
  17. CHolePtr d = GetHolePtr();
  18. if (a_rectDomain == nullptr)
  19. {
  20. LogErrorTrace(__FILE__, __LINE__, _T("CDomainClr: invalide rectangle."));
  21. return;
  22. }
  23. d->SetShape((DOMAIN_SHAPE)a_nShape);
  24. CRect* r = new CRect(a_rectDomain->Left, a_rectDomain->Top, a_rectDomain->Right, a_rectDomain->Bottom);
  25. d->SetDomainRect(r);
  26. d->SetName(a_strName);
  27. }
  28. CHolePtr CHoleClr::GetHolePtr()
  29. {
  30. return *m_Hole;
  31. }
  32. CHoleClr::CHoleClr(CHolePtr a_pHole) // copy constructor
  33. {
  34. ASSERT(a_pHole);
  35. if (!a_pHole)
  36. {
  37. LogErrorTrace(__FILE__, __LINE__, _T("CHoleClr: Generate CElementChemistryClr pointer failed."));
  38. return;
  39. }
  40. m_Hole = new CHolePtr(a_pHole);
  41. }
  42. CHoleClr::CHoleClr(CHole* a_pSource) // copy constructor
  43. {
  44. ASSERT(a_pSource);
  45. if (!a_pSource)
  46. {
  47. LogErrorTrace(__FILE__, __LINE__, _T("CHoleClr: Generate CHoleClr pointer failed."));
  48. return;
  49. }
  50. m_Hole = new CHolePtr(new CHole(a_pSource));
  51. }
  52. CHoleClr::~CHoleClr()
  53. {
  54. if (m_Hole != nullptr)
  55. {
  56. delete m_Hole;
  57. m_Hole = nullptr;
  58. }
  59. }
  60. CHoleClr::!CHoleClr()
  61. {
  62. if (m_Hole != nullptr)
  63. {
  64. delete m_Hole;
  65. m_Hole = nullptr;
  66. }
  67. }
  68. String^ CHoleClr::GetName()
  69. {
  70. String^ NameClr;
  71. if (m_Hole != nullptr)
  72. {
  73. CString sName = m_Hole->get()->GetName();
  74. NameClr = gcnew String(sName);
  75. }
  76. return NameClr;
  77. }
  78. void CHoleClr::SetName(String^ a_strName)
  79. {
  80. ASSERT(a_strName);
  81. if (!a_strName)
  82. {
  83. LogErrorTrace(__FILE__, __LINE__, _T("SetFileVersion: invalid version."));
  84. }
  85. if (m_Hole != nullptr)
  86. {
  87. m_Hole->get()->SetName(a_strName);
  88. }
  89. }
  90. System::Drawing::Rectangle CHoleClr::GetRectDomain()
  91. {
  92. CHolePtr d = this->GetHolePtr();
  93. CRect cr = d->GetDomainRect();
  94. System::Drawing::Rectangle r(cr.left, cr.top, cr.Width(), cr.Height());
  95. return r;
  96. }
  97. }