ITS00G0MF.cpp 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581
  1. /****************************************************************************
  2. * @source :
  3. * @description :
  4. ****************************************************************************
  5. * DATE AUTHOR DESCRIPTION
  6. * --------------------------------------------------------------------------
  7. * 2011/12/24 정승호 최초작성
  8. *
  9. ****************************************************************************/
  10. //---------------------------------------------------------------------------
  11. #include <vcl.h>
  12. #include "ITSSkinF.h"
  13. #include "ITSUtilF.h"
  14. #include "WindowMsgF.h"
  15. #include "CDSFacilityF.h"
  16. #include "CDSIncidentF.h"
  17. #include "FrmMainF.h"
  18. #pragma hdrstop
  19. #include "ITS00G0MF.h"
  20. //---------------------------------------------------------------------------
  21. #pragma package(smart_init)
  22. #pragma link "FRAME_FacilityStatusListF"
  23. #pragma link "FRAME_ProcessStatusListF"
  24. #pragma link "FRAME_UtisStatusListF"
  25. #pragma link "FRAME_IncidentListF"
  26. #pragma link "FRAME_RepeatCongestListF"
  27. #pragma link "FRAME_TrafficMissLinkListF"
  28. #pragma link "cxContainer"
  29. #pragma link "cxControls"
  30. #pragma link "cxEdit"
  31. #pragma link "cxGraphics"
  32. #pragma link "cxGroupBox"
  33. #pragma link "cxLabel"
  34. #pragma link "cxLookAndFeelPainters"
  35. #pragma link "cxLookAndFeels"
  36. #pragma link "cxPC"
  37. #pragma link "cxPCdxBarPopupMenu"
  38. #pragma link "cxSplitter"
  39. #pragma link "dxSkinBlack"
  40. #pragma link "dxSkinBlue"
  41. #pragma link "dxSkinCaramel"
  42. #pragma link "dxSkinCoffee"
  43. #pragma link "dxSkinDarkRoom"
  44. #pragma link "dxSkinDarkSide"
  45. #pragma link "dxSkinFoggy"
  46. #pragma link "dxSkinGlassOceans"
  47. #pragma link "dxSkiniMaginary"
  48. #pragma link "dxSkinLilian"
  49. #pragma link "dxSkinLiquidSky"
  50. #pragma link "dxSkinLondonLiquidSky"
  51. #pragma link "dxSkinMcSkin"
  52. #pragma link "dxSkinMoneyTwins"
  53. #pragma link "dxSkinOffice2007Black"
  54. #pragma link "dxSkinOffice2007Blue"
  55. #pragma link "dxSkinOffice2007Green"
  56. #pragma link "dxSkinOffice2007Pink"
  57. #pragma link "dxSkinOffice2007Silver"
  58. #pragma link "dxSkinOffice2010Black"
  59. #pragma link "dxSkinOffice2010Blue"
  60. #pragma link "dxSkinOffice2010Silver"
  61. #pragma link "dxSkinsCore"
  62. #pragma link "dxSkinscxPCPainter"
  63. #pragma link "dxSkinSeven"
  64. #pragma link "dxSkinSharp"
  65. #pragma link "dxSkinSilver"
  66. #pragma link "dxSkinStardust"
  67. #pragma resource "*.dfm"
  68. TITS00G0M *ITS00G0M = NULL;
  69. //---------------------------------------------------------------------------
  70. __fastcall TITS00G0M::TITS00G0M(TComponent* Owner)
  71. : TForm(Owner)
  72. {
  73. ITSSkin_Load(this);
  74. LoadLocalSkin();
  75. CMM_LoadForm(g_sFormsDir, this);
  76. PgSystem->Properties->ActivePage = TsIncident;
  77. GrpSystem->Caption = "▶ 시스템 운영 정보 - " + TsIncident->Caption;
  78. FRAMEFacilityStatusList1->PnlBottom->Visible = false;
  79. //FrmMain->dxStatusBar->Panels->Items[isbGisPos]->Visible = true;
  80. ITS00GEO = new TITS00GEO(PnlMapBack, (TForm*)this);
  81. }
  82. //---------------------------------------------------------------------------
  83. /*
  84. * 닫기버튼 이나 x버튼 클릭시 공통으로 처리하는 로직이들어간다..
  85. * Form과 DataModule class를 delete시킨다.
  86. * arguments
  87. *
  88. * return
  89. * void
  90. */
  91. void __fastcall TITS00G0M::CommClose()
  92. {
  93. try
  94. {
  95. //FrmMain->dxStatusBar->Panels->Items[isbGisPos]->Visible = false;
  96. if (ITS00GEO)
  97. {
  98. delete ITS00GEO;
  99. ITS00GEO = NULL;
  100. }
  101. CMM_SaveForm(g_sFormsDir, this);
  102. }
  103. catch(...)
  104. {
  105. }
  106. }
  107. //---------------------------------------------------------------------------
  108. /*
  109. * Form이 메모리에서 생성될때 호출되는 생성자 이벤트 핸들러
  110. * arguments
  111. * Sender : event handler 객체
  112. * return
  113. * void
  114. */
  115. void __fastcall TITS00G0M::FormCreate(TObject *Sender)
  116. {
  117. if (ITS00GEO)
  118. {
  119. ITS00GEO->Parent = PnlMapBack;
  120. ITS00GEO->Show();
  121. }
  122. }
  123. //---------------------------------------------------------------------------
  124. /*
  125. * Form을 보여줄때 호출되는 event 메서드이다.
  126. * arguments
  127. * Sender : event handler 객체
  128. * return
  129. * void
  130. */
  131. void __fastcall TITS00G0M::FormShow(TObject *Sender)
  132. {
  133. Refresh();
  134. Application->ProcessMessages();
  135. TmrShow->Enabled = true;
  136. }
  137. //---------------------------------------------------------------------------
  138. /*
  139. * Form의 Skin 초기화 작업을 수행한다.
  140. * arguments
  141. * void
  142. * return
  143. * void
  144. */
  145. void __fastcall TITS00G0M::LoadLocalSkin()
  146. {
  147. #define MAX_VIEW 7
  148. TcxGridTableView *pView[MAX_VIEW];
  149. TcxGrid *pGrid[MAX_VIEW];
  150. pGrid[ 0] = FRAMEProcessStatusList1->CxList; //프로세스상태
  151. pGrid[ 1] = FRAMEFacilityStatusList1->CxList; //시설물상태
  152. pGrid[ 2] = FRAMEUtisStatusList1->CxUtisRun; //UTIS현황-운영현황
  153. pGrid[ 3] = FRAMEUtisStatusList1->CxUtisRse; //UTIS현황-RSE상태현황
  154. pGrid[ 4] = FRAMEIncidentList1->CxList; //돌발
  155. pGrid[ 5] = FRAMERepeatCongestList1->CxList; //반복정체구간
  156. pGrid[ 6] = FRAMETrafficMissLinkList1->CxList; //소통정보결측구간
  157. pView[ 0] = FRAMEProcessStatusList1->TvList;
  158. pView[ 1] = FRAMEFacilityStatusList1->TvList;
  159. pView[ 2] = FRAMEUtisStatusList1->TvUtisRun;
  160. pView[ 3] = FRAMEUtisStatusList1->TvUtisRse;
  161. pView[ 4] = FRAMEIncidentList1->TvList;
  162. pView[ 5] = FRAMERepeatCongestList1->TvList;
  163. pView[ 6] = FRAMETrafficMissLinkList1->TvList;
  164. for (int ii = 0; ii < MAX_VIEW; ii++)
  165. {
  166. //pGrid[ii]->LookAndFeel->SkinName = "McSkin";
  167. continue;
  168. pView[ii]->Styles->Inactive = NULL;
  169. pView[ii]->Styles->ContentOdd = NULL;
  170. pView[ii]->Styles->ContentEven= NULL;
  171. pView[ii]->Styles->Selection = NULL;
  172. }
  173. }
  174. //---------------------------------------------------------------------------
  175. /*
  176. * Form이 Show되고 난 후 최초 1회 수행되는 타이머 이벤트
  177. * arguments
  178. * Sender : event handler 객체
  179. * return
  180. * void
  181. */
  182. void __fastcall TITS00G0M::TmrShowTimer(TObject *Sender)
  183. {
  184. TmrShow->Enabled = false;
  185. // 리스트 항목을 초기화한다.
  186. InitListData();
  187. }
  188. //---------------------------------------------------------------------------
  189. void __fastcall TITS00G0M::InitListData()
  190. {
  191. FIncidentCnt = 0;
  192. FRrCongestCnt = 0;
  193. FMissLinkCnt = 0;
  194. FRAMEFacilityStatusList1->UpdateList();
  195. FRAMEProcessStatusList1->UpdateList();
  196. FRAMEUtisStatusList1->UpdateList();
  197. FRAMEIncidentList1->UpdateList();
  198. FRAMERepeatCongestList1->UpdateList();
  199. FRAMETrafficMissLinkList1->UpdateList();
  200. UpdateAlarmStatus();
  201. }
  202. //---------------------------------------------------------------------------
  203. void __fastcall TITS00G0M::UpdateAlarmStatus()
  204. {
  205. String sAlarmMsg = "";
  206. FIncidentCnt = FRAMEIncidentList1->TvList->DataController->RecordCount;
  207. FRrCongestCnt = FRAMERepeatCongestList1->TvList->DataController->RecordCount;
  208. FMissLinkCnt = FRAMETrafficMissLinkList1->TvList->DataController->RecordCount;
  209. if (FIncidentCnt > 0)
  210. {
  211. sAlarmMsg += "돌발발생(" + String(FIncidentCnt) + ") ";
  212. TsIncident->ImageIndex = 1;
  213. }
  214. else
  215. TsIncident->ImageIndex = 2;
  216. if (FRrCongestCnt > 0)
  217. {
  218. sAlarmMsg += "반복정체구간발생(" + String(FRrCongestCnt) + ") ";
  219. TsRrCongest->ImageIndex = 1;
  220. }
  221. else
  222. TsRrCongest->ImageIndex = 2;
  223. if (FMissLinkCnt > 0)
  224. {
  225. sAlarmMsg += "결측구간발생(" + String(FMissLinkCnt) + ") ";
  226. TsMissingLink->ImageIndex = 1;
  227. }
  228. else
  229. TsMissingLink->ImageIndex = 2;
  230. LblAlarm->Caption = sAlarmMsg;
  231. if ((FIncidentCnt+FRrCongestCnt+FMissLinkCnt) > 0)
  232. {
  233. LblAlarm->Visible = true;
  234. }
  235. else
  236. {
  237. LblAlarm->Visible = false;
  238. }
  239. }
  240. //---------------------------------------------------------------------------
  241. void __fastcall TITS00G0M::PgSystemPageChanging(TObject *Sender, TcxTabSheet *NewPage, bool &AllowChange)
  242. {
  243. GrpSystem->Caption = "▶ 시스템 운영 정보 - " + NewPage->Caption;
  244. }
  245. //---------------------------------------------------------------------------
  246. void __fastcall TITS00G0M::FormClose(TObject *Sender, TCloseAction &Action)
  247. {
  248. try {
  249. CommClose();
  250. ITS00G0M = NULL;
  251. Action = caFree;
  252. g_AppCfg.bAppClose = true;
  253. //FrmMain->Close();
  254. //Application->Terminate();
  255. } catch(...) {}
  256. }
  257. //---------------------------------------------------------------------------
  258. /*
  259. * 메인폼에서 데이터를 수신시 발생하는 이벤트 핸들러
  260. * arguments
  261. *
  262. * return
  263. * void
  264. */
  265. void __fastcall TITS00G0M::OnMainFormMessage(TMessage &Msg)
  266. {
  267. switch(Msg.WParam)
  268. {
  269. case WP_DB_SELECT_OK:
  270. switch(Msg.LParam)
  271. {
  272. case LP_MSG_01: ITSUtil_Trace("LP_MSG_01"); UpdateTrafficMissLinkInfo(); break;
  273. case LP_MSG_02: ITSUtil_Trace("LP_MSG_02"); /*서비스링크소통정보*/ break;
  274. case LP_MSG_03: ITSUtil_Trace("LP_MSG_03"); /*도로소통정보*/ break;
  275. case LP_MSG_04: ITSUtil_Trace("LP_MSG_04"); UpdateTrafficRrCongestInfo(); break;
  276. case LP_MSG_05: ITSUtil_Trace("LP_MSG_05"); UpdateUtisStatusInfo(); break;
  277. case LP_MSG_11: ITSUtil_Trace("LP_MSG_11"); UpdateFacilityStatusInfo(); break;
  278. case LP_MSG_12: ITSUtil_Trace("LP_MSG_12"); UpdateProcessStatusInfo(); break;
  279. case LP_MSG_13: ITSUtil_Trace("LP_MSG_13"); UpdateIncidentInfo(); break;
  280. case LP_MSG_14: ITSUtil_Trace("LP_MSG_14"); UpdateFacilityInfo(); break;
  281. }
  282. break;
  283. case WP_MSG_01: //소통등급이 변경되었다.
  284. if (ITS00GEO) ITS00GEO->SetGisTrafficColor();
  285. break;
  286. case WP_MSG_02: //돌발정보를 현단말에서 취소/등록/해제 하였다.
  287. UpdateIncidentInfo();
  288. break;
  289. case WP_MSG_03: //시설물 기본정보가 변경됨
  290. FRAMEFacilityStatusList1->UpdateList();
  291. break;
  292. case WP_DB_SELECT_ERROR:
  293. case WP_DB_SELECT_CANCEL:
  294. break;
  295. }
  296. }
  297. //---------------------------------------------------------------------------
  298. void __fastcall TITS00G0M::UpdateTrafficMissLinkInfo()
  299. {
  300. FMissLinkCnt = 0;
  301. FRAMETrafficMissLinkList1->UpdateList();
  302. UpdateAlarmStatus();
  303. }
  304. //---------------------------------------------------------------------------
  305. void __fastcall TITS00G0M::UpdateTrafficRrCongestInfo()
  306. {
  307. FRrCongestCnt = 0;
  308. FRAMERepeatCongestList1->UpdateList();
  309. UpdateAlarmStatus();
  310. }
  311. //---------------------------------------------------------------------------
  312. void __fastcall TITS00G0M::UpdateIncidentInfo()
  313. {
  314. FIncidentCnt = 0;
  315. FRAMEIncidentList1->UpdateList();
  316. UpdateAlarmStatus();
  317. if (ITS00GEO) ITS00GEO->UpdateIncidentStatus();
  318. }
  319. //---------------------------------------------------------------------------
  320. void __fastcall TITS00G0M::UpdateFacilityStatusInfo()
  321. {
  322. FRAMEFacilityStatusList1->RefreshList();
  323. if (ITS00GEO) ITS00GEO->UpdateFacilityStatus();
  324. }
  325. //---------------------------------------------------------------------------
  326. void __fastcall TITS00G0M::UpdateProcessStatusInfo()
  327. {
  328. FRAMEProcessStatusList1->RefreshList();
  329. }
  330. //---------------------------------------------------------------------------
  331. void __fastcall TITS00G0M::UpdateUtisStatusInfo()
  332. {
  333. FRAMEUtisStatusList1->RefreshList();
  334. }
  335. //---------------------------------------------------------------------------
  336. void __fastcall TITS00G0M::UpdateFacilityInfo()
  337. {
  338. FRAMEFacilityStatusList1->UpdateList();
  339. }
  340. //---------------------------------------------------------------------------
  341. void __fastcall TITS00G0M::FRAMEIncidentList1TvListCellDblClick(TcxCustomGridTableView *Sender, TcxGridTableDataCellViewInfo *ACellViewInfo,
  342. TMouseButton AButton, TShiftState AShift, bool &AHandled)
  343. {
  344. //돌발 클릭
  345. if (!ACellViewInfo) return;
  346. try {
  347. TcxDataController *pGDC = FRAMEIncidentList1->TvList->DataController;
  348. int nRow = pGDC->FocusedRecordIndex;
  349. if (nRow < 0) return;
  350. String sId = VarToStr(pGDC->Values[nRow][FRAMEIncidentList1->Column01->Index]);
  351. String sDx = VarToStr(pGDC->Values[nRow][FRAMEIncidentList1->Column07->Index]);
  352. String sDy = VarToStr(pGDC->Values[nRow][FRAMEIncidentList1->Column08->Index]);
  353. if (ITS00GEO) ITS00GEO->SelectObjectByPos(StrToFloat(sDx), StrToFloat(sDy), true);
  354. } catch(...) {}
  355. }
  356. //---------------------------------------------------------------------------
  357. void __fastcall TITS00G0M::FRAMERepeatCongestList1TvListCellDblClick(TcxCustomGridTableView *Sender, TcxGridTableDataCellViewInfo *ACellViewInfo,
  358. TMouseButton AButton, TShiftState AShift, bool &AHandled)
  359. {
  360. //반복정체구간 클릭
  361. if (!ACellViewInfo) return;
  362. try {
  363. TcxDataController *pGDC = FRAMERepeatCongestList1->TvList->DataController;
  364. int nRow = pGDC->FocusedRecordIndex;
  365. if (nRow < 0) return;
  366. String sSvcLinkId = VarToStr(pGDC->Values[nRow][FRAMERepeatCongestList1->Column01->Index]);
  367. if (ITS00GEO) ITS00GEO->SelectLinkById(2, sSvcLinkId, true);
  368. } catch(...) {}
  369. }
  370. //---------------------------------------------------------------------------
  371. void __fastcall TITS00G0M::FRAMETrafficMissLinkList1TvListCellDblClick(TcxCustomGridTableView *Sender, TcxGridTableDataCellViewInfo *ACellViewInfo,
  372. TMouseButton AButton, TShiftState AShift, bool &AHandled)
  373. {
  374. //소통정보 결측구간 클릭
  375. if (!ACellViewInfo) return;
  376. try {
  377. TcxDataController *pGDC = FRAMETrafficMissLinkList1->TvList->DataController;
  378. int nRow = pGDC->FocusedRecordIndex;
  379. if (nRow < 0) return;
  380. String sLinkId = VarToStr(pGDC->Values[nRow][FRAMETrafficMissLinkList1->Column02->Index]);
  381. if (ITS00GEO) ITS00GEO->SelectLinkById(1, sLinkId, true);
  382. } catch(...) {}
  383. }
  384. //---------------------------------------------------------------------------
  385. void __fastcall TITS00G0M::FRAMEFacilityStatusList1TvListCellDblClick(TcxCustomGridTableView *Sender, TcxGridTableDataCellViewInfo *ACellViewInfo,
  386. TMouseButton AButton, TShiftState AShift, bool &AHandled)
  387. {
  388. //시설물 위치이동
  389. if (!ACellViewInfo) return;
  390. try {
  391. TcxDataController *pGDC = FRAMEFacilityStatusList1->TvList->DataController;
  392. int nRow = pGDC->FocusedRecordIndex;
  393. if (nRow < 0) return;
  394. String sType = VarToStr(pGDC->Values[nRow][FRAMEFacilityStatusList1->Column01->Index]);
  395. FSelId = VarToStr(pGDC->Values[nRow][FRAMEFacilityStatusList1->Column02->Index]);
  396. MoveGisFacility(sType, FSelId);
  397. } catch(...) {}
  398. }
  399. //---------------------------------------------------------------------------
  400. void __fastcall TITS00G0M::MoveGisFacility(String AType, String AId)
  401. {
  402. if (AType == "CCTV")
  403. {
  404. TItsCctv *pObj = ItsFacilityManager->FCctvLists.Find(AId);
  405. if (pObj) if (ITS00GEO) ITS00GEO->SelectObjectByPos(pObj->X_CRDN.ToDouble(), pObj->Y_CRDN.ToDouble(), true);
  406. }
  407. else
  408. if (AType == "VMS")
  409. {
  410. TItsVms *pObj = ItsFacilityManager->FVmsLists.Find(AId);
  411. if (pObj) if (ITS00GEO) ITS00GEO->SelectObjectByPos(pObj->X_CRDN.ToDouble(), pObj->Y_CRDN.ToDouble(), true);
  412. }
  413. else
  414. if (AType == "RSE")
  415. {
  416. TItsRse *pObj = ItsFacilityManager->FRseLists.Find(AId);
  417. if (pObj) if (ITS00GEO) ITS00GEO->SelectObjectByPos(pObj->COORDX.ToDouble(), pObj->COORDY.ToDouble(), true);
  418. }
  419. }
  420. //---------------------------------------------------------------------------
  421. void __fastcall TITS00G0M::FRAMEFacilityStatusList1TvListCellClick(TcxCustomGridTableView *Sender, TcxGridTableDataCellViewInfo *ACellViewInfo,
  422. TMouseButton AButton, TShiftState AShift, bool &AHandled)
  423. {
  424. if (AButton != mbRight) return;
  425. if (!ACellViewInfo) return;
  426. try {
  427. TcxDataController *pGDC = FRAMEFacilityStatusList1->TvList->DataController;
  428. int nRow = pGDC->FocusedRecordIndex;
  429. if (nRow < 0) return;
  430. String sType = VarToStr(pGDC->Values[nRow][FRAMEFacilityStatusList1->Column01->Index]);
  431. FSelId = VarToStr(pGDC->Values[nRow][FRAMEFacilityStatusList1->Column02->Index]);
  432. POINT p;
  433. GetCursorPos(&p);
  434. if (sType == "CCTV") pmuCctv->Popup(p.x, p.y);
  435. else
  436. if (sType == "VMS") pmuVms->Popup(p.x, p.y);
  437. else
  438. if (sType == "RSE") pmuRse->Popup(p.x, p.y);
  439. } catch(...) {}
  440. }
  441. //---------------------------------------------------------------------------
  442. void __fastcall TITS00G0M::pmuFacilityPopup(TObject *Sender)
  443. {
  444. TPopupMenu *pMenu = (TPopupMenu*)Sender;
  445. if (pMenu->Tag == 0)
  446. {
  447. MnuCctvId->Caption = "[CCTV] " + FSelId;
  448. }
  449. else
  450. if (pMenu->Tag == 1)
  451. {
  452. MnuVmsId->Caption = "[VMS] " + FSelId;
  453. }
  454. else
  455. if (pMenu->Tag == 2)
  456. {
  457. MnuRseId->Caption = "[RSE] " + FSelId;
  458. }
  459. }
  460. //---------------------------------------------------------------------------
  461. void __fastcall TITS00G0M::mnuFacilityMoveClick(TObject *Sender)
  462. {
  463. TMenuItem *pMenu = (TMenuItem*)Sender;
  464. Application->ProcessMessages();
  465. if (pMenu->Tag == 0)
  466. {
  467. MoveGisFacility("CCTV", FSelId);
  468. }
  469. else
  470. if (pMenu->Tag == 1)
  471. {
  472. MoveGisFacility("VMS", FSelId);
  473. }
  474. else
  475. if (pMenu->Tag == 2)
  476. {
  477. MoveGisFacility("RSE", FSelId);
  478. }
  479. }
  480. //---------------------------------------------------------------------------
  481. void __fastcall TITS00G0M::mnuFacilityPingClick(TObject *Sender)
  482. {
  483. if (ITS00GEO)
  484. {
  485. ITS00GEO->FSelId = FSelId;
  486. ITS00GEO->mnuFacilityPingClick(Sender);
  487. }
  488. }
  489. //---------------------------------------------------------------------------
  490. void __fastcall TITS00G0M::mnuStopImageClick(TObject *Sender)
  491. {
  492. if (ITS00GEO)
  493. {
  494. ITS00GEO->FSelId = FSelId;
  495. ITS00GEO->mnuStopImageClick(Sender);
  496. }
  497. }
  498. //---------------------------------------------------------------------------
  499. void __fastcall TITS00G0M::mnuCctvCamClick(TObject *Sender)
  500. {
  501. if (ITS00GEO)
  502. {
  503. ITS00GEO->FSelId = FSelId;
  504. ITS00GEO->mnuCctvCamClick(Sender);
  505. }
  506. }
  507. //---------------------------------------------------------------------------
  508. void __fastcall TITS00G0M::mnuVmsMsgClick(TObject *Sender)
  509. {
  510. if (ITS00GEO)
  511. {
  512. ITS00GEO->FSelId = FSelId;
  513. ITS00GEO->mnuVmsMsgClick(Sender);
  514. }
  515. }
  516. //---------------------------------------------------------------------------
  517. void __fastcall TITS00G0M::mnuVmsCamClick(TObject *Sender)
  518. {
  519. if (ITS00GEO)
  520. {
  521. ITS00GEO->FSelId = FSelId;
  522. ITS00GEO->mnuVmsCamClick(Sender);
  523. }
  524. }
  525. //---------------------------------------------------------------------------