123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212 |
- //---------------------------------------------------------------------------
- #include <vcl.h>
- #include "ITSSkinF.h"
- #include "ITSUtilF.h"
- #include "WindowMsgF.h"
- #include "CDSFacilityF.h"
- #include "CDSIncidentF.h"
- #include "FrmMainF.h"
- #include "CommFlashF.h"
- #pragma hdrstop
- #include "ITS0000MF.h"
- //---------------------------------------------------------------------------
- #pragma package(smart_init)
- #pragma link "FRAME_FacilityStatusListF"
- #pragma link "FRAME_ProcessStatusListF"
- #pragma link "FRAME_IncidentListF"
- #pragma link "FRAME_RepeatCongestListF"
- #pragma link "FRAME_TrafficMissLinkListF"
- #pragma link "FRAME_IncidentAutoListF"
- #pragma link "FRAME_BlackBoxEventListF"
- #pragma link "FRAME_UtisStatusListF"
- #pragma link "FRAME_VilgFrcsListF"
- #pragma link "FRAME_VilgShprListF"
- #pragma link "FRAME_AtmpPltnListF"
- #pragma link "cxClasses"
- #pragma link "cxContainer"
- #pragma link "cxControls"
- #pragma link "cxCustomData"
- #pragma link "cxData"
- #pragma link "cxDataStorage"
- #pragma link "cxEdit"
- #pragma link "cxFilter"
- #pragma link "cxGraphics"
- #pragma link "cxGrid"
- #pragma link "cxGridCustomTableView"
- #pragma link "cxGridCustomView"
- #pragma link "cxGridLevel"
- #pragma link "cxGridTableView"
- #pragma link "cxGroupBox"
- #pragma link "cxLabel"
- #pragma link "cxLookAndFeelPainters"
- #pragma link "cxLookAndFeels"
- #pragma link "cxPC"
- #pragma link "cxPCdxBarPopupMenu"
- #pragma link "cxSplitter"
- #pragma link "cxStyles"
- #pragma link "dxSkinBlack"
- #pragma link "dxSkinBlue"
- #pragma link "dxSkinsCore"
- #pragma link "dxSkinscxPCPainter"
- #pragma resource "*.dfm"
- TITS0000M *ITS0000M = NULL;
- //---------------------------------------------------------------------------
- __fastcall TITS0000M::TITS0000M(TComponent* Owner)
- : TForm(Owner)
- {
- ITSSkin_Load(this);
- LoadLocalSkin();
- CMM_LoadForm(g_sFormsDir, this);
- PgSystem->Properties->ActivePage = TsIncident;
- GrpSystem->Caption = "▶ 시스템 운영 정보 - " + TsIncident->Caption;
- FRAMEFacilityStatusList1->PnlBottom->Visible = false;
- //FrmMain->dxStatusBar->Panels->Items[isbGisPos]->Visible = true;
- //ITS00MAP = new TITS00MAP(PnlMapBack, (TForm*)this);
- //시스템자동돌발
- FRAMEIncidentAutoList1->Visible = false;
- TsIncidentAuto->TabVisible = false;
- TsIncidentAuto->Visible = false;
- }
- //---------------------------------------------------------------------------
- /*
- * 닫기버튼 이나 x버튼 클릭시 공통으로 처리하는 로직이들어간다..
- * Form과 DataModule class를 delete시킨다.
- * arguments
- *
- * return
- * void
- */
- void __fastcall TITS0000M::CommClose()
- {
- try
- {
- if (FrmMain->dxStatusBar->Panels->Items[isbGisPos]->Visible)
- FrmMain->dxStatusBar->Panels->Items[isbGisPos]->Visible = false;
- if (ITS00MAP)
- {
- delete ITS00MAP;
- ITS00MAP = NULL;
- }
- CMM_SaveForm(g_sFormsDir, this);
- }
- catch(...)
- {
- }
- }
- //---------------------------------------------------------------------------
- /*
- * Form이 메모리에서 생성될때 호출되는 생성자 이벤트 핸들러
- * arguments
- * Sender : event handler 객체
- * return
- * void
- */
- void __fastcall TITS0000M::FormCreate(TObject *Sender)
- {
- if (ITS00MAP)
- {
- ITS00MAP->Parent = PnlMapBack;
- ITS00MAP->Show();
- }
- }
- //---------------------------------------------------------------------------
- /*
- * Form을 보여줄때 호출되는 event 메서드이다.
- * arguments
- * Sender : event handler 객체
- * return
- * void
- */
- void __fastcall TITS0000M::FormShow(TObject *Sender)
- {
- Refresh();
- Application->ProcessMessages();
- TmrShow->Enabled = true;
- }
- //---------------------------------------------------------------------------
- /*
- * Form의 Skin 초기화 작업을 수행한다.
- * arguments
- * void
- * return
- * void
- */
- void __fastcall TITS0000M::LoadLocalSkin()
- {
- #define MAX_VIEW 12
- TcxGridTableView *pView[MAX_VIEW];
- TcxGrid *pGrid[MAX_VIEW];
- for (int ii = 0; ii < MAX_VIEW; ii++)
- {
- pGrid[ii] = NULL;
- pView[ii] = NULL;
- }
- pGrid[ 0] = FRAMEProcessStatusList1->CxList; //프로세스상태
- pGrid[ 1] = FRAMEFacilityStatusList1->CxList; //시설물상태
- #if 0
- pGrid[ 2] = NULL;
- pGrid[ 3] = NULL;
- #else
- pGrid[ 2] = FRAMEUtisStatusList1->CxUtisRun; //UTIS현황-운영현황
- pGrid[ 3] = FRAMEUtisStatusList1->CxUtisRse; //UTIS현황-RSE상태현황
- #endif
- pGrid[ 4] = FRAMEIncidentList1->CxList; //돌발
- pGrid[ 5] = FRAMERepeatCongestList1->CxList; //반복정체구간
- pGrid[ 6] = FRAMETrafficMissLinkList1->CxList; //소통정보결측구간
- pGrid[ 7] = FRAMEIncidentAutoList1->CxList2; //소통정보결측구간
- pGrid[ 8] = FRAMEBlackBoxEventList1->CxList; //블랙박스이벤트리스트
- pGrid[ 9] = FRAMEVilgFrcsList1->CxList; //기상정보리스트
- pGrid[10] = FRAMEVilgShprList1->CxList; //기상정보리스트(초단기예보)
- pGrid[11] = FRAMEAtmpPltnList1->CxList; //환경정보(대기오염)
- pView[ 0] = FRAMEProcessStatusList1->TvList;
- pView[ 1] = FRAMEFacilityStatusList1->TvList;
- #if 0
- pView[ 2] = NULL;
- pView[ 3] = NULL;
- #else
- pView[ 2] = FRAMEUtisStatusList1->TvUtisRun;
- pView[ 3] = FRAMEUtisStatusList1->TvUtisRse;
- #endif
- pView[ 4] = FRAMEIncidentList1->TvList;
- pView[ 5] = FRAMERepeatCongestList1->TvList;
- pView[ 6] = FRAMETrafficMissLinkList1->TvList;
- pView[ 7] = FRAMEIncidentAutoList1->TvList2;
- pView[ 8] = FRAMEBlackBoxEventList1->TvList;
- pView[ 9] = FRAMEVilgFrcsList1->TvList;
- pView[10] = FRAMEVilgShprList1->TvList;
- pView[11] = (TcxGridTableView*)FRAMEAtmpPltnList1->TvList;
- for (int ii = 0; ii < MAX_VIEW; ii++)
- {
- if (!pView[ii]) continue;
- //pGrid[ii]->LookAndFeel->SkinName = "McSkin";
- pView[ii]->Styles->Inactive = NULL;
- pView[ii]->Styles->ContentOdd = NULL;
- pView[ii]->Styles->ContentEven= NULL;
- pView[ii]->Styles->Selection = NULL;
- pView[ii]->OptionsSelection->CellSelect = false;
- }
- }
- //---------------------------------------------------------------------------
- /*
- * Form이 Show되고 난 후 최초 1회 수행되는 타이머 이벤트
- * arguments
- * Sender : event handler 객체
- * return
- * void
- */
- void __fastcall TITS0000M::TmrShowTimer(TObject *Sender)
- {
- TmrShow->Enabled = false;
- // 리스트 항목을 초기화한다.
- InitListData();
- }
- //---------------------------------------------------------------------------
- void __fastcall TITS0000M::InitListData()
- {
- FIncidentCnt = 0;
- FRrCongestCnt = 0;
- FMissLinkCnt = 0;
- FRAMEFacilityStatusList1->UpdateList();
- UpdateFacilityStatusTotal();
- FRAMEProcessStatusList1->UpdateList();
- if (GrpBottomUtis->Visible)
- {
- FRAMEUtisStatusList1->UpdateList();
- }
- FRAMEIncidentList1->UpdateList();
- FRAMERepeatCongestList1->UpdateList();
- FRAMETrafficMissLinkList1->UpdateList();
- FRAMEIncidentAutoList1->UpdateList();
- FRAMEBlackBoxEventList1->UpdateList();
- FRAMEVilgFrcsList1->UpdateList();
- FRAMEVilgShprList1->UpdateList();
- FRAMEAtmpPltnList1->UpdateList();
- UpdateAlarmStatus();
- }
- //---------------------------------------------------------------------------
- void __fastcall TITS0000M::UpdateAlarmStatus()
- {
- String sAlarmMsg = "";
- FIncidentCnt = FRAMEIncidentList1->TvList->DataController->RecordCount;
- FRrCongestCnt = FRAMERepeatCongestList1->TvList->DataController->RecordCount;
- FMissLinkCnt = FRAMETrafficMissLinkList1->TvList->DataController->RecordCount;
- FIncidentAutoCnt = FRAMEIncidentAutoList1->TvList2->DataController->RecordCount;
- FBlackBoxEventCnt = FRAMEBlackBoxEventList1->TvList->DataController->RecordCount;
- FVilgFrcsCnt1 = FRAMEVilgFrcsList1->GetAlarmCount1();
- FVilgFrcsCnt2 = FRAMEVilgFrcsList1->GetAlarmCount2();
- FVilgFrcsCnt3 = FRAMEVilgShprList1->GetAlarmCount();
- FAtmpPlntCnt = FRAMEAtmpPltnList1->GetAlarmCount();
- if (TsIncidentAuto->TabVisible == false)
- FIncidentAutoCnt = 0;
- if (FIncidentCnt > 0)
- {
- sAlarmMsg += "돌발상황(" + String(FIncidentCnt) + ") ";
- TsIncident->ImageIndex = 1;
- }
- else
- TsIncident->ImageIndex = 2;
- if (FRrCongestCnt > 0)
- {
- sAlarmMsg += "반복정체구간(" + String(FRrCongestCnt) + ") ";
- TsRrCongest->ImageIndex = 1;
- }
- else
- TsRrCongest->ImageIndex = 2;
- if (FMissLinkCnt > 0)
- {
- sAlarmMsg += "결측구간(" + String(FMissLinkCnt) + ") ";
- TsMissingLink->ImageIndex = 1;
- }
- else
- TsMissingLink->ImageIndex = 2;
- if (FIncidentAutoCnt > 0)
- {
- sAlarmMsg += "자동돌발(" + String(FIncidentAutoCnt) + ") ";
- TsIncidentAuto->ImageIndex = 1;
- }
- else
- TsIncidentAuto->ImageIndex = 2;
- if (FBlackBoxEventCnt > 0)
- {
- sAlarmMsg += "블랙박스(" + String(FBlackBoxEventCnt) + ") ";
- TsBlackBoxEvent->ImageIndex = 1;
- }
- else
- TsBlackBoxEvent->ImageIndex = 2;
- if ((FVilgFrcsCnt1 + FVilgFrcsCnt2) > 0)
- {
- //sAlarmMsg += "기상악화(" + String(FVilgFrcsCnt1+FVilgFrcsCnt2) + ") ";
- sAlarmMsg += "기상(동네예보) ";
- TsVilgFrcs->ImageIndex = 1;
- }
- else
- TsVilgFrcs->ImageIndex = 2;
- if ((FVilgFrcsCnt3) > 0)
- {
- //sAlarmMsg += "기상악화(" + String(FVilgFrcsCnt3) + ") ";
- sAlarmMsg += "기상(초단기예보) ";
- TsVilgShpr->ImageIndex = 1;
- }
- else
- TsVilgShpr->ImageIndex = 2;
- if ((FAtmpPlntCnt) > 0)
- {
- //sAlarmMsg += "환경정보(대기오염)(" + String(FAtmpPlntCnt) + ") ";
- sAlarmMsg += "환경정보(대기오염) ";
- TsAtmpPltn->ImageIndex = 1;
- }
- else
- TsAtmpPltn->ImageIndex = 2;
- LblAlarm->Caption = sAlarmMsg;
- if ((FIncidentCnt+FRrCongestCnt+FMissLinkCnt+FIncidentAutoCnt+FBlackBoxEventCnt+FVilgFrcsCnt1+FVilgFrcsCnt2+FVilgFrcsCnt3+FAtmpPlntCnt) > 0)
- {
- LblAlarm->Visible = true;
- }
- else
- {
- LblAlarm->Visible = false;
- }
- }
- //---------------------------------------------------------------------------
- void __fastcall TITS0000M::PgSystemPageChanging(TObject *Sender, TcxTabSheet *NewPage, bool &AllowChange)
- {
- GrpSystem->Caption = "▶ 시스템 운영 정보 - " + NewPage->Caption;
- }
- //---------------------------------------------------------------------------
- void __fastcall TITS0000M::FormClose(TObject *Sender, TCloseAction &Action)
- {
- try {
- CommClose();
- ITS0000M = NULL;
- Action = caFree;
- } catch(...) {}
- }
- //---------------------------------------------------------------------------
- /*
- * 메인폼에서 데이터를 수신시 발생하는 이벤트 핸들러
- * arguments
- *
- * return
- * void
- */
- void __fastcall TITS0000M::OnMainFormMessage(TMessage &Msg)
- {
- switch(Msg.WParam)
- {
- case WP_DB_SELECT_OK:
- switch(Msg.LParam)
- {
- case LP_MSG_16: if (g_AppCfg.bDebug) ITSUtil_Trace("LP_MSG_16"); UpdateBlackBoxEventInfo(); break;
- case LP_MSG_17: if (g_AppCfg.bDebug) ITSUtil_Trace("LP_MSG_17"); UpdateVilgFrcsInfo(); break;
- case LP_MSG_01: if (g_AppCfg.bDebug) ITSUtil_Trace("LP_MSG_01"); UpdateTrafficMissLinkInfo(); break;
- case LP_MSG_02: if (g_AppCfg.bDebug) ITSUtil_Trace("LP_MSG_02"); /*서비스링크소통정보*/ break;
- case LP_MSG_03: if (g_AppCfg.bDebug) ITSUtil_Trace("LP_MSG_03"); /*도로소통정보*/ break;
- case LP_MSG_04: if (g_AppCfg.bDebug) ITSUtil_Trace("LP_MSG_04"); UpdateTrafficRrCongestInfo(); break;
- case LP_MSG_05: if (g_AppCfg.bDebug) ITSUtil_Trace("LP_MSG_05"); UpdateUtisStatusInfo(); break;
- case LP_MSG_11: if (g_AppCfg.bDebug) ITSUtil_Trace("LP_MSG_11"); UpdateFacilityStatusInfo(); break;
- case LP_MSG_12: if (g_AppCfg.bDebug) ITSUtil_Trace("LP_MSG_12"); UpdateProcessStatusInfo(); break;
- case LP_MSG_13: if (g_AppCfg.bDebug) ITSUtil_Trace("LP_MSG_13"); UpdateIncidentInfo(); break;
- case LP_MSG_14: if (g_AppCfg.bDebug) ITSUtil_Trace("LP_MSG_14"); UpdateFacilityInfo(); break;
- case LP_MSG_09: if (g_AppCfg.bDebug) ITSUtil_Trace("LP_MSG_09"); FRAMEProcessStatusList1->UpdateList(); break;
- #if 0
- case LP_MSG_10: //가공서버에서 소통정보 가공완료하였음.
- // GIS 소통정보 업데이트
- if (ITS00MAP) ITS00MAP->RefreshMapTraffic();
- break;
- #endif
- case LP_MSG_00: //가공서버에서 소통정보 가공완료하였음.
- // GIS 소통정보 업데이트
- if (ITS00MAP) ITS00MAP->RefreshMapTraffic();
- break;
- }
- break;
- case WP_MSG_01: //소통등급이 변경되었다.
- if (ITS00MAP) ITS00MAP->SetGisTrafficColor();
- break;
- case WP_MSG_02: //돌발정보를 현단말에서 취소/등록/해제 하였다.
- UpdateIncidentInfo();
- break;
- case WP_MSG_03: //시설물 기본정보가 변경됨
- UpdateFacilityInfo();
- //FRAMEFacilityStatusList1->UpdateList();
- break;
- case WP_DB_SELECT_ERROR:
- case WP_DB_SELECT_CANCEL:
- break;
- case WP_MSG_15:
- if (LP_MSG_15 == Msg.LParam)
- {
- if (ITS00MAP) ITS00MAP->RefreshGisLink();
- }
- break;
- }
- }
- //---------------------------------------------------------------------------
- void __fastcall TITS0000M::UpdateTrafficMissLinkInfo()
- {
- FMissLinkCnt = 0;
- FRAMETrafficMissLinkList1->UpdateList();
- FRAMEIncidentAutoList1->UpdateList();
- UpdateAlarmStatus();
- }
- //---------------------------------------------------------------------------
- void __fastcall TITS0000M::UpdateTrafficRrCongestInfo()
- {
- FRrCongestCnt = 0;
- FRAMERepeatCongestList1->UpdateList();
- UpdateAlarmStatus();
- }
- //---------------------------------------------------------------------------
- void __fastcall TITS0000M::UpdateIncidentInfo()
- {
- FIncidentCnt = 0;
- FRAMEIncidentList1->UpdateList();
- FRAMEIncidentAutoList1->UpdateList();
- UpdateAlarmStatus();
- if (ITS00MAP) ITS00MAP->UpdateIncidentStatus();
- }
- //---------------------------------------------------------------------------
- void __fastcall TITS0000M::UpdateFacilityStatusInfo()
- {
- //FRAMEFacilityStatusList1->UpdateList();
- FRAMEFacilityStatusList1->RefreshList();
- UpdateFacilityStatusTotal();
- UpdateAlarmStatus();
- if (ITS00MAP) ITS00MAP->UpdateFacilityStatus();
- }
- //---------------------------------------------------------------------------
- void __fastcall TITS0000M::UpdateProcessStatusInfo()
- {
- FRAMEProcessStatusList1->RefreshList();
- UpdateAlarmStatus();
- }
- //---------------------------------------------------------------------------
- void __fastcall TITS0000M::UpdateUtisStatusInfo()
- {
- if (GrpBottomUtis->Visible)
- {
- FRAMEUtisStatusList1->RefreshList();
- }
- }
- //---------------------------------------------------------------------------
- void __fastcall TITS0000M::UpdateFacilityInfo()
- {
- FRAMEFacilityStatusList1->UpdateList();
- UpdateFacilityStatusTotal();
- UpdateAlarmStatus();
- if (ITS00MAP) ITS00MAP->UpdateFacilityStatus(); //지도 시설물 재로딩
- }
- //---------------------------------------------------------------------------
- void __fastcall TITS0000M::UpdateBlackBoxEventInfo()
- {
- FBlackBoxEventCnt = 0;
- FRAMEBlackBoxEventList1->UpdateList();
- UpdateAlarmStatus();
- }
- //---------------------------------------------------------------------------
- void __fastcall TITS0000M::UpdateVilgFrcsInfo()
- {
- FVilgFrcsCnt1 = 0;
- FVilgFrcsCnt2 = 0;
- FVilgFrcsCnt3 = 0;
- FAtmpPlntCnt = 0;
- FRAMEVilgFrcsList1->RefreshList();
- FRAMEVilgShprList1->RefreshList();
- FRAMEAtmpPltnList1->RefreshList();
- UpdateAlarmStatus();
- }
- //---------------------------------------------------------------------------
- void __fastcall TITS0000M::FRAMEIncidentList1TvListCellDblClick(TcxCustomGridTableView *Sender, TcxGridTableDataCellViewInfo *ACellViewInfo,
- TMouseButton AButton, TShiftState AShift, bool &AHandled)
- {
- //돌발 클릭
- if (!ACellViewInfo) return;
- try {
- TcxDataController *pGDC = FRAMEIncidentList1->TvList->DataController;
- int nRow = pGDC->FocusedRecordIndex;
- if (nRow < 0) return;
- String sId = VarToStr(pGDC->Values[nRow][FRAMEIncidentList1->Column01->Index]);
- String sDx = VarToStr(pGDC->Values[nRow][FRAMEIncidentList1->Column07->Index]);
- String sDy = VarToStr(pGDC->Values[nRow][FRAMEIncidentList1->Column08->Index]);
- if (ITS00MAP) ITS00MAP->SelectObjectByPos(StrToFloat(sDx), StrToFloat(sDy), true);
- } catch(...) {}
- }
- //---------------------------------------------------------------------------
- void __fastcall TITS0000M::FRAMERepeatCongestList1TvListCellDblClick(TcxCustomGridTableView *Sender, TcxGridTableDataCellViewInfo *ACellViewInfo,
- TMouseButton AButton, TShiftState AShift, bool &AHandled)
- {
- //반복정체구간 클릭
- if (!ACellViewInfo) return;
- try {
- TcxDataController *pGDC = FRAMERepeatCongestList1->TvList->DataController;
- int nRow = pGDC->FocusedRecordIndex;
- if (nRow < 0) return;
- String sSvcLinkId = VarToStr(pGDC->Values[nRow][FRAMERepeatCongestList1->Column01->Index]);
- if (ITS00MAP) ITS00MAP->SelectLinkById(2, sSvcLinkId, true);
- } catch(...) {}
- }
- //---------------------------------------------------------------------------
- void __fastcall TITS0000M::FRAMETrafficMissLinkList1TvListCellDblClick(TcxCustomGridTableView *Sender, TcxGridTableDataCellViewInfo *ACellViewInfo,
- TMouseButton AButton, TShiftState AShift, bool &AHandled)
- {
- //소통정보 결측구간 클릭
- if (!ACellViewInfo) return;
- try {
- TcxDataController *pGDC = FRAMETrafficMissLinkList1->TvList->DataController;
- int nRow = pGDC->FocusedRecordIndex;
- if (nRow < 0) return;
- String sLinkId = VarToStr(pGDC->Values[nRow][FRAMETrafficMissLinkList1->Column02->Index]);
- if (ITS00MAP) ITS00MAP->SelectLinkById(1, sLinkId, true);
- } catch(...) {}
- }
- //---------------------------------------------------------------------------
- void __fastcall TITS0000M::FRAMEFacilityStatusList1TvListCellDblClick(TcxCustomGridTableView *Sender, TcxGridTableDataCellViewInfo *ACellViewInfo,
- TMouseButton AButton, TShiftState AShift, bool &AHandled)
- {
- //시설물 위치이동
- if (!ACellViewInfo) return;
- try {
- TcxDataController *pGDC = FRAMEFacilityStatusList1->TvList->DataController;
- int nRow = pGDC->FocusedRecordIndex;
- if (nRow < 0) return;
- String sType = VarToStr(pGDC->Values[nRow][FRAMEFacilityStatusList1->Column01->Index]);
- FSelId = VarToStr(pGDC->Values[nRow][FRAMEFacilityStatusList1->Column02->Index]);
- MoveGisFacility(sType, FSelId);
- } catch(...) {}
- }
- //---------------------------------------------------------------------------
- void __fastcall TITS0000M::MoveGisFacility(String AType, String AId)
- {
- if (AType == FAC_CCTV)
- {
- TItsCctv *pObj = ItsFacilityManager->FCctvLists.Find(AId);
- if (pObj) if (ITS00MAP) ITS00MAP->SelectObjectByPos(StrToFloatDef(pObj->X_CRDN, 0), StrToFloatDef(pObj->Y_CRDN, 0), true);
- }
- else
- if (AType == FAC_VMS)
- {
- TItsVms *pObj = ItsFacilityManager->FVmsLists.Find(AId);
- if (pObj) if (ITS00MAP) ITS00MAP->SelectObjectByPos(StrToFloatDef(pObj->X_CRDN, 0), StrToFloatDef(pObj->Y_CRDN, 0), true);
- }
- else
- if (AType == FAC_RSE)
- {
- TItsRse *pObj = ItsFacilityManager->FRseLists.Find(AId);
- if (pObj) if (ITS00MAP) ITS00MAP->SelectObjectByPos(StrToFloatDef(pObj->COORDX, 0), StrToFloatDef(pObj->COORDY, 0), true);
- }
- else
- if (AType == FAC_WCAM)
- {
- TItsWebCam *pObj = ItsFacilityManager->FWebCamLists.Find(AId);
- if (pObj) if (ITS00MAP) ITS00MAP->SelectObjectByPos(StrToFloatDef(pObj->X_CRDN, 0), StrToFloatDef(pObj->Y_CRDN, 0), true);
- }
- else
- if (AType == FAC_VDS)
- {
- TItsVds *pObj = ItsFacilityManager->FVdsLists.Find(AId);
- if (pObj) if (ITS00MAP) ITS00MAP->SelectObjectByPos(StrToFloatDef(pObj->X_CRDN, 0), StrToFloatDef(pObj->Y_CRDN, 0), true);
- }
- else
- if (AType == FAC_AVI)
- {
- TItsAvi *pObj = ItsFacilityManager->FAviLists.Find(AId);
- if (pObj) if (ITS00MAP) ITS00MAP->SelectObjectByPos(StrToFloatDef(pObj->X_CRDN, 0), StrToFloatDef(pObj->Y_CRDN, 0), true);
- }
- else
- if (AType == FAC_DSRC)
- {
- TItsDsrc *pObj = ItsFacilityManager->FDsrcLists.Find(AId);
- if (pObj) if (ITS00MAP) ITS00MAP->SelectObjectByPos(StrToFloatDef(pObj->LCTN_X, 0), StrToFloatDef(pObj->LCTN_Y, 0), true);
- }
- else
- if (AType == FAC_BIT)
- {
- TItsBit *pObj = ItsFacilityManager->FBitLists.Find(AId);
- if (pObj) if (ITS00MAP) ITS00MAP->SelectObjectByPos(StrToFloatDef(pObj->X_CRDN, 0), StrToFloatDef(pObj->Y_CRDN, 0), true);
- }
- else
- if (AType == FAC_SIG)
- {
- TItsSig *pObj = ItsFacilityManager->FSigLists.Find(AId);
- if (pObj) if (ITS00MAP) ITS00MAP->SelectObjectByPos(StrToFloatDef(pObj->X_CRDN, 0), StrToFloatDef(pObj->Y_CRDN, 0), true);
- }
- else
- if (AType == FAC_SIGDET)
- {
- TItsSigDet *pObj = ItsFacilityManager->FSigDetLists.Find(AId);
- if (pObj) if (ITS00MAP) ITS00MAP->SelectObjectByPos(StrToFloatDef(pObj->X_CRDN, 0), StrToFloatDef(pObj->Y_CRDN, 0), true);
- }
- else
- if (AType == FAC_PVMS)
- {
- TItsPis *pObj = ItsFacilityManager->FPisLists.Find(AId);
- if (pObj) if (ITS00MAP) ITS00MAP->SelectObjectByPos(StrToFloatDef(pObj->X_CRDN, 0), StrToFloatDef(pObj->Y_CRDN, 0), true);
- }
- else
- if (AType == FAC_PVDS)
- {
- TItsPcs *pObj = ItsFacilityManager->FPcsLists.Find(AId);
- if (pObj) if (ITS00MAP) ITS00MAP->SelectObjectByPos(StrToFloatDef(pObj->X_CRDN, 0), StrToFloatDef(pObj->Y_CRDN, 0), true);
- }
- else
- if (AType == FAC_PARK)
- {
- TItsParking *pObj = ItsFacilityManager->FParkLists.Find(AId);
- if (pObj) if (ITS00MAP) ITS00MAP->SelectObjectByPos(StrToFloatDef(pObj->X_CRDN, 0), StrToFloatDef(pObj->Y_CRDN, 0), true);
- }
- else
- if (AType == FAC_EVENT)
- {
- TItsEvent *pObj = ItsEventManager->FLists.Find(AId);
- if (pObj) if (ITS00MAP) ITS00MAP->SelectObjectByPos(StrToFloatDef(pObj->X_CRDN, 0), StrToFloatDef(pObj->Y_CRDN, 0), true);
- }
- else
- if (AType == FAC_WTHR)
- {
- TItsVilgFrcs *pObj = ItsVilgFrcsManager->FLists.Find(AId);
- if (pObj) if (ITS00MAP) ITS00MAP->SelectObjectByPos(StrToFloatDef(pObj->X_CRDN, 0), StrToFloatDef(pObj->Y_CRDN, 0), true);
- }
- else
- if (AType == FAC_ATMP)
- {
- TItsAtmpPltn *pObj = ItsVilgFrcsManager->FAtmpLists.Find(AId);
- if (pObj) if (ITS00MAP) ITS00MAP->SelectObjectByPos(StrToFloatDef(pObj->X_CRDN, 0), StrToFloatDef(pObj->Y_CRDN, 0), true);
- }
- }
- //---------------------------------------------------------------------------
- void __fastcall TITS0000M::FRAMEFacilityStatusList1TvListCellClick(TcxCustomGridTableView *Sender, TcxGridTableDataCellViewInfo *ACellViewInfo,
- TMouseButton AButton, TShiftState AShift, bool &AHandled)
- {
- if (AButton != mbRight) return;
- if (!ACellViewInfo) return;
- try {
- TcxDataController *pGDC = FRAMEFacilityStatusList1->TvList->DataController;
- int nRow = pGDC->FocusedRecordIndex;
- if (nRow < 0) return;
- String sType = VarToStr(pGDC->Values[nRow][FRAMEFacilityStatusList1->Column01->Index]);
- FSelId = VarToStr(pGDC->Values[nRow][FRAMEFacilityStatusList1->Column02->Index]);
- POINT p;
- GetCursorPos(&p);
- if (sType == FAC_CCTV) pmuCctv->Popup(p.x, p.y);
- else if (sType == FAC_VMS) pmuVms->Popup(p.x, p.y);
- else if (sType == FAC_RSE) pmuRse->Popup(p.x, p.y);
- else if (sType == FAC_WCAM) pmuWebCam->Popup(p.x, p.y);
- else if (sType == FAC_VDS) pmuVds->Popup(p.x, p.y);
- else if (sType == FAC_AVI) pmuAvi->Popup(p.x, p.y);
- else if (sType == FAC_DSRC) pmuDsrc->Popup(p.x, p.y);
- else if (sType == FAC_BIT) pmuBit->Popup(p.x, p.y);
- else if (sType == FAC_SIG) pmuSig->Popup(p.x, p.y);
- else if (sType == FAC_SIGDET) pmuSigDet->Popup(p.x, p.y);
- else if (sType == FAC_PARK) pmuPark->Popup(p.x, p.y);
- else if (sType == FAC_PVMS) pmuPis->Popup(p.x, p.y);
- else if (sType == FAC_PVDS) pmuPis->Popup(p.x, p.y);
- } catch(...) {}
- }
- //---------------------------------------------------------------------------
- void __fastcall TITS0000M::pmuFacilityPopup(TObject *Sender)
- {
- String sLoc = " ";
- TPopupMenu *pMenu = (TPopupMenu*)Sender;
- if (pMenu->Tag == 0)
- {
- TItsCctv *pObj = ItsFacilityManager->FCctvLists.Find(FSelId);
- if (pObj) sLoc = TCommFlash::ReplaceName(pObj->ISTL_LCTN_NM);
- //MnuCctvId->Caption = "[CCTV] " + FSelId + " " + sLoc;
- MnuCctvId->Caption = "[CCTV] " + sLoc;
- mnuCctvCam->Enabled = false;
- if (pObj)
- {
- if (pObj->STRM_SESN_NM.Trim() != "")
- {
- mnuCctvCam->Enabled = true;
- }
- }
- }
- else
- if (pMenu->Tag == 1)
- {
- TItsVms *pObj = ItsFacilityManager->FVmsLists.Find(FSelId);
- if (pObj) sLoc = TCommFlash::ReplaceName(pObj->VMS_NM);
- //MnuVmsId->Caption = "[VMS] " + FSelId + " " + sLoc;
- MnuVmsId->Caption = "[VMS] " + sLoc;
- mnuVmsCam->Enabled = false;
- if (pObj)
- {
- if (pObj->STRM_SESN_NM.Trim() != "")
- {
- mnuVmsCam->Enabled = true;
- }
- }
- }
- else
- if (pMenu->Tag == 2)
- {
- TItsRse *pObj = ItsFacilityManager->FRseLists.Find(FSelId);
- if (pObj) sLoc = TCommFlash::ReplaceName(pObj->LOCATION);
- //MnuRseId->Caption = "[RSE] " + FSelId + " " + sLoc;
- MnuRseId->Caption = "[RSE] " + sLoc;
- }
- else
- if (pMenu->Tag == 3)
- {
- TItsWebCam *pObj = ItsFacilityManager->FWebCamLists.Find(FSelId);
- if (pObj) sLoc = TCommFlash::ReplaceName(pObj->ISTL_LCTN_NM);
- //MnuWebCamId->Caption = "[웹카메라] " + FSelId + " " + sLoc;
- MnuWebCamId->Caption = "[웹카메라] " + sLoc;
- }
- else
- if (pMenu->Tag == 4)
- {
- TItsVds *pObj = ItsFacilityManager->FVdsLists.Find(FSelId);
- if (pObj) sLoc = TCommFlash::ReplaceName(pObj->LCTN);
- //MnuVdsId->Caption = "[VDS] " + FSelId + " " + sLoc;
- MnuVdsId->Caption = "[VDS] " + sLoc;
- }
- else
- if (pMenu->Tag == 5)
- {
- TItsAvi *pObj = ItsFacilityManager->FAviLists.Find(FSelId);
- if (pObj) sLoc = TCommFlash::ReplaceName(pObj->AVI_LCTN_NM);
- //MnuAviId->Caption = "[AVI] " + FSelId + " " + sLoc;
- MnuAviId->Caption = "[AVI] " + sLoc;
- }
- else
- if (pMenu->Tag == 6)
- {
- TItsDsrc *pObj = ItsFacilityManager->FDsrcLists.Find(FSelId);
- if (pObj) sLoc = TCommFlash::ReplaceName(pObj->ISTL_LCTN_NM);
- //MnuDsrcId->Caption = "[DSRC] " + FSelId + " " + sLoc;
- MnuDsrcId->Caption = "[DSRC] " + sLoc;
- }
- else
- if (pMenu->Tag == 7)
- {
- TItsBit *pObj = ItsFacilityManager->FBitLists.Find(FSelId);
- if (pObj) sLoc = TCommFlash::ReplaceName(pObj->FCLT_LCTN);
- MnuBitId->Caption = "[BIT] " + sLoc;
- }
- else
- if (pMenu->Tag == 8)
- {
- TItsSig *pObj = ItsFacilityManager->FSigLists.Find(FSelId);
- if (pObj) sLoc = TCommFlash::ReplaceName(pObj->FCLT_LCTN);
- MnuSigId->Caption = "[SIG] " + sLoc;
- }
- else
- if (pMenu->Tag == 9)
- {
- TItsSigDet *pObj = ItsFacilityManager->FSigDetLists.Find(FSelId);
- if (pObj) sLoc = TCommFlash::ReplaceName(pObj->FCLT_LCTN);
- MnuSigDetId->Caption = "[LVD] " + sLoc;
- }
- else
- if (pMenu->Tag == 10)
- {
- TItsPis *pObj = ItsFacilityManager->FPisLists.Find(FSelId);
- if (pObj) sLoc = TCommFlash::ReplaceName(pObj->FCLT_LCTN);
- MnuPisId->Caption = "[PIS] " + sLoc;
- }
- else
- if (pMenu->Tag == 11)
- {
- TItsPcs *pObj = ItsFacilityManager->FPcsLists.Find(FSelId);
- if (pObj) sLoc = TCommFlash::ReplaceName(pObj->FCLT_LCTN);
- MnuPcsId->Caption = "[PCS] " + sLoc;
- }
- else
- if (pMenu->Tag == 12)
- {
- TItsParking *pObj = ItsFacilityManager->FParkLists.Find(FSelId);
- if (pObj) sLoc = TCommFlash::ReplaceName(pObj->CTLR_MNGM_NM);
- //MnuParkId->Caption = "[PARK] " + FSelId + " " + sLoc;
- MnuParkId->Caption = "[PARK] " + sLoc;
- }
- else
- if (pMenu->Tag == 13)
- {
- TItsEvent *pObj = ItsEventManager->FLists.Find(FSelId);
- if (pObj)
- {
- sLoc = TCommFlash::ReplaceName(pObj->TRMN_ID);
- if (sLoc.Trim() == "")
- {
- sLoc = pObj->OPNC_NMBR;
- }
- }
- MenuEventId->Caption = " " + sLoc;
- }
- }
- //---------------------------------------------------------------------------
- void __fastcall TITS0000M::mnuFacilityMoveClick(TObject *Sender)
- {
- TMenuItem *pMenu = (TMenuItem*)Sender;
- Application->ProcessMessages();
- switch(pMenu->Tag)
- {
- case 0: MoveGisFacility(FAC_CCTV, FSelId); break;
- case 1: MoveGisFacility(FAC_VMS, FSelId); break;
- case 2: MoveGisFacility(FAC_RSE, FSelId); break;
- case 3: MoveGisFacility(FAC_WCAM, FSelId); break;
- case 4: MoveGisFacility(FAC_VDS, FSelId); break;
- case 5: MoveGisFacility(FAC_AVI, FSelId); break;
- case 6: MoveGisFacility(FAC_DSRC, FSelId); break;
- case 7: MoveGisFacility(FAC_BIT, FSelId); break;
- case 8: MoveGisFacility(FAC_SIG, FSelId); break;
- case 9: MoveGisFacility(FAC_SIGDET, FSelId); break;
- case 10: MoveGisFacility(FAC_PVMS, FSelId); break;
- case 11: MoveGisFacility(FAC_PVDS, FSelId); break;
- case 12: MoveGisFacility(FAC_PARK, FSelId); break;
- case 13: MoveGisFacility(FAC_EVENT, FSelId); break;
- case 14: MoveGisFacility(FAC_WTHR, FSelId); break;
- case 15: MoveGisFacility(FAC_ATMP, FSelId); break;
- }
- }
- //---------------------------------------------------------------------------
- void __fastcall TITS0000M::mnuFacilityPingClick(TObject *Sender)
- {
- if (ITS00MAP)
- {
- ITS00MAP->FSelId = FSelId;
- ITS00MAP->mnuFacilityPingClick(Sender);
- }
- }
- //---------------------------------------------------------------------------
- void __fastcall TITS0000M::mnuStopImageClick(TObject *Sender)
- {
- if (ITS00MAP)
- {
- ITS00MAP->FSelId = FSelId;
- ITS00MAP->mnuStopImageClick(Sender);
- }
- }
- //---------------------------------------------------------------------------
- void __fastcall TITS0000M::mnuCctvCamClick(TObject *Sender)
- {
- if (ITS00MAP)
- {
- ITS00MAP->FSelId = FSelId;
- ITS00MAP->mnuCctvCamClick(Sender);
- }
- }
- //---------------------------------------------------------------------------
- void __fastcall TITS0000M::mnuVmsMsgClick(TObject *Sender)
- {
- if (ITS00MAP)
- {
- ITS00MAP->FSelId = FSelId;
- ITS00MAP->mnuVmsMsgClick(Sender);
- }
- }
- //---------------------------------------------------------------------------
- void __fastcall TITS0000M::mnuVmsCamClick(TObject *Sender)
- {
- if (ITS00MAP)
- {
- ITS00MAP->FSelId = FSelId;
- ITS00MAP->mnuVmsCamClick(Sender);
- }
- }
- //---------------------------------------------------------------------------
- void __fastcall TITS0000M::MnuWebCamClick(TObject *Sender)
- {
- if (ITS00MAP)
- {
- ITS00MAP->FSelId = FSelId;
- ITS00MAP->MnuWebCamClick(Sender);
- }
- }
- //---------------------------------------------------------------------------
- void __fastcall TITS0000M::FRAMEIncidentAutoList1TvList2CellDblClick(TcxCustomGridTableView *Sender, TcxGridTableDataCellViewInfo *ACellViewInfo,
- TMouseButton AButton, TShiftState AShift, bool &AHandled)
- {
- //소통정보 결측구간 클릭
- if (!ACellViewInfo) return;
- try {
- TcxDataController *pGDC = FRAMEIncidentAutoList1->TvList2->DataController;
- int nRow = pGDC->FocusedRecordIndex;
- if (nRow < 0) return;
- String sLinkId = VarToStr(pGDC->Values[nRow][FRAMEIncidentAutoList1->ColumnA01->Index]);
- if (ITS00MAP) ITS00MAP->SelectLinkById(1, sLinkId, true);
- } catch(...) {}
- }
- //---------------------------------------------------------------------------
- void __fastcall TITS0000M::UpdateFacilityStatusTotal()
- {
- int nRow = 0;
- try
- {
- CMM_ClearGridTableView(TvStatus);
- TcxDataController *pGDC = TvStatus->DataController;
- TvStatus->BeginUpdate();
- ItsFacilityManager->FListStatus.Lock();
- try
- {
- FOR_STL(TFacilityStatus*, pStatus, ItsFacilityManager->FListStatus)
- {
- nRow = pGDC->AppendRecord();
- pGDC->Values[nRow][ColName->Index] = pStatus->Type;
- pGDC->Values[nRow][ColTotal->Index] = pStatus->Total;
- pGDC->Values[nRow][ColNormal->Index] = pStatus->Total - pStatus->Error;
- pGDC->Values[nRow][ColFail->Index] = pStatus->Error;
- if (pStatus->Type == "VDS" || pStatus->Type == "AVI" || pStatus->Type == "DSRC")
- pGDC->Values[nRow][ColModule->Index] = pStatus->Collect;//Module;
- else
- pGDC->Values[nRow][ColModule->Index] = "-";
- }
- }
- catch(Exception &exception)
- {
- }
- }
- __finally
- {
- ItsFacilityManager->FListStatus.UnLock();
- TvStatus->EndUpdate();
- }
- }
- //---------------------------------------------------------------------------
- void __fastcall TITS0000M::ColNameCustomDrawCell(TcxCustomGridTableView *Sender, TcxCanvas *ACanvas,
- TcxGridTableDataCellViewInfo *AViewInfo, bool &ADone)
- {
- // 장비명
- if (AViewInfo->GridRecord->RecordIndex < 0) return;
- ACanvas->Font->Style = TFontStyles() << fsBold;
- }
- //---------------------------------------------------------------------------
- void __fastcall TITS0000M::ColTotalCustomDrawCell(TcxCustomGridTableView *Sender,
- TcxCanvas *ACanvas, TcxGridTableDataCellViewInfo *AViewInfo,
- bool &ADone)
- {
- // 전체
- if (AViewInfo->GridRecord->RecordIndex < 0) return;
- ACanvas->Font->Style = TFontStyles() << fsBold;
- }
- //---------------------------------------------------------------------------
- void __fastcall TITS0000M::ColNormalCustomDrawCell(TcxCustomGridTableView *Sender,
- TcxCanvas *ACanvas, TcxGridTableDataCellViewInfo *AViewInfo,
- bool &ADone)
- {
- // 정상
- if (AViewInfo->GridRecord->RecordIndex < 0) return;
- ACanvas->Font->Style = TFontStyles() << fsBold;
- }
- //---------------------------------------------------------------------------
- void __fastcall TITS0000M::ColFailCustomDrawCell(TcxCustomGridTableView *Sender, TcxCanvas *ACanvas,
- TcxGridTableDataCellViewInfo *AViewInfo, bool &ADone)
- {
- // 이상
- if (AViewInfo->GridRecord->RecordIndex < 0) return;
- ACanvas->Font->Style = TFontStyles() << fsBold;
- if (!VarIsNull(AViewInfo->GridRecord->DisplayTexts[ColFail->Index]))
- {
- String sErr = AViewInfo->GridRecord->DisplayTexts[ColFail->Index];
- if (sErr != "0")
- {
- ACanvas->Font->Color = clRed;
- }
- }
- }
- //---------------------------------------------------------------------------
- void __fastcall TITS0000M::ColModuleCustomDrawCell(TcxCustomGridTableView *Sender,
- TcxCanvas *ACanvas, TcxGridTableDataCellViewInfo *AViewInfo,
- bool &ADone)
- {
- // 이상
- if (AViewInfo->GridRecord->RecordIndex < 0) return;
- ACanvas->Font->Style = TFontStyles() << fsBold;
- if (!VarIsNull(AViewInfo->GridRecord->DisplayTexts[ColModule->Index]))
- {
- String sErr = AViewInfo->GridRecord->DisplayTexts[ColModule->Index];
- if (sErr.Trim() == "-")
- return;
- if (sErr != "0")
- {
- ACanvas->Font->Color = clRed;
- }
- }
- }
- //---------------------------------------------------------------------------
- void __fastcall TITS0000M::mnuParkMsgClick(TObject *Sender)
- {
- if (ITS00MAP)
- {
- ITS00MAP->FSelId = FSelId;
- ITS00MAP->mnuParkMsgClick(Sender);
- }
- }
- //---------------------------------------------------------------------------
- void __fastcall TITS0000M::FRAMEBlackBoxEventListF1TvListCellDblClick(TcxCustomGridTableView *Sender,
- TcxGridTableDataCellViewInfo *ACellViewInfo, TMouseButton AButton,
- TShiftState AShift, bool &AHandled)
- {
- //블랙박스이벤트 클릭
- if (!ACellViewInfo) return;
- try {
- TcxDataController *pGDC = FRAMEBlackBoxEventList1->TvList->DataController;
- int nRow = pGDC->FocusedRecordIndex;
- if (nRow < 0) return;
- String sId = VarToStr(pGDC->Values[nRow][FRAMEBlackBoxEventList1->Col88->Index]);
- String sDx = VarToStr(pGDC->Values[nRow][FRAMEBlackBoxEventList1->Col09->Index]);
- String sDy = VarToStr(pGDC->Values[nRow][FRAMEBlackBoxEventList1->Col10->Index]);
- if (ITS00MAP) ITS00MAP->SelectObjectByPos(StrToFloat(sDx), StrToFloat(sDy), true);
- } catch(...) {}
- }
- //---------------------------------------------------------------------------
- void __fastcall TITS0000M::FRAMEBlackBoxEventList1TvListCellClick(TcxCustomGridTableView *Sender,
- TcxGridTableDataCellViewInfo *ACellViewInfo, TMouseButton AButton,
- TShiftState AShift, bool &AHandled)
- {
- if (AButton != mbRight) return;
- if (!ACellViewInfo) return;
- try {
- TcxDataController *pGDC = FRAMEBlackBoxEventList1->TvList->DataController;
- int nRow = pGDC->FocusedRecordIndex;
- if (nRow < 0) return;
- FSelId = VarToStr(pGDC->Values[nRow][FRAMEBlackBoxEventList1->Col88->Index]);
- POINT p;
- GetCursorPos(&p);
- pmuEvent->Popup(p.x, p.y);
- } catch(...) {}
- }
- //---------------------------------------------------------------------------
- void __fastcall TITS0000M::mnuViewEventCamClick(TObject *Sender)
- {
- if (ITS00MAP)
- {
- ITS00MAP->FSelId = FSelId;
- ITS00MAP->mnuViewEventCamClick(Sender);
- }
- }
- //---------------------------------------------------------------------------
- void __fastcall TITS0000M::FRAMEVilgFrcsList1TvListCellClick(TcxCustomGridTableView *Sender,
- TcxGridTableDataCellViewInfo *ACellViewInfo, TMouseButton AButton,
- TShiftState AShift, bool &AHandled)
- {
- if (AButton != mbRight) return;
- if (!ACellViewInfo) return;
- try {
- TcxDataController *pGDC = FRAMEVilgFrcsList1->TvList->DataController;
- int nRow = pGDC->FocusedRecordIndex;
- if (nRow < 0) return;
- FSelId = VarToStr(pGDC->Values[nRow][FRAMEVilgFrcsList1->Col00->Index]);
- POINT p;
- GetCursorPos(&p);
- //pmuEvent->Popup(p.x, p.y);
- } catch(...) {}
- }
- //---------------------------------------------------------------------------
- void __fastcall TITS0000M::FRAMEVilgFrcsList1TvListCellDblClick(TcxCustomGridTableView *Sender,
- TcxGridTableDataCellViewInfo *ACellViewInfo, TMouseButton AButton,
- TShiftState AShift, bool &AHandled)
- {
- if (!ACellViewInfo) return;
- try {
- TcxDataController *pGDC = FRAMEVilgFrcsList1->TvList->DataController;
- int nRow = pGDC->FocusedRecordIndex;
- if (nRow < 0) return;
- String sId = VarToStr(pGDC->Values[nRow][FRAMEVilgFrcsList1->Col00->Index]);
- String sDx = VarToStr(pGDC->Values[nRow][FRAMEVilgFrcsList1->Col20->Index]);
- String sDy = VarToStr(pGDC->Values[nRow][FRAMEVilgFrcsList1->Col21->Index]);
- if (ITS00MAP) ITS00MAP->SelectObjectByPos(StrToFloat(sDx), StrToFloat(sDy), true);
- } catch(...) {}
- }
- //---------------------------------------------------------------------------
- void __fastcall TITS0000M::FRAMEVilgShprList1TvListCellClick(TcxCustomGridTableView *Sender,
- TcxGridTableDataCellViewInfo *ACellViewInfo, TMouseButton AButton,
- TShiftState AShift, bool &AHandled)
- {
- if (AButton != mbRight) return;
- if (!ACellViewInfo) return;
- try {
- TcxDataController *pGDC = FRAMEVilgShprList1->TvList->DataController;
- int nRow = pGDC->FocusedRecordIndex;
- if (nRow < 0) return;
- FSelId = VarToStr(pGDC->Values[nRow][FRAMEVilgShprList1->Col00->Index]);
- POINT p;
- GetCursorPos(&p);
- //pmuEvent->Popup(p.x, p.y);
- } catch(...) {}
- }
- //---------------------------------------------------------------------------
- void __fastcall TITS0000M::FRAMEVilgShprList1TvListCellDblClick(TcxCustomGridTableView *Sender,
- TcxGridTableDataCellViewInfo *ACellViewInfo, TMouseButton AButton,
- TShiftState AShift, bool &AHandled)
- {
- if (!ACellViewInfo) return;
- try {
- TcxDataController *pGDC = FRAMEVilgShprList1->TvList->DataController;
- int nRow = pGDC->FocusedRecordIndex;
- if (nRow < 0) return;
- String sId = VarToStr(pGDC->Values[nRow][FRAMEVilgShprList1->Col00->Index]);
- String sDx = VarToStr(pGDC->Values[nRow][FRAMEVilgShprList1->Col20->Index]);
- String sDy = VarToStr(pGDC->Values[nRow][FRAMEVilgShprList1->Col21->Index]);
- if (ITS00MAP) ITS00MAP->SelectObjectByPos(StrToFloat(sDx), StrToFloat(sDy), true);
- } catch(...) {}
- }
- //---------------------------------------------------------------------------
- void __fastcall TITS0000M::FRAMEAtmpPltnList1TvListCellDblClick(TcxCustomGridTableView *Sender,
- TcxGridTableDataCellViewInfo *ACellViewInfo, TMouseButton AButton,
- TShiftState AShift, bool &AHandled)
- {
- if (!ACellViewInfo) return;
- try {
- TcxDataController *pGDC = FRAMEAtmpPltnList1->TvList->DataController;
- int nRow = pGDC->FocusedRecordIndex;
- if (nRow < 0) return;
- String sId = VarToStr(pGDC->Values[nRow][FRAMEAtmpPltnList1->Col00->Index]);
- String sDx = VarToStr(pGDC->Values[nRow][FRAMEAtmpPltnList1->Col30->Index]);
- String sDy = VarToStr(pGDC->Values[nRow][FRAMEAtmpPltnList1->Col31->Index]);
- if (ITS00MAP) ITS00MAP->SelectObjectByPos(StrToFloat(sDx), StrToFloat(sDy), true);
- } catch(...) {}
- }
- //---------------------------------------------------------------------------
|