GridDataClr.cpp 9.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469
  1. #include "stdafx.h"
  2. #include "GridDataClr.h"
  3. #include <COTSUtilityDllFunExport.h>
  4. namespace OTSCLRINTERFACE {
  5. // constructor
  6. CGridRowClr::CGridRowClr() // constructor
  7. {
  8. m_LpGridRow = new CGridRowPtr(new CGridRow());
  9. }
  10. // constructor
  11. CGridRowClr::CGridRowClr(CGridRowPtr a_pGridRow)
  12. {
  13. ASSERT(a_pGridRow);
  14. if (!a_pGridRow)
  15. {
  16. LogErrorTrace(__FILE__, __LINE__, _T("CGridRowClr: Invalid CGridRow pointer."));
  17. return;
  18. }
  19. m_LpGridRow = new CGridRowPtr(a_pGridRow);
  20. }
  21. CGridRowClr::~CGridRowClr()
  22. {
  23. if (m_LpGridRow != nullptr)
  24. {
  25. delete m_LpGridRow;
  26. m_LpGridRow = nullptr;
  27. }
  28. }
  29. CGridRowClr::!CGridRowClr()
  30. {
  31. if (m_LpGridRow != nullptr)
  32. {
  33. delete m_LpGridRow;
  34. m_LpGridRow = nullptr;
  35. }
  36. }
  37. CGridRowPtr CGridRowClr::GetGridRowPtr()
  38. {
  39. return *m_LpGridRow;
  40. }
  41. int CGridRowClr::GetDataType()
  42. {
  43. int nDataType = -1;
  44. if (m_LpGridRow != nullptr)
  45. {
  46. nDataType = (int)m_LpGridRow->get()->GetDataType();
  47. }
  48. return nDataType;
  49. }
  50. void CGridRowClr::SetDataType(int a_nDataType)
  51. {
  52. if (m_LpGridRow != nullptr)
  53. {
  54. m_LpGridRow->get()->SetDataType(( OTSDATA::REPORT_GRID_DATA_TYPE)a_nDataType);
  55. }
  56. }
  57. // get string value
  58. String^ CGridRowClr::GetStringValue()
  59. {
  60. String^ strGridRowClr;
  61. if (m_LpGridRow != nullptr)
  62. {
  63. CString strGridRow = m_LpGridRow->get()->GetStringValue();
  64. strGridRowClr = gcnew String(strGridRow);
  65. }
  66. return strGridRowClr;
  67. }
  68. void CGridRowClr::SetStringValue(String^ a_strValue)
  69. {
  70. ASSERT(a_strValue);
  71. if (!a_strValue)
  72. {
  73. LogErrorTrace(__FILE__, __LINE__, _T("SetStringValue: invalid string pointer."));
  74. return;
  75. }
  76. if (m_LpGridRow != nullptr)
  77. {
  78. m_LpGridRow->get()->SetStringValue(a_strValue);
  79. }
  80. }
  81. COTSParticleClr^ CGridRowClr::GetParticle()
  82. {
  83. COTSParticleClr^ OTSParticleClr;
  84. if (m_LpGridRow != nullptr)
  85. {
  86. COTSParticlePtr pOTSParticle = m_LpGridRow->get()->GetParticle();
  87. OTSParticleClr = gcnew COTSParticleClr(pOTSParticle);
  88. }
  89. return OTSParticleClr;
  90. }
  91. bool CGridRowClr::SetParticle(COTSParticleClr^ a_oParticle)
  92. {
  93. ASSERT(a_oParticle);
  94. if (!a_oParticle)
  95. {
  96. LogErrorTrace(__FILE__, __LINE__, _T("SetParticle: invalid particle pointer."));
  97. return false;
  98. }
  99. bool bResult = false;
  100. if (m_LpGridRow != nullptr)
  101. {
  102. COTSParticlePtr pOTSParticle = a_oParticle->GetOTSParticlePtr();
  103. bResult = m_LpGridRow->get()->SetParticle(pOTSParticle);
  104. }
  105. return bResult;
  106. }
  107. int CGridRowClr::GetIntValue()
  108. {
  109. int nIntValue = -1;
  110. if (m_LpGridRow != nullptr)
  111. {
  112. nIntValue = m_LpGridRow->get()->GetIntValue();
  113. }
  114. return nIntValue;
  115. }
  116. void CGridRowClr::SetIntValue(int a_nIntValue)
  117. {
  118. if (m_LpGridRow != nullptr)
  119. {
  120. m_LpGridRow->get()->SetIntValue(a_nIntValue);
  121. }
  122. }
  123. double CGridRowClr::GetDoubleValue()
  124. {
  125. double bDoubleValue = -1;
  126. if (m_LpGridRow != nullptr)
  127. {
  128. bDoubleValue = m_LpGridRow->get()->GetDoubleValue();
  129. }
  130. return bDoubleValue;
  131. }
  132. void CGridRowClr::SetDoubleValue(double a_dFloatValue)
  133. {
  134. if (m_LpGridRow != nullptr)
  135. {
  136. m_LpGridRow->get()->SetDoubleValue(a_dFloatValue);
  137. }
  138. }
  139. // constructor
  140. CGridColumnClr::CGridColumnClr() // constructor
  141. {
  142. m_LpGridColumn = new CGridColumnPtr(new CGridColumn());
  143. }
  144. CGridColumnClr::CGridColumnClr(CGridColumnPtr a_pGridColumn)
  145. {
  146. ASSERT(a_pGridColumn);
  147. if (!a_pGridColumn)
  148. {
  149. LogErrorTrace(__FILE__, __LINE__, _T("CGridColumnClr: Invalid CGridColumn pointer."));
  150. return;
  151. }
  152. m_LpGridColumn = new CGridColumnPtr(new CGridColumn(a_pGridColumn.get()));
  153. }
  154. CGridColumnClr::CGridColumnClr(CGridColumn* a_pGridColumn) // copy constructor
  155. {
  156. ASSERT(a_pGridColumn);
  157. if (!a_pGridColumn)
  158. {
  159. LogErrorTrace(__FILE__, __LINE__, _T("CGridColumnClr: Invalid CGridColumn pointer."));
  160. return;
  161. }
  162. m_LpGridColumn = new CGridColumnPtr(new CGridColumn(a_pGridColumn));
  163. }
  164. CGridColumnClr::~CGridColumnClr()
  165. {
  166. if (m_LpGridColumn != nullptr)
  167. {
  168. delete m_LpGridColumn;
  169. }
  170. }
  171. CGridColumnClr::!CGridColumnClr()
  172. {
  173. if (m_LpGridColumn != nullptr)
  174. {
  175. delete m_LpGridColumn;
  176. }
  177. }
  178. CGridColumnPtr CGridColumnClr::GetGridColumnPtr()
  179. {
  180. return *m_LpGridColumn;
  181. }
  182. String^ CGridColumnClr::GetName()
  183. {
  184. String^ strNameClr;
  185. if (m_LpGridColumn != nullptr)
  186. {
  187. CString strName = m_LpGridColumn->get()->GetName();
  188. strNameClr = gcnew String(strName);
  189. }
  190. return strNameClr;
  191. }
  192. void CGridColumnClr::SetName(String^ a_strName)
  193. {
  194. ASSERT(a_strName);
  195. if (!a_strName)
  196. {
  197. LogErrorTrace(__FILE__, __LINE__, _T("SetName: invalid name pointer."));
  198. return;
  199. }
  200. if (m_LpGridColumn != nullptr)
  201. {
  202. m_LpGridColumn->get()->SetName(a_strName);
  203. }
  204. }
  205. CGridRowListClr^ CGridColumnClr::GetRowList()
  206. {
  207. CGridRowListClr^ listGridRowClr = gcnew CGridRowListClr();
  208. if (m_LpGridColumn != nullptr)
  209. {
  210. CGridRowsList listGridRow = m_LpGridColumn->get()->GetRowList();
  211. for (auto pGridRow : listGridRow)
  212. {
  213. CGridRowClr^ GridRowClr = gcnew CGridRowClr(pGridRow);
  214. listGridRowClr->Add(GridRowClr);
  215. }
  216. }
  217. return listGridRowClr;
  218. }
  219. bool CGridColumnClr::SetGridRowsList(CGridRowListClr^ a_listGridRows, bool a_bClear)
  220. {
  221. ASSERT(a_listGridRows);
  222. if (!a_listGridRows)
  223. {
  224. LogErrorTrace(__FILE__, __LINE__, _T("SetGridRowsList: invalid GridRow list pointer."));
  225. return false;
  226. }
  227. bool bResult = false;
  228. if (m_LpGridColumn != nullptr)
  229. {
  230. CGridRowsList listGridRows;
  231. int nSize = a_listGridRows->Count;
  232. for (int i = 0; i < nSize; i++)
  233. {
  234. CGridRowPtr pGridRow = CGridRowPtr(new CGridRow(a_listGridRows[i]->GetGridRowPtr().get()));
  235. ASSERT(pGridRow);
  236. if (!pGridRow)
  237. {
  238. LogErrorTrace(__FILE__, __LINE__, _T("SetGridRowsList: Can't generate grid row pointer."));
  239. return false;
  240. }
  241. listGridRows.push_back(pGridRow);
  242. }
  243. bResult = m_LpGridColumn->get()->SetGridRowsList(listGridRows, a_bClear);
  244. }
  245. return bResult;
  246. }
  247. // constructor
  248. CGridDataClr::CGridDataClr() // constructor
  249. {
  250. m_LpGridData = new CGridDataPtr(new CGridData());
  251. }
  252. CGridDataClr::CGridDataClr(CGridDataPtr a_pGridData)// constructor
  253. {
  254. ASSERT(a_pGridData);
  255. if (!a_pGridData)
  256. {
  257. LogErrorTrace(__FILE__, __LINE__, _T("CGridDataClr: Invalid CGridData pointer."));
  258. return;
  259. }
  260. m_LpGridData = new CGridDataPtr(new CGridData(a_pGridData.get()));
  261. }
  262. CGridDataClr::CGridDataClr(CGridData* a_pGridData)
  263. {
  264. ASSERT(a_pGridData);
  265. if (!a_pGridData)
  266. {
  267. LogErrorTrace(__FILE__, __LINE__, _T("CGridDataClr: Invalid CGridData pointer."));
  268. return;
  269. }
  270. m_LpGridData = new CGridDataPtr(new CGridData(a_pGridData));
  271. }
  272. CGridDataClr::~CGridDataClr() // copy constructor
  273. {
  274. if (m_LpGridData != nullptr)
  275. {
  276. delete m_LpGridData;
  277. }
  278. }
  279. CGridDataClr::!CGridDataClr() // copy constructor
  280. {
  281. if (m_LpGridData != nullptr)
  282. {
  283. delete m_LpGridData;
  284. }
  285. }
  286. CGridDataPtr CGridDataClr::GetGridDataPtr()
  287. {
  288. return *m_LpGridData;
  289. }
  290. CGridColumnListClr^ CGridDataClr::GetGridColumnList()
  291. {
  292. CGridColumnListClr^ GridColumnListClr = gcnew CGridColumnListClr();
  293. if (m_LpGridData != nullptr)
  294. {
  295. CGridColumnsList listGridColumn = m_LpGridData->get()->GetGridColumnList();
  296. for (auto pGridColumn : listGridColumn)
  297. {
  298. CGridColumnClr^ GridColumnClr = gcnew CGridColumnClr(pGridColumn);
  299. GridColumnListClr->Add(GridColumnClr);
  300. }
  301. }
  302. return GridColumnListClr;
  303. }
  304. bool CGridDataClr::SetGridColumnList(CGridColumnListClr^ a_listGridColumn, bool a_bClear)
  305. {
  306. ASSERT(a_listGridColumn);
  307. if (!a_listGridColumn)
  308. {
  309. LogErrorTrace(__FILE__, __LINE__, _T("SetGridColumnList: invalid GridColumn list pointer."));
  310. return false;
  311. }
  312. bool bResult = false;
  313. if (m_LpGridData != nullptr)
  314. {
  315. CGridColumnsList listGridColumns;
  316. int nSize = a_listGridColumn->Count;
  317. for (int i = 0; i < nSize; i++)
  318. {
  319. CGridColumnPtr pGridColumn = CGridColumnPtr(new CGridColumn(a_listGridColumn[i]->GetGridColumnPtr().get()));
  320. ASSERT(pGridColumn);
  321. if (!pGridColumn)
  322. {
  323. LogErrorTrace(__FILE__, __LINE__, _T("SetGridColumnList: Can't generate grid column pointer."));
  324. return false;
  325. }
  326. listGridColumns.push_back(pGridColumn);
  327. }
  328. bResult = m_LpGridData->get()->SetGridColumnList(listGridColumns, a_bClear);
  329. }
  330. return bResult;
  331. }
  332. System::Collections::Generic::List<String^>^ CGridDataClr::GetDataSourceList()
  333. {
  334. System::Collections::Generic::List<String^>^ listDataSourceClr = gcnew System::Collections::Generic::List<String^>();
  335. if (m_LpGridData != nullptr)
  336. {
  337. std::vector<CString> listDataSource = m_LpGridData->get()->GetDataSourceList();
  338. for (auto DataSource : listDataSource)
  339. {
  340. String^ DataSourceClr = gcnew String(DataSource);
  341. listDataSourceClr->Add(DataSourceClr);
  342. }
  343. }
  344. return listDataSourceClr;
  345. }
  346. // data source id
  347. bool CGridDataClr::SetDataSourceList(System::Collections::Generic::List<String^>^ a_listDataSource)
  348. {
  349. bool bResult = false;
  350. ASSERT(a_listDataSource);
  351. if (!a_listDataSource)
  352. {
  353. LogErrorTrace(__FILE__, __LINE__, _T("SetDataSourceList:invalid data source list."));
  354. return false;
  355. }
  356. if (m_LpGridData != nullptr)
  357. {
  358. int nSize = a_listDataSource->Count;
  359. for (int i = 0; i < nSize; i++)
  360. {
  361. std::vector<CString> listDataSource;
  362. listDataSource.push_back(a_listDataSource[i]);
  363. bResult = m_LpGridData->get()->SetDataSourceList(listDataSource);
  364. }
  365. }
  366. return bResult;
  367. }
  368. int CGridDataClr::GetDataSourceId()
  369. {
  370. int nDataSourceId = -1;
  371. if (m_LpGridData != nullptr)
  372. {
  373. nDataSourceId = m_LpGridData->get()->GetDataSourceId();
  374. }
  375. return nDataSourceId;
  376. }
  377. void CGridDataClr::SetDataSourceId(int a_nDataSourceId)
  378. {
  379. if (m_LpGridData != nullptr)
  380. {
  381. m_LpGridData->get()->SetDataSourceId(a_nDataSourceId);
  382. }
  383. }
  384. }