FRAME_VilgFrcsListF.cpp 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200
  1. //---------------------------------------------------------------------------
  2. #include <vcl.h>
  3. #include "ITSSkinF.h"
  4. #include "ITSUtilF.h"
  5. #include "ITS_OPLibF.h"
  6. #include "ITSLangTransF.h"
  7. #pragma hdrstop
  8. #include "FRAME_VilgFrcsListF.h"
  9. #include "ITS_OPLibF.h"
  10. //---------------------------------------------------------------------------
  11. #pragma package(smart_init)
  12. #pragma link "cxCalc"
  13. #pragma link "cxClasses"
  14. #pragma link "cxControls"
  15. #pragma link "cxCustomData"
  16. #pragma link "cxData"
  17. #pragma link "cxDataStorage"
  18. #pragma link "cxEdit"
  19. #pragma link "cxFilter"
  20. #pragma link "cxGraphics"
  21. #pragma link "cxGrid"
  22. #pragma link "cxGridCustomTableView"
  23. #pragma link "cxGridCustomView"
  24. #pragma link "cxGridLevel"
  25. #pragma link "cxGridTableView"
  26. #pragma link "cxLabel"
  27. #pragma link "cxLookAndFeelPainters"
  28. #pragma link "cxLookAndFeels"
  29. #pragma link "cxStyles"
  30. #pragma link "cxTextEdit"
  31. #pragma link "dxSkinBlack"
  32. #pragma link "dxSkinBlue"
  33. #pragma link "dxSkinsCore"
  34. #pragma link "dxSkinscxPCPainter"
  35. #pragma link "dxSkinMcSkin"
  36. #pragma resource "*.dfm"
  37. //TFRAMEVilgFrcsList *FRAMEVilgFrcsList;
  38. //---------------------------------------------------------------------------
  39. __fastcall TFRAMEVilgFrcsList::TFRAMEVilgFrcsList(TComponent* Owner)
  40. : TFrame(Owner)
  41. {
  42. TvList->OptionsView->NoDataToDisplayInfoText = FrmLang->lblNoInfo->Caption;//"<현재 지역 날씨정보가 없습니다>";
  43. FAlarmCount1 = FAlarmCount2 = 0;
  44. }
  45. //---------------------------------------------------------------------------
  46. void __fastcall TFRAMEVilgFrcsList::UpdateList()
  47. {
  48. CMM_ClearGridTableView(TvList);
  49. TcxDataController *pGDC = TvList->DataController;
  50. FAlarmCount1 = FAlarmCount2 = 0;
  51. int nRow = 0;
  52. try
  53. {
  54. TvList->BeginUpdate();
  55. try
  56. {
  57. ItsVilgFrcsManager->FLists.Lock();
  58. FOR_STL(TItsVilgFrcs *, pObj, ItsVilgFrcsManager->FLists)
  59. {
  60. nRow = pGDC->AppendRecord();
  61. pGDC->Values[nRow][Col00->Index] = pObj->VILG_FRCS_ZONE_CD;
  62. pGDC->Values[nRow][Col01->Index] = pObj->VILG_FRCS_ZONE_NM;
  63. pGDC->Values[nRow][Col20->Index] = pObj->X_CRDN;
  64. pGDC->Values[nRow][Col21->Index] = pObj->Y_CRDN;
  65. pGDC->Values[nRow][Col02->Index] = pObj->WTCD_KOR_CD;
  66. pGDC->Values[nRow][Col03->Index] = APP_FormatStr(pObj->ANNC_DT, STR_DATETIME);
  67. pGDC->Values[nRow][Col04->Index] = pObj->PRST_TMPR;
  68. pGDC->Values[nRow][Col05->Index] = pObj->HGHS_TMPR;
  69. pGDC->Values[nRow][Col06->Index] = pObj->LWST_TMPR;
  70. pGDC->Values[nRow][Col07->Index] = pObj->ATMP_STTS;
  71. pGDC->Values[nRow][Col08->Index] = pObj->WTCD_KOR_NM;
  72. pGDC->Values[nRow][Col09->Index] = pObj->PRCP_STTS;
  73. pGDC->Values[nRow][Col10->Index] = pObj->PRCP_PR;
  74. pGDC->Values[nRow][Col11->Index] = pObj->ESTM_PRCP_AMUT_6HH;//ESTM_PRAM_12HH;
  75. pGDC->Values[nRow][Col12->Index] = pObj->ESTM_SNOW_AMUT_6HH;//ESTM_SNOW_AMUT_12HH;
  76. pGDC->Values[nRow][Col13->Index] = pObj->WNSP;
  77. pGDC->Values[nRow][Col14->Index] = pObj->WNDR_KOR_NM;
  78. pGDC->Values[nRow][Col15->Index] = pObj->HMDT;
  79. pGDC->Values[nRow][Col22->Index] = pObj->PRCP_ALARM;
  80. pGDC->Values[nRow][Col23->Index] = pObj->SNOW_ALARM;
  81. if (pObj->PRCP_ALARM != VILG_NONE) FAlarmCount1++;
  82. if (pObj->SNOW_ALARM != VILG_NONE) FAlarmCount2++;
  83. pGDC->Values[nRow][Column99->Index] = (int)pObj;
  84. }
  85. }
  86. __finally
  87. {
  88. ItsVilgFrcsManager->FLists.UnLock();
  89. }
  90. }
  91. __finally
  92. {
  93. TvList->EndUpdate();
  94. TvList->DataController->GotoFirst();
  95. TvList->DataController->FocusedRecordIndex = 0;
  96. }
  97. }
  98. //---------------------------------------------------------------------------
  99. void __fastcall TFRAMEVilgFrcsList::RefreshList()
  100. {
  101. TcxDataController *pGDC = TvList->DataController;
  102. FAlarmCount1 = FAlarmCount2 = 0;
  103. try
  104. {
  105. TvList->BeginUpdate();
  106. try
  107. {
  108. ItsVilgFrcsManager->FLists.Lock();
  109. int nMemPtr;
  110. int nDataCnt = pGDC->RecordCount;
  111. for (int ii = 0; ii < nDataCnt; ii++)
  112. {
  113. nMemPtr = pGDC->Values[ii][Column99->Index];
  114. TItsVilgFrcs *pObj = (TItsVilgFrcs*)nMemPtr;
  115. if (!pObj) continue;
  116. pGDC->Values[ii][Col02->Index] = pObj->WTCD_KOR_CD;
  117. pGDC->Values[ii][Col03->Index] = APP_FormatStr(pObj->ANNC_DT, STR_DATETIME);
  118. pGDC->Values[ii][Col04->Index] = pObj->PRST_TMPR;
  119. pGDC->Values[ii][Col05->Index] = pObj->HGHS_TMPR;
  120. pGDC->Values[ii][Col06->Index] = pObj->LWST_TMPR;
  121. pGDC->Values[ii][Col07->Index] = pObj->ATMP_STTS;
  122. pGDC->Values[ii][Col08->Index] = pObj->WTCD_KOR_NM;
  123. pGDC->Values[ii][Col09->Index] = pObj->PRCP_STTS;
  124. pGDC->Values[ii][Col10->Index] = pObj->PRCP_PR;
  125. pGDC->Values[ii][Col11->Index] = pObj->ESTM_PRAM_12HH;
  126. pGDC->Values[ii][Col12->Index] = pObj->ESTM_SNOW_AMUT_12HH;
  127. pGDC->Values[ii][Col13->Index] = pObj->WNSP;
  128. pGDC->Values[ii][Col14->Index] = pObj->WNDR_KOR_NM;
  129. pGDC->Values[ii][Col15->Index] = pObj->HMDT;
  130. pGDC->Values[ii][Col22->Index] = pObj->PRCP_ALARM;
  131. pGDC->Values[ii][Col23->Index] = pObj->SNOW_ALARM;
  132. if (pObj->PRCP_ALARM != VILG_NONE) FAlarmCount1++;
  133. if (pObj->SNOW_ALARM != VILG_NONE) FAlarmCount2++;
  134. }
  135. }
  136. __finally
  137. {
  138. ItsVilgFrcsManager->FLists.UnLock();
  139. }
  140. }
  141. __finally
  142. {
  143. TvList->EndUpdate();
  144. TvList->DataController->GotoFirst();
  145. TvList->DataController->FocusedRecordIndex = 0;
  146. }
  147. }
  148. //---------------------------------------------------------------------------
  149. void __fastcall TFRAMEVilgFrcsList::Col22CustomDrawCell(TcxCustomGridTableView *Sender,
  150. TcxCanvas *ACanvas, TcxGridTableDataCellViewInfo *AViewInfo,
  151. bool &ADone)
  152. {
  153. TColor tColor = ACanvas->Brush->Color;
  154. TColor tFont = clBlack;
  155. try
  156. {
  157. if (!VarIsNull(AViewInfo->Value))
  158. {
  159. String sVal = AViewInfo->Value;
  160. if (sVal == VILG_ALARM)
  161. {
  162. tColor = clRed;
  163. }
  164. else
  165. if (sVal == VILG_WARNING)
  166. {
  167. tColor = clFuchsia;
  168. }
  169. }
  170. ACanvas->Font->Color = tFont;
  171. ACanvas->SetBrushColor(tColor);
  172. }
  173. catch(...)
  174. {
  175. }
  176. }
  177. //---------------------------------------------------------------------------