1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151 |
- //---------------------------------------------------------------------------
- #include <vcl.h>
- #include "ITSSkinF.h"
- #include "ITSUtilF.h"
- #include "CDSTrafficGradeF.h"
- #include "CDSFacilityF.h"
- #include "CDSIncidentF.h"
- #include "CDSTrafficF.h"
- #include "CDSParkingF.h"
- #pragma hdrstop
- #include "ITS00MAPF.h"
- #include "ITS0000MF.h"
- #include "FrmCctvImgF.h"
- #include "FrmVmsMsgF.h"
- #include "FrmLinkInfoF.h"
- #include "FrmGisSearchF.h"
- #include "FrmMainF.h"
- #include "CommFlashF.h"
- #include "FrmStreamPlayerF.h"
- #include "FrmParkMsgF.h"
- //#include "BDS0000MF.h"
- //---------------------------------------------------------------------------
- #pragma package(smart_init)
- #pragma link "ShockwaveEx"
- #pragma link "ShockwaveFlashObjects_TLB"
- #pragma link "cxCheckBox"
- #pragma link "cxContainer"
- #pragma link "cxControls"
- #pragma link "cxEdit"
- #pragma link "cxGraphics"
- #pragma link "cxGroupBox"
- #pragma link "cxLabel"
- #pragma link "cxLookAndFeelPainters"
- #pragma link "cxLookAndFeels"
- #pragma link "cxMaskEdit"
- #pragma link "cxProgressBar"
- #pragma link "cxSpinEdit"
- #pragma link "cxTextEdit"
- #pragma link "dxGDIPlusClasses"
- #pragma link "dxSkinBlack"
- #pragma link "dxSkinBlue"
- #pragma link "dxSkinsCore"
- #pragma resource "*.dfm"
- //---------------------------------------------------------------------------
- TITS00MAP *ITS00MAP = NULL;
- String g_sTrafficSql[MAX_LAYERS] = {
- "0************************************************************************\r\n",
- "1************************************************************************\r\n",
- "SELECT A.ROAD_ID AS LINKID, NVL(B.SPED, 0) AS SPEED, \r\n"
- " NVL(B.PRCN_DT, '19000101000000') AS REGDATE, \r\n"
- " NVL(B.DATA_NUM, 0) AS DATACNT, \r\n"
- " NVL(B.TRVL_HH, 0) AS TRVTM \r\n"
- " FROM TB_ROAD A, \r\n"
- " (SELECT * \r\n"
- " FROM TB_ROAD_TRAF \r\n"
- " WHERE PRCN_DT > TO_CHAR(SYSDATE - 5 / 1440, 'YYYYMMDDHH24MISS') \r\n"
- " ) B \r\n"
- " WHERE A.ROAD_ID = B.ROAD_ID(+) \r\n",
- "SELECT A.IFSC_ID AS LINKID, NVL(B.SPED, 0) AS SPEED, \r\n"
- " NVL(B.PRCN_DT, '19000101000000') AS REGDATE, \r\n"
- " NVL(B.DATA_NUM, 0) AS DATACNT, \r\n"
- " NVL(B.TRVL_HH, 0) AS TRVTM \r\n"
- " FROM TB_IFSC A, \r\n"
- " (SELECT * \r\n"
- " FROM TB_IFSC_TRAF \r\n"
- " WHERE PRCN_DT > TO_CHAR(SYSDATE - 5 / 1440, 'YYYYMMDDHH24MISS') \r\n"
- " ) B \r\n"
- " WHERE A.IFSC_ID = B.IFSC_ID(+) \r\n",
- "4************************************************************************\r\n",
- "SELECT A.LINK_ID AS LINKID, NVL(B.SPED, 0) AS SPEED, \r\n"
- " NVL(B.PRCN_DT, '19000101000000') AS REGDATE, \r\n"
- " NVL(B.DATA_NUM, 0) AS DATACNT, \r\n"
- " NVL(B.TRVL_HH, 0) AS TRVTM \r\n"
- " FROM TB_LINK A, \r\n"
- " (SELECT * \r\n"
- " FROM TB_LINK_TRAF \r\n"
- " WHERE PRCN_DT > TO_CHAR(SYSDATE - 5 / 1440, 'YYYYMMDDHH24MISS') \r\n"
- " ) B \r\n"
- " WHERE A.LINK_ID = B.LINK_ID(+) \r\n",
- "6************************************************************************\r\n",
- };
- //---------------------------------------------------------------------------
- __fastcall TITS00MAP::TITS00MAP(TComponent* Owner, TForm *ParentForm)
- : TForm(Owner)
- {
- ::CoInitialize(NULL);
- ITSSkin_Load(this);
- LoadLocalSkin();
- ShockwaveFlash1->Align = alClient;
- panRemark->Visible = false;
-
- m_nMapLevel = 1;
-
- //마우스 제어 플래그 초기화
- m_bMouseDown = false;
- m_bMoveCenter = false;
- m_bCalcMode = false;
- m_bCalcCont = false;
- m_ptDown.x = m_ptDown.y = 0;
- MapInit = false;
- MapStart = false;
- ModeSelect = false;
- LoadConfig();
- //LoadMap();
- }
- //---------------------------------------------------------------------------
- /*
- * 환경설정정보 로딩
- *
- * arguments
- *
- * return
- * void
- */
- void __fastcall TITS00MAP::LoadConfig()
- {
- #if 0
- TIniFile *pIniFile = NULL;
- String sIniFile = ChangeFileExt(ExtractFileName(Application->ExeName), ".ini");
- String sCfgFile = ExtractFilePath(Application->ExeName) + "\\cfg\\" + sIniFile;
- try
- {
- try
- {
- pIniFile = new TIniFile(sCfgFile);
- // 표출이미지 로딩
- //LoadImageFile(pIniFile->ReadString("IMAGE", "CENTER", ""), ImgOffice);
- LoadImageFile(pIniFile->ReadString("IMAGE", "RSE_N", ""), ImgRseN);
- LoadImageFile(pIniFile->ReadString("IMAGE", "RSE_C", ""), ImgRseC);
- LoadImageFile(pIniFile->ReadString("IMAGE", "CCTV_N", ""), ImgCctvN);
- LoadImageFile(pIniFile->ReadString("IMAGE", "CCTV_C", ""), ImgCctvC);
- LoadImageFile(pIniFile->ReadString("IMAGE", "CCTV_M", ""), ImgCctvM);
- LoadImageFile(pIniFile->ReadString("IMAGE", "VMS_N", ""), ImgVmsN);
- LoadImageFile(pIniFile->ReadString("IMAGE", "VMS_C", ""), ImgVmsC);
- LoadImageFile(pIniFile->ReadString("IMAGE", "VMS_M", ""), ImgVmsM);
- LoadImageFile(pIniFile->ReadString("IMAGE", "INC_01", ""), ImgInc01);
- LoadImageFile(pIniFile->ReadString("IMAGE", "INC_02", ""), ImgInc02);
- LoadImageFile(pIniFile->ReadString("IMAGE", "INC_03", ""), ImgInc03);
- LoadImageFile(pIniFile->ReadString("IMAGE", "INC_04", ""), ImgInc04);
- }
- __finally
- {
- if (pIniFile) delete pIniFile;
- pIniFile = NULL;
- }
- }
- catch(...)
- {
- }
- #endif
- }
- //---------------------------------------------------------------------------
- void __fastcall TITS00MAP::LoadImageFile(String sImgFile, TImage *pImage)
- {
- if (sImgFile.Trim() == "") return;
- try
- {
- ImgTemp->Picture->Assign(NULL);
- ImgTemp->Picture->LoadFromFile(sImgFile);
- pImage->Picture->Assign(pImage->Picture);
- ImgTemp->Picture->Assign(NULL);
- }
- catch(...)
- {
- }
- }
- //---------------------------------------------------------------------------
- void __fastcall TITS00MAP::LoadMap()
- {
- try {
- ShockwaveFlash1->Stop();
- String sFileName = g_AppCfg.flashmap.sMainMap;
- ShockwaveFlash1->Movie = sFileName;
- ShockwaveFlash1->Play();
- MapInit = true;
- } catch(...) {}
- }
- //---------------------------------------------------------------------------
- /*
- * 메인화면 FormDestroy시 호출되는 Method
- * Form의 자원이 해제 되기 이전에 반드시 이 Method가 호출된다.
- * 그러므로 최종적으로 자원을 해제 하고자 한다면 이곳에서 처리하는게 확실함.
- * parameter
- * Sender : Event를 보낸 객체
- * return
- * None
- */
- void __fastcall TITS00MAP::FormDestroy(TObject *Sender)
- {
- try
- {
- }
- catch (...)
- {
- }
- ::CoUninitialize();
- }
- //---------------------------------------------------------------------------
- /*
- * form을 보여줄때 호출되는 event 메서드이다.
- * arguments
- * Sender : event handler 객체
- * return
- * void
- */
- void __fastcall TITS00MAP::FormShow(TObject *Sender)
- {
- Refresh();
- FormInit();
- Application->ProcessMessages();
- TmrShow->Enabled = true;
- }
- //---------------------------------------------------------------------------
- /*
- * 닫기버튼 이나 x버튼 클릭시 공통으로 처리하는 로직이들어간다..
- * Form과 DataModule class를 delete시킨다.
- * arguments
- *
- * return
- * void
- */
- void __fastcall TITS00MAP::CommClose()
- {
- //ITS00MAP = NULL;
- //::CoUninitialize();
- }
- //---------------------------------------------------------------------------
- /*
- * Form의 초기화 작업을 수행한다.
- * arguments
- * void
- * return
- * void
- */
- bool __fastcall TITS00MAP::FormInit()
- {
- memset((char*)&m_PrevExt, 0x00, sizeof(m_PrevExt));
- memset((char*)&m_ExtQ, 0x00, sizeof(m_ExtQ));
- m_ExtQ.bExtent = true;
- m_ExtQ.userIdx = 0;
- m_ExtQ.currIdx = 0;
- return true;
- }
- //---------------------------------------------------------------------------
- /*
- * Form의 Skin 초기화 작업을 수행한다.
- * arguments
- * void
- * return
- * void
- */
- void __fastcall TITS00MAP::LoadLocalSkin()
- {
- #if 0
- GroupBox1->Color = FrmMain->Ribbon->ColorScheme->GetPartColor(rfspRibbonForm);
- GroupBox2->Color = FrmMain->Ribbon->ColorScheme->GetPartColor(rfspRibbonForm);
- GrpFacility->Color = FrmMain->Ribbon->ColorScheme->GetPartColor(rfspRibbonForm);
- GrpPos->Color = FrmMain->Ribbon->ColorScheme->GetPartColor(rfspRibbonForm);
- #endif
- //PnlMenu->ParentColor = false;
- //PnlMenu->Color = 0x00FF9D62;
- PnlTrf00->ParentColor = false;
- PnlTrf00->Color = clSilver;
- PnlTrf01->ParentColor = false;
- PnlTrf01->Color = clLime;
- PnlTrf02->ParentColor = false;
- PnlTrf02->Color = clYellow;
- PnlTrf03->ParentColor = false;
- PnlTrf03->Color = clRed;
- /*
- * GIS Command button skin
- */
- TImage *pImgZoomIn_n;
- TImage *pImgZoomIn_c;
- TImage *pImgCenter_n;
- TImage *pImgCenter_c;
- TImage *pImgPrev_c;
- TImage *pImgPrev_n;
- TImage *pImgSel_n;
- TImage *pImgSel_c;
- TImage *pImgDist_n;
- TImage *pImgCircle_c;
- TImage *pImgCircle_n;
- TImage *pImgDist_c;
- TImage *pImgStnd_n;
- TImage *pImgSave_c;
- TImage *pImgSave_n;
- TImage *pImgStnd_c;
- TImage *pImgZoomOut_n;
- TImage *pImgZoomOut_c;
- TImage *pImgPan_c;
- TImage *pImgPan_n;
- TImage *pImgNext_n;
- TImage *pImgNext_c;
- TImage *pImgBoundary_c;
- TImage *pImgBoundary_n;
- TImage *pImgSquare_n;
- TImage *pImgSquare_c;
- TImage *pImgFull_c;
- TImage *pImgFull_n;
- TImage *pImgRefresh_n;
- TImage *pImgRefresh_c;
- TImage *pImgPrint_c;
- TImage *pImgPrint_n;
- int nSkin = 1;
- switch (nSkin)
- {
- case 10:
- pImgZoomIn_n = ImgZoomIn_c;
- pImgZoomIn_c = ImgZoomIn_n;
- pImgZoomOut_n = ImgZoomOut_c;
- pImgZoomOut_c = ImgZoomOut_n;
- pImgCenter_n = ImgCenter_c;
- pImgCenter_c = ImgCenter_n;
- pImgPan_c = ImgPan_n;
- pImgPan_n = ImgPan_c;
- pImgPrev_c = ImgPrev_n;
- pImgPrev_n = ImgPrev_c;
- pImgNext_n = ImgNext_c;
- pImgNext_c = ImgNext_n;
- pImgBoundary_c = ImgBoundary_n;
- pImgBoundary_n = ImgBoundary_c;
- pImgSel_n = ImgSel_c;
- pImgSel_c = ImgSel_n;
- pImgDist_n = ImgDist_c;
- pImgDist_c = ImgDist_n;
- pImgSquare_n = ImgSquare_c;
- pImgSquare_c = ImgSquare_n;
- pImgCircle_c = ImgCircle_n;
- pImgCircle_n = ImgCircle_c;
- pImgFull_c = ImgFull_n;
- pImgFull_n = ImgFull_c;
- pImgStnd_n = ImgStnd_c;
- pImgStnd_c = ImgStnd_n;
- pImgRefresh_n = ImgRefresh_c;
- pImgRefresh_c = ImgRefresh_n;
- pImgPrint_c = ImgPrint_n;
- pImgPrint_n = ImgPrint_c;
- pImgSave_c = ImgSave_n;
- pImgSave_n = ImgSave_c;
- break;
- case 1: case 2: case 3: case 0:
- case 4: case 5: default:
- pImgZoomIn_n = ImgZoomIn_n;
- pImgZoomIn_c = ImgZoomIn_c;
- pImgZoomOut_n = ImgZoomOut_n;
- pImgZoomOut_c = ImgZoomOut_c;
- pImgCenter_n = ImgCenter_n;
- pImgCenter_c = ImgCenter_c;
- pImgPan_c = ImgPan_c;
- pImgPan_n = ImgPan_n;
- pImgPrev_c = ImgPrev_c;
- pImgPrev_n = ImgPrev_n;
- pImgNext_n = ImgNext_n;
- pImgNext_c = ImgNext_c;
- pImgBoundary_c = ImgBoundary_c;
- pImgBoundary_n = ImgBoundary_n;
- pImgSel_n = ImgSel_n;
- pImgSel_c = ImgSel_c;
- pImgDist_n = ImgDist_n;
- pImgDist_c = ImgDist_c;
- pImgSquare_n = ImgSquare_n;
- pImgSquare_c = ImgSquare_c;
- pImgCircle_c = ImgCircle_c;
- pImgCircle_n = ImgCircle_n;
- pImgFull_c = ImgFull_c;
- pImgFull_n = ImgFull_n;
- pImgStnd_n = ImgStnd_n;
- pImgStnd_c = ImgStnd_c;
- pImgRefresh_n = ImgRefresh_n;
- pImgRefresh_c = ImgRefresh_c;
- pImgPrint_c = ImgPrint_c;
- pImgPrint_n = ImgPrint_n;
- pImgSave_c = ImgSave_c;
- pImgSave_n = ImgSave_n;
- break;
- }
- try
- {
- ImgZoomIn->NormalPicture->Assign(pImgZoomIn_n->Picture);
- ImgZoomIn->Picture->Assign(pImgZoomIn_n->Picture);
- ImgZoomIn->TogglePicture->Assign(pImgZoomIn_c->Picture);
- ImgZoomIn->ClickedPicture->Assign(pImgZoomIn_n->Picture);
- ImgZoomOut->NormalPicture->Assign(pImgZoomOut_n->Picture);
- ImgZoomOut->Picture->Assign(pImgZoomOut_n->Picture);
- ImgZoomOut->TogglePicture->Assign(pImgZoomOut_c->Picture);
- ImgZoomOut->ClickedPicture->Assign(pImgZoomOut_n->Picture);
- ImgCenter->NormalPicture->Assign(pImgCenter_n->Picture);
- ImgCenter->Picture->Assign(pImgCenter_n->Picture);
- ImgCenter->TogglePicture->Assign(pImgCenter_c->Picture);
- ImgCenter->ClickedPicture->Assign(pImgCenter_n->Picture);
- #if 0
- ImgPan->NormalPicture->Assign(pImgPan_n->Picture);
- ImgPan->Picture->Assign(pImgPan_n->Picture);
- ImgPan->TogglePicture->Assign(pImgPan_c->Picture);
- ImgPan->ClickedPicture->Assign(pImgPan_n->Picture);
- #else
- ImgPan->NormalPicture->Assign(pImgPan_c->Picture);
- ImgPan->Picture->Assign(pImgPan_c->Picture);
- ImgPan->TogglePicture->Assign(pImgPan_n->Picture);
- ImgPan->ClickedPicture->Assign(pImgPan_n->Picture);
- #endif
- ImgPrev->NormalPicture->Assign(pImgPrev_n->Picture);
- ImgPrev->Picture->Assign(pImgPrev_n->Picture);
- ImgPrev->TogglePicture->Assign(pImgPrev_c->Picture);
- ImgPrev->ClickedPicture->Assign(pImgPrev_n->Picture);
-
- ImgNext->NormalPicture->Assign(pImgNext_n->Picture);
- ImgNext->Picture->Assign(pImgNext_n->Picture);
- ImgNext->TogglePicture->Assign(pImgNext_c->Picture);
- ImgNext->ClickedPicture->Assign(pImgNext_n->Picture);
- ImgPrev->Cursor = crHandPoint;
- ImgNext->Cursor = crHandPoint;
- ImgBoundary->NormalPicture->Assign(pImgBoundary_n->Picture);
- ImgBoundary->Picture->Assign(pImgBoundary_n->Picture);
- ImgBoundary->TogglePicture->Assign(pImgBoundary_c->Picture);
- ImgBoundary->ClickedPicture->Assign(pImgBoundary_n->Picture);
- ImgSel->NormalPicture->Assign(pImgSel_n->Picture);
- ImgSel->Picture->Assign(pImgSel_n->Picture);
- ImgSel->TogglePicture->Assign(pImgSel_c->Picture);
- ImgSel->ClickedPicture->Assign(ImgSel_c->Picture);
- ImgDist->NormalPicture->Assign(pImgDist_n->Picture);
- ImgDist->Picture->Assign(pImgDist_n->Picture);
- ImgDist->TogglePicture->Assign(pImgDist_c->Picture);
- ImgDist->ClickedPicture->Assign(pImgDist_n->Picture);
- ImgSquare->NormalPicture->Assign(pImgSquare_n->Picture);
- ImgSquare->Picture->Assign(pImgSquare_n->Picture);
- ImgSquare->TogglePicture->Assign(pImgSquare_c->Picture);
- ImgSquare->ClickedPicture->Assign(pImgSquare_n->Picture);
- ImgCircle->NormalPicture->Assign(pImgCircle_n->Picture);
- ImgCircle->Picture->Assign(pImgCircle_n->Picture);
- ImgCircle->TogglePicture->Assign(pImgCircle_c->Picture);
- ImgCircle->ClickedPicture->Assign(pImgCircle_n->Picture);
- ImgFull->NormalPicture->Assign(pImgFull_n->Picture);
- ImgFull->Picture->Assign(pImgFull_n->Picture);
- ImgFull->TogglePicture->Assign(pImgFull_c->Picture);
- ImgFull->ClickedPicture->Assign(pImgFull_n->Picture);
- ImgStnd->NormalPicture->Assign(pImgStnd_n->Picture);
- ImgStnd->Picture->Assign(pImgStnd_n->Picture);
- ImgStnd->TogglePicture->Assign(pImgStnd_c->Picture);
- ImgStnd->ClickedPicture->Assign(pImgStnd_n->Picture);
- ImgRefresh->NormalPicture->Assign(pImgRefresh_n->Picture);
- ImgRefresh->Picture->Assign(pImgRefresh_n->Picture);
- ImgRefresh->TogglePicture->Assign(pImgRefresh_c->Picture);
- ImgRefresh->ClickedPicture->Assign(pImgRefresh_n->Picture);
- ImgPrint->NormalPicture->Assign(pImgPrint_n->Picture);
- ImgPrint->Picture->Assign(pImgPrint_n->Picture);
- ImgPrint->TogglePicture->Assign(pImgPrint_c->Picture);
- ImgPrint->ClickedPicture->Assign(pImgPrint_n->Picture);
- ImgSave->NormalPicture->Assign(pImgSave_n->Picture);
- ImgSave->Picture->Assign(pImgSave_n->Picture);
- ImgSave->TogglePicture->Assign(pImgSave_c->Picture);
- ImgSave->ClickedPicture->Assign(pImgSave_n->Picture);
- }
- catch(...)
- {
- }
- }
- //---------------------------------------------------------------------------
- void __fastcall TITS00MAP::TmrShowTimer(TObject *Sender)
- {
- TmrShow->Enabled = false;
- Application->ProcessMessages();
- LoadGisMap();
- Application->ProcessMessages();
- //UpdateFacilityStatus();
- Application->ProcessMessages();
- //UpdateIncidentStatus();
- Application->ProcessMessages();
- //UpdateEventStatus();
- }
- //---------------------------------------------------------------------------
- /*
- * 지도데이터 로드 및 프로그램 초기화 작업 수행
- * arguments
- *
- * return
- *
- */
- void __fastcall TITS00MAP::LoadGisMap()
- {
- try
- {
- try
- {
- // 지도로딩 상태바 표출
- PnlProgress->Left = (this->Width - PnlProgress->Width) / 2;
- PnlProgress->Top = (this->Height - PnlProgress->Height) / 2;
- PnlProgress->Top -= 50;
- PnlProgress->Visible = true;
- PbLoadMap->Properties->Text = "지도 표출색상 정보 로딩 중...";
- Application->ProcessMessages();
- PbLoadMap->Position = 50;
- TUTISLinkGrade UtisLinkColor;
- GetGisTrafficColor(UtisLinkColor);
- PbLoadMap->Position = 100;
- PbLoadMap->Properties->Text = "지도 로딩 중...";
- Application->ProcessMessages();
- // start server
- LoadMap();
- pmuControlGisClick((TObject*)pmuMove); // 전자지도 마우스이벤트를 이동으로 설정
- }
- catch (...)
- {
- }
- }
- __finally
- {
- //PnlProgress->Visible = false;
- }
- }
- //---------------------------------------------------------------------------
- void __fastcall TITS00MAP::GetGisTrafficColor(TUTISLinkGrade &pUtisLinkColor)
- {
- //TJobTick job("GetGisTrafficColor");
- // 고속도로
- pUtisLinkColor.road101.GDLOW.SpdCOLOR = clRed;
- pUtisLinkColor.road101.GDLOW.MinSpeed = 0;
- pUtisLinkColor.road101.GDLOW.MaxSpeed = 30;
- pUtisLinkColor.road101.GDMID.SpdCOLOR = clYellow;
- pUtisLinkColor.road101.GDMID.MinSpeed = 31;
- pUtisLinkColor.road101.GDMID.MaxSpeed = 70;
- pUtisLinkColor.road101.GDHIG.SpdCOLOR = clLime;
- pUtisLinkColor.road101.GDHIG.MinSpeed = 71;
- pUtisLinkColor.road101.GDHIG.MaxSpeed = 255;
- // 자동차전용도로
- pUtisLinkColor.road102.GDLOW.SpdCOLOR = clRed;
- pUtisLinkColor.road102.GDLOW.MinSpeed = 0;
- pUtisLinkColor.road102.GDLOW.MaxSpeed = 30;
- pUtisLinkColor.road102.GDMID.SpdCOLOR = clYellow;
- pUtisLinkColor.road102.GDMID.MinSpeed = 31;
- pUtisLinkColor.road102.GDMID.MaxSpeed = 50;
- pUtisLinkColor.road102.GDHIG.SpdCOLOR = clLime;
- pUtisLinkColor.road102.GDHIG.MinSpeed = 51;
- pUtisLinkColor.road102.GDHIG.MaxSpeed = 255;
- // 일반국도
- pUtisLinkColor.road103.GDLOW.SpdCOLOR = clRed;
- pUtisLinkColor.road103.GDLOW.MinSpeed = 0;
- pUtisLinkColor.road103.GDLOW.MaxSpeed = 10;
- pUtisLinkColor.road103.GDMID.SpdCOLOR = clYellow;
- pUtisLinkColor.road103.GDMID.MinSpeed = 11;
- pUtisLinkColor.road103.GDMID.MaxSpeed = 20;
- pUtisLinkColor.road103.GDHIG.SpdCOLOR = clLime;
- pUtisLinkColor.road103.GDHIG.MinSpeed = 21;
- pUtisLinkColor.road103.GDHIG.MaxSpeed = 255;
- // 특별, 광역시도
- pUtisLinkColor.road104.GDLOW.SpdCOLOR = clRed;
- pUtisLinkColor.road104.GDLOW.MinSpeed = 0;
- pUtisLinkColor.road104.GDLOW.MaxSpeed = 10;
- pUtisLinkColor.road104.GDMID.SpdCOLOR = clYellow;
- pUtisLinkColor.road104.GDMID.MinSpeed = 11;
- pUtisLinkColor.road104.GDMID.MaxSpeed = 20;
- pUtisLinkColor.road104.GDHIG.SpdCOLOR = clLime;
- pUtisLinkColor.road104.GDHIG.MinSpeed = 21;
- pUtisLinkColor.road104.GDHIG.MaxSpeed = 255;
- // 국가지원지방도
- pUtisLinkColor.road105.GDLOW.SpdCOLOR = clRed;
- pUtisLinkColor.road105.GDLOW.MinSpeed = 0;
- pUtisLinkColor.road105.GDLOW.MaxSpeed = 10;
- pUtisLinkColor.road105.GDMID.SpdCOLOR = clYellow;
- pUtisLinkColor.road105.GDMID.MinSpeed = 11;
- pUtisLinkColor.road105.GDMID.MaxSpeed = 20;
- pUtisLinkColor.road105.GDHIG.SpdCOLOR = clLime;
- pUtisLinkColor.road105.GDHIG.MinSpeed = 21;
- pUtisLinkColor.road105.GDHIG.MaxSpeed = 255;
- // 지방도
- pUtisLinkColor.road106.GDLOW.SpdCOLOR = clRed;
- pUtisLinkColor.road106.GDLOW.MinSpeed = 0;
- pUtisLinkColor.road106.GDLOW.MaxSpeed = 10;
- pUtisLinkColor.road106.GDMID.SpdCOLOR = clYellow;
- pUtisLinkColor.road106.GDMID.MinSpeed = 11;
- pUtisLinkColor.road106.GDMID.MaxSpeed = 20;
- pUtisLinkColor.road106.GDHIG.SpdCOLOR = clLime;
- pUtisLinkColor.road106.GDHIG.MinSpeed = 21;
- pUtisLinkColor.road106.GDHIG.MaxSpeed = 255;
- // 시군도
- pUtisLinkColor.road107.GDLOW.SpdCOLOR = clRed;
- pUtisLinkColor.road107.GDLOW.MinSpeed = 0;
- pUtisLinkColor.road107.GDLOW.MaxSpeed = 10;
- pUtisLinkColor.road107.GDMID.SpdCOLOR = clYellow;
- pUtisLinkColor.road107.GDMID.MinSpeed = 11;
- pUtisLinkColor.road107.GDMID.MaxSpeed = 20;
- pUtisLinkColor.road107.GDHIG.SpdCOLOR = clLime;
- pUtisLinkColor.road107.GDHIG.MinSpeed = 21;
- pUtisLinkColor.road107.GDHIG.MaxSpeed = 255;
- TDBLinkColor *pLinkColor = NULL;
- TLinkTrfGrd *pTrgGrd = NULL;
- FOR_STL(TItsTrafficGrade *, pGrade, ItsTrafficGradeManager->FLists)
- {
- FOR_STL(TItsTrafficSubGrade *, pSubGrade, pGrade->FSubLists)
- {
- if (pGrade->SECT_GRAD_CD == "SRT1") //101.고속국도
- pLinkColor = &pUtisLinkColor.road101;
- else
- if (pGrade->SECT_GRAD_CD == "SRT2") //102.도시고속국도
- pLinkColor = &pUtisLinkColor.road102;
- else
- if (pGrade->SECT_GRAD_CD == "SRT3") //103.일반국도
- pLinkColor = &pUtisLinkColor.road103;
- else
- if (pGrade->SECT_GRAD_CD == "SRT4") //104.특별·광역시도
- pLinkColor = &pUtisLinkColor.road104;
- else
- if (pGrade->SECT_GRAD_CD == "SRT5") //105.국가지원지방도
- pLinkColor = &pUtisLinkColor.road105;
- else
- if (pGrade->SECT_GRAD_CD == "SRT6") //106.지방도
- pLinkColor = &pUtisLinkColor.road106;
- else
- if (pGrade->SECT_GRAD_CD == "SRT7") //107.시·군도
- pLinkColor = &pUtisLinkColor.road107;
- else
- continue;
- TColor trfColor;
- if (pSubGrade->CMTR_GRAD_CD == "LTC1")
- {
- pTrgGrd = &pLinkColor->GDHIG;
- trfColor = clLime;
- }
- else
- if (pSubGrade->CMTR_GRAD_CD == "LTC2")
- {
- pTrgGrd = &pLinkColor->GDMID;
- trfColor = clYellow;
- }
- else
- if (pSubGrade->CMTR_GRAD_CD == "LTC3")
- {
- pTrgGrd = &pLinkColor->GDLOW;
- trfColor = clRed;
- }
- else
- continue;
- pTrgGrd->SpdCOLOR = trfColor;
- if (pSubGrade->CMTR_GRAD_CD == "LTC3")
- pTrgGrd->MinSpeed = 0;
- else
- pTrgGrd->MinSpeed = StrToInt(pSubGrade->LWST_TRVL_SPED);
- pTrgGrd->MaxSpeed = StrToInt(pSubGrade->HGHS_TRVL_SPED);
- }
- }
- }
- //---------------------------------------------------------------------------
- void __fastcall TITS00MAP::SetGisTrafficColor()
- {
- #if 0
- //TODO
- //소통등급별 색상을 플래시로 던지는 것을 여기에 추가한다.
- TUTISLinkGrade UtisLinkColor;
- GetGisTrafficColor(UtisLinkColor);
- // 소통정보를 표출할 스레드 생성
- for (int ii = 0; ii < MAX_LAYERS; ii++)
- {
- if (m_pLinkSpeedUpdate[ii] == NULL) continue;
- m_pLinkSpeedUpdate[ii]->SetUTISLinkColor(UtisLinkColor);
- }
- #endif
- }
- //---------------------------------------------------------------------------
- void __fastcall TITS00MAP::GisMenuCheckClear()
- {
- pmuZoomIn->Checked = false;
- pmuZoomOut->Checked = false;
- pmuMove->Checked = false;
- pmuIconSel->Checked = false;
- pmuCalLen->Checked = false;
- pmuCalArea->Checked = false;
- pmuRadius->Checked = false;
- pmuMoveCenter->Checked = false;
- pmuGisDefault->Checked = false;
- }
- //---------------------------------------------------------------------------
- void __fastcall TITS00MAP::pmuGisCalcClick(TObject *Sender)
- {
- //TODO TMenuItem *pMenu = (TMenuItem *)Sender;
- //TODO SetMapOperation((TXiMapOperation)pMenu->Tag);
- }
- //---------------------------------------------------------------------------
- void __fastcall TITS00MAP::pmuControlGisClick(TObject *Sender)
- {
- TMenuItem *pMenu = (TMenuItem*)Sender;
-
- SetMapOperation((TXiMapOperation)pMenu->Tag);
- }
- //---------------------------------------------------------------------------
- /*
- * 지도제어 설정
- * arguments
- *
- * return
- *
- */
- void __fastcall TITS00MAP::SetMapOperation(TXiMapOperation nMapOper)
- {
- //enum TXiMapOperation { Nothing, OnZoomIn, OnZoomOut, OnPanSt, OnDistance, OnSelect, OnGeoQuery, OnEditting, OnCircle, OnShortPath, OnArea, OnInsert, OnFindEvent, OnNearFind, OnUserDefine };
- if (!MapStart) return;
- GisMenuCheckClear();
- m_bMoveCenter = false;
- m_bCalcMode = false;
- m_bCalcCont = false;
- if (OnSelect == nMapOper)
- {
- GrpPos->Visible = true;
- }
- else
- {
- GrpPos->Visible = false;
- }
-
- switch(nMapOper)
- {
- case OnPanSt: //pan
- TCommFlash::CallFunc(ShockwaveFlash1, "SelectMode", "0");
- ShockwaveFlash1->Cursor = crDefault;//Drag;
- ModeSelect = false;
- try
- {
- ImgPan->NormalPicture->Assign(ImgPan_c->Picture);
- ImgPan->Picture->Assign(ImgPan_c->Picture);
- ImgPan->TogglePicture->Assign(ImgPan_n->Picture);
- ImgPan->ClickedPicture->Assign(ImgPan_n->Picture);
- ImgSel->NormalPicture->Assign(ImgSel_n->Picture);
- ImgSel->Picture->Assign(ImgSel_n->Picture);
- ImgSel->TogglePicture->Assign(ImgSel_c->Picture);
- ImgSel->ClickedPicture->Assign(ImgSel_c->Picture);
- } catch(Exception &e) {}
- break;
- case OnZoomIn: //zoomin
- TCommFlash::CallFunc(ShockwaveFlash1, "ZoomIn", "");
- break;
- case OnZoomOut: //zoomout
- TCommFlash::CallFunc(ShockwaveFlash1, "ZoomOut", "");
- break;
- case OnSelect: //select
- TCommFlash::CallFunc(ShockwaveFlash1, "SelectMode", "1");
- ShockwaveFlash1->Cursor = crHelp;
- ModeSelect = true;
- try
- {
- ImgPan->NormalPicture->Assign(ImgPan_n->Picture);
- ImgPan->Picture->Assign(ImgPan_n->Picture);
- ImgPan->TogglePicture->Assign(ImgPan_c->Picture);
- ImgPan->ClickedPicture->Assign(ImgPan_n->Picture);
- ImgSel->NormalPicture->Assign(ImgSel_c->Picture);
- ImgSel->Picture->Assign(ImgSel_c->Picture);
- ImgSel->TogglePicture->Assign(ImgSel_n->Picture);
- ImgSel->ClickedPicture->Assign(ImgSel_n->Picture);
- } catch(Exception &e) {}
- break;
- }
- }
- //---------------------------------------------------------------------------
- /*
- * 전자지도의 영역을 설정한다.
- * arguments
- * double : left 영역
- * double : top 영역
- * double : right 영역
- * double : bottom 영역
- * return
- * void
- */
- void __fastcall TITS00MAP::SetExtent(TDDRect &curRc)
- {
- //TODO if (xclntMap->Active)
- //TODO {
- //TODO xclntMap->ExtentDraw(curRc);
- //TODO }
- }
- //---------------------------------------------------------------------------
- /*
- * 지도 영역 이동 함수. 현재 영역을 영역이동 큐에 추가한다.
- * 다음 버튼을 비활성 시킨다.
- * arguments
- * return
- * void
- */
- bool __fastcall TITS00MAP::AddExtentQ(TDDRect &curRc)
- {
- TDDRect *pExt = &m_ExtQ.extent[m_ExtQ.userIdx];
- memcpy((char*)pExt, (char*)&curRc, sizeof(curRc));
- if (m_PrevExt.MinX == pExt->MinX &&
- m_PrevExt.MinY == pExt->MinY &&
- m_PrevExt.MaxX == pExt->MaxX &&
- m_PrevExt.MaxY == pExt->MaxY)
- {
- return false;
- }
- memcpy((char*)&m_PrevExt, pExt, sizeof(m_PrevExt));
- if (m_ExtQ.userIdx >= D_EXT_QUEUE_SIZE)
- {
- m_ExtQ.userIdx = D_EXT_QUEUE_SIZE;
- memcpy((char *)&m_ExtQ.extent[0], (char *)&m_ExtQ.extent[1], sizeof(TDDRect)*D_EXT_QUEUE_SIZE);
- }
- else
- {
- m_ExtQ.userIdx++;
- }
- m_ExtQ.currIdx = m_ExtQ.userIdx-1;
- return true;
- }
- //---------------------------------------------------------------------------
- /*
- * 지도 영역 이동 함수. 이전 영역으로 이동
- * 이동 범위에 따라 이전/다음 버튼을 활성/비활성 시킨다.
- * arguments
- * return
- * void
- */
- bool __fastcall TITS00MAP::PrevExtentQ()
- {
- m_ExtQ.bExtent = false;
- if (m_ExtQ.currIdx <= 0)
- {
- m_ExtQ.currIdx = 0;
- return false;
- }
- m_ExtQ.currIdx--;
- TDDRect *pExt = &m_ExtQ.extent[m_ExtQ.currIdx];
- SetExtent(*pExt);
- return true;
- }
- //---------------------------------------------------------------------------
- /*
- * 지도 영역 이동 함수. 다음 영역으로 이동
- * 이동 범위에 따라 이전/다음 버튼을 활성/비활성 시킨다.
- * arguments
- * return
- * void
- */
- bool __fastcall TITS00MAP::NextExtentQ()
- {
- m_ExtQ.bExtent = false;
- if (m_ExtQ.currIdx >= m_ExtQ.userIdx-1)
- {
- m_ExtQ.currIdx = m_ExtQ.userIdx-1;
- return false;
- }
- m_ExtQ.currIdx++;
- TDDRect *pExt = &m_ExtQ.extent[m_ExtQ.currIdx];
- SetExtent(*pExt);
- return true;
- }
- //---------------------------------------------------------------------------
- void __fastcall TITS00MAP::ImgPrevClick(TObject *Sender)
- {
- PrevExtentQ();
- }
- //---------------------------------------------------------------------------
- void __fastcall TITS00MAP::ImgNextClick(TObject *Sender)
- {
- NextExtentQ();
- }
- //---------------------------------------------------------------------------
- void __fastcall TITS00MAP::ImgFullClick(TObject *Sender)
- {
- //TODO if (xclntMap->Active)
- //TODO {
- //TODO xclntMap->ExtentDraw(xclntMap->GetFullExtent());
- //TODO }
- }
- //---------------------------------------------------------------------------
- void __fastcall TITS00MAP::ImgStndClick(TObject *Sender)
- {
- if (MapStart)
- {
- TCommFlash::CallFunc(ShockwaveFlash1, "StdExtent", "");
- }
- }
- //---------------------------------------------------------------------------
- void __fastcall TITS00MAP::ImgRefreshClick(TObject *Sender)
- {
- if (MapStart)
- {
- FrmMain->FPollStatus01.Reset(); // 시설물상태정보
- FrmMain->FPollStatus02.Reset(); // 프로세스상태정보
- FrmMain->FPollStatus03.Reset(); // 돌발정보
- ItsTrafficManager->Init();
- FrmMain->FPollTraffic00.Reset(); // 링크소통정보(전체)
- FrmMain->FPollTraffic01.Reset(); // 링크소통정보
- FrmMain->FPollTraffic02.Reset(); // 서비스링크소통정보
- FrmMain->FPollTraffic03.Reset(); // 도로소통정보
- FrmMain->FPollTraffic04.Reset(); // 반복정체구간
- FrmMain->FPollTraffic05.Reset(); // UTIS운영정보
- FrmMain->FPollEvent01.Reset(); // 블랙박스이벤트
- FrmMain->FPollVilgFrcs.Reset(); // 기상정보
- ImgRefresh->Enabled = false;
- TmrRefresh->Enabled = true;
- }
- }
- //---------------------------------------------------------------------------
- void __fastcall TITS00MAP::TmrRefreshTimer(TObject *Sender)
- {
- TmrRefresh->Enabled = false;
- ImgRefresh->Enabled = true;
- }
- //---------------------------------------------------------------------------
- void __fastcall TITS00MAP::ChkTrafficLayerClick(TObject *Sender)
- {
- if (!MapStart) return;
- String sTraffic = ChkTrafficLayer->Checked ? "1" : "0";
- String sTooltip = ChkToolTip->Checked ? "1" : "0";
- TCommFlash::CallFunc(ShockwaveFlash1, "ShowTraffic", sTraffic + "|" + sTooltip);
- ShockwaveFlash1->SetFocus();
- }
- //---------------------------------------------------------------------------
- void __fastcall TITS00MAP::TmrSelectTimer(TObject *Sender)
- {
- TmrSelect->Enabled = false;
- ImgSelect->Visible = false;
- }
- //---------------------------------------------------------------------------
- void __fastcall TITS00MAP::SelectObjectByPos(double dPosX, double dPosY, bool bArrow/*=false*/)
- {
- m_ptSelect.X = dPosX;
- m_ptSelect.Y = dPosY;
- if (!MapStart) return;
- TCommFlash::CallFunc(ShockwaveFlash1, "SelectPoint", String(dPosX) + "," + String(dPosY) + "|3");
- ShockwaveFlash1->SetFocus();
- }
- //---------------------------------------------------------------------------
- bool __fastcall TITS00MAP::SelectLinkById(int ALinkLevel, String sId, bool bHide/*=false*/)
- {
- try
- {
- if (!MapStart) return false;
- if (m_nMapLevel != ALinkLevel)
- {
- int nZoomLevel = 1;
- if (ALinkLevel == 2)
- {
- nZoomLevel = 2;
- }
- else
- if (ALinkLevel == 3)
- {
- nZoomLevel = 5;
- }
- TCommFlash::CallFunc(ShockwaveFlash1, "SetZoom", String(nZoomLevel));
- Application->ProcessMessages();
- //Sleep(1000);
- Application->ProcessMessages();
- }
- #if 0
- var zoom = _mainMap.map.getZoom();
- switch(zoom)
- {
- case 1: levl = 1; break; //LINK
- case 2: levl = 2; break; //IFSC
- case 3: levl = 3; break; //IFSC
- case 4: levl = 4; break; //IFSC
- case 5: levl = 5; break; //ROAD
- default: levl = 6; break; //ROAD
- }
- #endif
- TCommFlash::CallFunc(ShockwaveFlash1, "FindLink", sId);
- }
- catch(...)
- {
- }
- return true;
- }
- //---------------------------------------------------------------------------
- void __fastcall TITS00MAP::TmrLinkSelectTimer(TObject *Sender)
- {
- TmrLinkSelect->Enabled = false;
- //TODO xclntMap->ClearUserDrawPolyGon();
- //TODO xclntMap->ClearPathInfo();
- //TODO xclntMap->ReDraw();
- }
- //---------------------------------------------------------------------------
- void __fastcall TITS00MAP::MnuSetStdAreaClick(TObject *Sender)
- {
- #if 0
- //TODO
- if (!MapStart) return;
- Application->ProcessMessages();
- if (Application->MessageBox(L"현재 영역을 표준영역으로 지정하시겠습니까?", L"확인",
- MB_YESNO|MB_ICONQUESTION) != IDYES)
- {
- return;
- }
- TIniFile *pIniFile = NULL;
- String sIniFile = ChangeFileExt(ExtractFileName(Application->ExeName), ".ini");
- String sCfgFile = ExtractFilePath(Application->ExeName) + "\\cfg\\" + sIniFile;
- try
- {
- try
- {
- pIniFile = new TIniFile(sCfgFile);
- TDDRect rc = xclntMap->GetViewExtent();
- pIniFile->WriteString("MAP", "LEFTTOPX", String(rc.MaxX));
- pIniFile->WriteString("MAP", "LEFTTOPY", String(rc.MaxY));
- pIniFile->WriteString("MAP", "RIGHTBOTTOMX", String(rc.MinX));
- pIniFile->WriteString("MAP", "RIGHTBOTTOMY", String(rc.MinY));
-
- g_GisInfo.dLeftTopX = rc.MaxX;
- g_GisInfo.dLeftTopY = rc.MaxY;
- g_GisInfo.dRightBottomX = rc.MinX;
- g_GisInfo.dRightBottomY = rc.MinY;
- }
- __finally
- {
- if (pIniFile) delete pIniFile;
- pIniFile = NULL;
- }
- }
- catch(...)
- {
- }
- #endif
- }
- //---------------------------------------------------------------------------
- void __fastcall TITS00MAP::MnuMoveStdAreaClick(TObject *Sender)
- {
- ImgStndClick((TObject*)ImgStnd);
- }
- //---------------------------------------------------------------------------
- void __fastcall TITS00MAP::RefreshMapTraffic()
- {
- try {
- TmrRefresh->Enabled = false;
- ImgRefresh->Enabled = true;
- } catch(...) {}
- if (!MapStart) return;
- #if 0
- LblTraffic->Visible = true;
- LblTraffic->Refresh();
- TmrLblTraffic->Enabled = true;
- #endif
- String sObjList = "";
- try
- {
- try
- {
- ItsTrafficManager->FLists.Lock();
- FOR_STL(TItsTraffic*, pTraffic, ItsTrafficManager->FLists)
- {
- if (pTraffic->TRF_GRADE == "0") continue;
- sObjList += String(pTraffic->LEVL) + "," +
- pTraffic->LINKID + "," +
- pTraffic->TRF_GRADE + "," +
- String(pTraffic->SPEED) + "," +
- String(pTraffic->TRVTM) + "|";
- }
- }
- catch(Exception &exception)
- {
- throw Exception(String(exception.ClassName()) + exception.Message);
- }
- }
- __finally
- {
- ItsTrafficManager->FLists.UnLock();
- if (sObjList != "")
- {
- sObjList = sObjList.SubString(1, sObjList.Length()-1);
- TCommFlash::CallFunc(ShockwaveFlash1, "UpdateTraffic", sObjList);
- }
- }
- TCommFlash::CallFunc(ShockwaveFlash1, "RefreshMap", "");
- try
- {
- if (FrmLinkInfo)
- {
- FrmLinkInfo->RefreshLinkInfo();
- }
- }
- catch(...)
- {
- }
- }
- //---------------------------------------------------------------------------
- void __fastcall TITS00MAP::ChkDrawGisClick(TObject *Sender)
- {
- ShowHideFacility();
- ShockwaveFlash1->SetFocus();
- }
- //---------------------------------------------------------------------------
- void __fastcall TITS00MAP::ShowLinkDetailInfo(String sLinkId, int nLinkLevel)
- {
- try
- {
- if (FrmLinkInfo == NULL)
- {
- FrmLinkInfo = new TFrmLinkInfo(Application);
- }
- FrmLinkInfo->Show();
- FrmLinkInfo->ShowLinkInfo(sLinkId, nLinkLevel);
- }
- catch(...)
- {
- }
- }
- //---------------------------------------------------------------------------
- void __fastcall TITS00MAP::ChkGisSearchClick(TObject *Sender)
- {
- try
- {
- if (ChkGisSearch->Checked)
- {
- if (FrmGisSearch == NULL)
- {
- FrmGisSearch = new TFrmGisSearch(this);
- //FrmGisSearch->Parent = this;
- }
- FrmGisSearch->Show();
- }
- else
- {
- if (FrmGisSearch)
- {
- if (FrmGisSearch->m_bClose == false)
- {
- FrmGisSearch->Close();
- }
- }
- }
- }
- catch(...)
- {
- }
- }
- //---------------------------------------------------------------------------
- void __fastcall TITS00MAP::FormClose(TObject *Sender, TCloseAction &Action)
- {
- CommClose();
- //ITS00MAP = NULL;
- Action = caFree;
- }
- //---------------------------------------------------------------------------
- void __fastcall TITS00MAP::panRemarkMouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y)
- {
- TcxGroupBox *pGroup = (TcxGroupBox*)Sender;
- ReleaseCapture();
- pGroup->Perform(WM_SYSCOMMAND, 0xf012, 0);
- }
- //---------------------------------------------------------------------------
- void __fastcall TITS00MAP::ChkViewExamplePropertiesChange(TObject *Sender)
- {
- panRemark->Visible = ChkViewExample->Checked;
- }
- //---------------------------------------------------------------------------
- /*
- * 시설물의 상태에 따라 이미지를 전자지도에 표출한다.(XiClient->CCTVIconList)
- * arguments
- *
- * return
- * void
- */
- void __fastcall TITS00MAP::UpdateFacilityStatus()
- {
- String sFacility;
- String sShowIcon;
- String sShowInfo;
- String sObjList;
- String sStatus;
- TItsFacility *pFacility;
- sStatus = "0";
- #ifdef USE_CCTV
- sObjList = "";
- try
- {
- ItsFacilityManager->FCctvLists.Lock();
- FOR_STL(TItsCctv *, pObj, ItsFacilityManager->FCctvLists)
- {
- if (pObj->DEL_YN == "Y") continue;
- //if (pObj->LOCAL_YN != "Y") continue; //지역CCTV정보만 위치에 표출
- pFacility = ItsFacilityManager->FLists.Find(pObj->CCTV_CTLR_ID);
- if (!pFacility) continue;
- sStatus = pFacility->FComm;
- String sLoc = TCommFlash::ReplaceName(pObj->ISTL_LCTN_NM);
- sObjList += (pObj->CCTV_CTLR_ID + "," + sStatus + "," + sLoc + "," + pObj->X_CRDN + "," + pObj->Y_CRDN + "," + pObj->CCTV_CTLR_ID + ",0,|");
- }
- }
- __finally
- {
- ItsFacilityManager->FCctvLists.UnLock();
- sFacility = FAC_CCTV;
- sShowIcon = ChkDrawCtv->Checked ? "1" : "0";
- sShowInfo = "0";
- TCommFlash::CallFunc(ShockwaveFlash1, "RemoveFacility", sFacility);
- if (sObjList != "")
- {
- sObjList = sObjList.SubString(1, sObjList.Length()-1);
- TCommFlash::CallFunc(ShockwaveFlash1, "AddFacility", sFacility + "|" + sShowIcon + "|" + sShowInfo + "|" + sObjList);
- }
- }
- #endif
- #ifdef USE_VMS
- sObjList = "";
- try
- {
- ItsFacilityManager->FVmsLists.Lock();
- FOR_STL(TItsVms *, pObj, ItsFacilityManager->FVmsLists)
- {
- if (pObj->DEL_YN == "Y") continue;
- pFacility = ItsFacilityManager->FLists.Find(pObj->VMS_CTLR_ID);
- if (!pFacility) continue;
- sStatus = pFacility->FComm;
- String sSubType = pObj->VMS_USAG_TYPE_CD == "VUTN" ? "T" : "P";
- String sLoc = TCommFlash::ReplaceName(pObj->VMS_NM);
- sObjList += (pObj->VMS_CTLR_ID + "," + sStatus + "," + sLoc + "," + pObj->X_CRDN + "," + pObj->Y_CRDN + "," + pObj->VMS_CTLR_ID + "," + sSubType + "|");
- }
- }
- __finally
- {
- ItsFacilityManager->FVmsLists.UnLock();
- sFacility = FAC_VMS;
- sShowIcon = ChkDrawVms->Checked ? "1" : "0";
- sShowInfo = "0";
- TCommFlash::CallFunc(ShockwaveFlash1, "RemoveFacility", sFacility);
- if (sObjList != "")
- {
- sObjList = sObjList.SubString(1, sObjList.Length()-1);
- TCommFlash::CallFunc(ShockwaveFlash1, "AddFacility", sFacility + "|" + sShowIcon + "|" + sShowInfo + "|" + sObjList);
- }
- }
- #endif
- #ifdef USE_RSE
- sObjList = "";
- try
- {
- ItsFacilityManager->FRseLists.Lock();
- FOR_STL(TItsRse *, pObj, ItsFacilityManager->FRseLists)
- {
- //if (pObj->DEL_YN == "Y") continue;
- pFacility = ItsFacilityManager->FLists.Find(pObj->RSEID);
- if (!pFacility) continue;
- sStatus = pFacility->FComm;
- if (sStatus == "2") sStatus = "1";
- String sLoc = TCommFlash::ReplaceName(pObj->LOCATION);
- sObjList += (pObj->RSEID + "," + sStatus + "," + sLoc + "," + pObj->COORDX + "," + pObj->COORDY + "," + pObj->RSEID + ",0,|");
- }
- }
- __finally
- {
- ItsFacilityManager->FRseLists.UnLock();
- sFacility = FAC_RSE;
- sShowIcon = ChkDrawRse->Checked ? "1" : "0";
- sShowInfo = "0";
- TCommFlash::CallFunc(ShockwaveFlash1, "RemoveFacility", sFacility);
- if (sObjList != "")
- {
- sObjList = sObjList.SubString(1, sObjList.Length()-1);
- TCommFlash::CallFunc(ShockwaveFlash1, "AddFacility", sFacility + "|" + sShowIcon + "|" + sShowInfo + "|" + sObjList);
- }
- }
- #endif
- #ifdef USE_WCAM
- sObjList = "";
- try
- {
- ItsFacilityManager->FWebCamLists.Lock();
- FOR_STL(TItsWebCam *, pObj, ItsFacilityManager->FWebCamLists)
- {
- //if (pObj->DEL_YN == "Y") continue;
- pFacility = ItsFacilityManager->FLists.Find(pObj->WEB_CMRA_ID);
- if (!pFacility) continue;
- sStatus = pFacility->FComm;
- if (sStatus == "2") sStatus = "1";
- String sLoc = TCommFlash::ReplaceName(pObj->ISTL_LCTN_NM);
- sObjList += (pObj->WEB_CMRA_ID + "," + sStatus + "," + sLoc + "," + pObj->X_CRDN + "," + pObj->Y_CRDN + "," + pObj->WEB_CMRA_ID + ",0,|");
- }
- }
- __finally
- {
- ItsFacilityManager->FWebCamLists.UnLock();
- sFacility = FAC_WCAM;
- sShowIcon = ChkWebCam->Checked ? "1" : "0";
- sShowInfo = "0";
- TCommFlash::CallFunc(ShockwaveFlash1, "RemoveFacility", sFacility);
- if (sObjList != "")
- {
- sObjList = sObjList.SubString(1, sObjList.Length()-1);
- TCommFlash::CallFunc(ShockwaveFlash1, "AddFacility", sFacility + "|" + sShowIcon + "|" + sShowInfo + "|" + sObjList);
- }
- }
- #endif
- #ifdef USE_VDS
- sObjList = "";
- try
- {
- ItsFacilityManager->FVdsLists.Lock();
- FOR_STL(TItsVds *, pObj, ItsFacilityManager->FVdsLists)
- {
- if (pObj->DEL_YN == "Y") continue;
- pFacility = ItsFacilityManager->FLists.Find(pObj->VDS_CTLR_ID);//CTLR_MNGM_NMBR);
- if (!pFacility) continue;
- sStatus = pFacility->FComm;
- String sLoc = TCommFlash::ReplaceName(pObj->LCTN);
- sObjList += (pObj->VDS_CTLR_ID + "," + sStatus + "," + sLoc + "," + pObj->X_CRDN + "," + pObj->Y_CRDN + "," + pObj->VDS_CTLR_ID + ",0,|");
- }
- }
- __finally
- {
- ItsFacilityManager->FVdsLists.UnLock();
- sFacility = FAC_VDS;
- sShowIcon = ChkDrawVds->Checked ? "1" : "0";
- sShowInfo = "0";
- TCommFlash::CallFunc(ShockwaveFlash1, "RemoveFacility", sFacility);
- if (sObjList != "")
- {
- sObjList = sObjList.SubString(1, sObjList.Length()-1);
- TCommFlash::CallFunc(ShockwaveFlash1, "AddFacility", sFacility + "|" + sShowIcon + "|" + sShowInfo + "|" + sObjList);
- }
- }
- #endif
- #ifdef USE_AVI
- sObjList = "";
- try
- {
- ItsFacilityManager->FAviLists.Lock();
- FOR_STL(TItsAvi *, pObj, ItsFacilityManager->FAviLists)
- {
- if (pObj->DEL_YN == "Y") continue;
- pFacility = ItsFacilityManager->FLists.Find(pObj->AVI_ID);
- if (!pFacility) continue;
- sStatus = pFacility->FComm;
- String sLoc = TCommFlash::ReplaceName(pObj->AVI_LCTN_NM);
- sObjList += (pObj->AVI_ID + "," + sStatus + "," + sLoc + "," + pObj->X_CRDN + "," + pObj->Y_CRDN + "," + pObj->AVI_ID + ",0,|");
- }
- }
- __finally
- {
- ItsFacilityManager->FAviLists.UnLock();
- sFacility = FAC_AVI;
- sShowIcon = ChkDrawAvi->Checked ? "1" : "0";
- sShowInfo = "0";
- TCommFlash::CallFunc(ShockwaveFlash1, "RemoveFacility", sFacility);
- if (sObjList != "")
- {
- sObjList = sObjList.SubString(1, sObjList.Length()-1);
- TCommFlash::CallFunc(ShockwaveFlash1, "AddFacility", sFacility + "|" + sShowIcon + "|" + sShowInfo + "|" + sObjList);
- }
- }
- #endif
- #ifdef USE_DSRC
- sObjList = "";
- try
- {
- ItsFacilityManager->FDsrcLists.Lock();
- FOR_STL(TItsDsrc *, pObj, ItsFacilityManager->FDsrcLists)
- {
- if (pObj->DEL_YN == "Y") continue;
- pFacility = ItsFacilityManager->FLists.Find(pObj->RSE_ID);
- if (!pFacility) continue;
- sStatus = pFacility->FComm;
- String sLoc = TCommFlash::ReplaceName(pObj->ISTL_LCTN_NM);
- sObjList += (pObj->RSE_ID + "," + sStatus + "," + sLoc + "," + pObj->LCTN_X + "," + pObj->LCTN_Y + "," + pObj->RSE_ID + ",0,|");
- }
- }
- __finally
- {
- ItsFacilityManager->FDsrcLists.UnLock();
- sFacility = FAC_DSRC;
- sShowIcon = ChkDrawDsrc->Checked ? "1" : "0";
- sShowInfo = "0";
- TCommFlash::CallFunc(ShockwaveFlash1, "RemoveFacility", sFacility);
- if (sObjList != "")
- {
- sObjList = sObjList.SubString(1, sObjList.Length()-1);
- TCommFlash::CallFunc(ShockwaveFlash1, "AddFacility", sFacility + "|" + sShowIcon + "|" + sShowInfo + "|" + sObjList);
- }
- }
- #endif
- #ifdef USE_PVMS
- sObjList = "";
- try
- {
- ItsFacilityManager->FPisLists.Lock();
- FOR_STL(TItsPis *, pObj, ItsFacilityManager->FPisLists)
- {
- if (pObj->DEL_YN == "Y") continue;
- pFacility = ItsFacilityManager->FLists.Find(pObj->FCLT_ID);
- if (!pFacility) continue;
- sStatus = pFacility->FComm;
- String sLoc = TCommFlash::ReplaceName(pObj->FCLT_LCTN);
- sObjList += (pObj->PIS_ID + "," + sStatus + "," + sLoc + "," + pObj->X_CRDN + "," + pObj->Y_CRDN + "," + pObj->PIS_ID + ",0,|");
- }
- }
- __finally
- {
- ItsFacilityManager->FPisLists.UnLock();
- sFacility = FAC_PVMS;
- sShowIcon = ChkDrawPis->Checked ? "1" : "0";
- sShowInfo = "0";
- TCommFlash::CallFunc(ShockwaveFlash1, "RemoveFacility", sFacility);
- if (sObjList != "")
- {
- sObjList = sObjList.SubString(1, sObjList.Length()-1);
- TCommFlash::CallFunc(ShockwaveFlash1, "AddFacility", sFacility + "|" + sShowIcon + "|" + sShowInfo + "|" + sObjList);
- }
- }
- #endif
- #ifdef USE_PVDS
- sObjList = "";
- try
- {
- ItsFacilityManager->FPcsLists.Lock();
- FOR_STL(TItsPcs *, pObj, ItsFacilityManager->FPcsLists)
- {
- if (pObj->DEL_YN == "Y") continue;
- pFacility = ItsFacilityManager->FLists.Find(pObj->FCLT_ID);
- if (!pFacility) continue;
- sStatus = pFacility->FComm;
- String sLoc = TCommFlash::ReplaceName(pObj->FCLT_LCTN);
- sObjList += (pObj->PCS_ID + "," + sStatus + "," + sLoc + "," + pObj->X_CRDN + "," + pObj->Y_CRDN + "," + pObj->PCS_ID + ",0,|");
- }
- }
- __finally
- {
- ItsFacilityManager->FPcsLists.UnLock();
- sFacility = FAC_PVDS;
- sShowIcon = ChkDrawPcs->Checked ? "1" : "0";
- sShowInfo = "0";
- TCommFlash::CallFunc(ShockwaveFlash1, "RemoveFacility", sFacility);
- if (sObjList != "")
- {
- sObjList = sObjList.SubString(1, sObjList.Length()-1);
- TCommFlash::CallFunc(ShockwaveFlash1, "AddFacility", sFacility + "|" + sShowIcon + "|" + sShowInfo + "|" + sObjList);
- }
- }
- #endif
- #ifdef USE_PARK
- sObjList = "";
- try
- {
- ItsFacilityManager->FParkLists.Lock();
- FOR_STL(TItsParking *, pObj, ItsFacilityManager->FParkLists)
- {
- if (pObj->DEL_YN == "Y") continue;
- sStatus = "0";
- pFacility = ItsFacilityManager->FLists.Find(pObj->CTLR_MNGM_NMBR);
- if (!pFacility) continue;
- sStatus = pFacility->FComm;
- String sLoc = TCommFlash::ReplaceName(pObj->CTLR_MNGM_NM);
- sObjList += (pObj->CTLR_MNGM_NMBR + "," + sStatus + "," + sLoc + "," + pObj->X_CRDN + "," + pObj->Y_CRDN + "," + String(pObj->WHOL_NPLS) + ",0,|");
- }
- }
- __finally
- {
- ItsFacilityManager->FParkLists.UnLock();
- sFacility = FAC_PARK;
- sShowIcon = ChkDrawPark->Checked ? "1" : "0";
- sShowInfo = "0";
- TCommFlash::CallFunc(ShockwaveFlash1, "RemoveFacility", sFacility);
- if (sObjList != "")
- {
- sObjList = sObjList.SubString(1, sObjList.Length()-1);
- TCommFlash::CallFunc(ShockwaveFlash1, "AddFacility", sFacility + "|" + sShowIcon + "|" + sShowInfo + "|" + sObjList);
- }
- }
- #endif
- #ifdef USE_BIT
- sObjList = "";
- try
- {
- ItsFacilityManager->FBitLists.Lock();
- FOR_STL(TItsBit *, pObj, ItsFacilityManager->FBitLists)
- {
- if (pObj->DEL_YN == "Y") continue;
- pFacility = ItsFacilityManager->FLists.Find(pObj->FCLT_ID);
- if (!pFacility) continue;
- sStatus = pFacility->FComm;
- String sLoc = TCommFlash::ReplaceName(pObj->FCLT_LCTN);
- sObjList += (pObj->FCLT_ID + "," + sStatus + "," + sLoc + "," + pObj->X_CRDN + "," + pObj->Y_CRDN + "," + pObj->BIT_ID + ",0,|");
- }
- }
- __finally
- {
- ItsFacilityManager->FBitLists.UnLock();
- sFacility = FAC_BIT;
- sShowIcon = ChkDrawBit->Checked ? "1" : "0";
- sShowInfo = "0";
- TCommFlash::CallFunc(ShockwaveFlash1, "RemoveFacility", sFacility);
- if (sObjList != "")
- {
- sObjList = sObjList.SubString(1, sObjList.Length()-1);
- TCommFlash::CallFunc(ShockwaveFlash1, "AddFacility", sFacility + "|" + sShowIcon + "|" + sShowInfo + "|" + sObjList);
- }
- }
- #endif
- #ifdef USE_SIG
- sObjList = "";
- try
- {
- ItsFacilityManager->FSigLists.Lock();
- FOR_STL(TItsSig *, pObj, ItsFacilityManager->FSigLists)
- {
- if (pObj->DEL_YN == "Y") continue;
- pFacility = ItsFacilityManager->FLists.Find(pObj->FCLT_ID);
- if (!pFacility) continue;
- sStatus = pFacility->FComm;
- String sLoc = TCommFlash::ReplaceName(pObj->FCLT_LCTN);
- sObjList += (pObj->FCLT_ID + "," + sStatus + "," + sLoc + "," + pObj->X_CRDN + "," + pObj->Y_CRDN + "," + pObj->SIG_ID + ",0,|");
- }
- }
- __finally
- {
- ItsFacilityManager->FSigLists.UnLock();
- sFacility = FAC_SIG;
- sShowIcon = ChkDrawSig->Checked ? "1" : "0";
- sShowInfo = "0";
- TCommFlash::CallFunc(ShockwaveFlash1, "RemoveFacility", sFacility);
- if (sObjList != "")
- {
- sObjList = sObjList.SubString(1, sObjList.Length()-1);
- TCommFlash::CallFunc(ShockwaveFlash1, "AddFacility", sFacility + "|" + sShowIcon + "|" + sShowInfo + "|" + sObjList);
- }
- }
- #endif
- #ifdef USE_SIGDET
- sObjList = "";
- try
- {
- ItsFacilityManager->FSigDetLists.Lock();
- FOR_STL(TItsSigDet *, pObj, ItsFacilityManager->FSigDetLists)
- {
- if (pObj->DEL_YN == "Y") continue;
- pFacility = ItsFacilityManager->FLists.Find(pObj->FCLT_ID);
- if (!pFacility) continue;
- sStatus = pFacility->FComm;
- String sLoc = TCommFlash::ReplaceName(pObj->FCLT_LCTN);
- sObjList += (pObj->FCLT_ID + "," + sStatus + "," + sLoc + "," + pObj->X_CRDN + "," + pObj->Y_CRDN + "," + pObj->SDET_ID + ",0,|");
- }
- }
- __finally
- {
- ItsFacilityManager->FSigDetLists.UnLock();
- sFacility = FAC_SIGDET;
- sShowIcon = ChkDrawSigDet->Checked ? "1" : "0";
- sShowInfo = "0";
- TCommFlash::CallFunc(ShockwaveFlash1, "RemoveFacility", sFacility);
- if (sObjList != "")
- {
- sObjList = sObjList.SubString(1, sObjList.Length()-1);
- TCommFlash::CallFunc(ShockwaveFlash1, "AddFacility", sFacility + "|" + sShowIcon + "|" + sShowInfo + "|" + sObjList);
- }
- }
- #endif
- //#ifdef USE_WTHR
- sObjList = "";
- try
- {
- ItsVilgFrcsManager->FLists.Lock();
- FOR_STL(TItsVilgFrcs *, pObj, ItsVilgFrcsManager->FLists)
- {
- if (pObj->WTCD_KOR_CD == "DB01") sStatus = "1";
- else if (pObj->WTCD_KOR_CD == "DB02") sStatus = "2";
- else if (pObj->WTCD_KOR_CD == "DB03") sStatus = "3";
- else if (pObj->WTCD_KOR_CD == "DB04") sStatus = "4";
- else if (pObj->WTCD_KOR_CD == "DB05") sStatus = "5";
- else if (pObj->WTCD_KOR_CD == "DB06") sStatus = "6";
- else if (pObj->WTCD_KOR_CD == "DB07") sStatus = "7";
- else sStatus = "9";
- String sLoc = TCommFlash::ReplaceName(pObj->VILG_FRCS_ZONE_NM);
- String sInfo = pObj->VILG_FRCS_ZONE_CD + "$" + sLoc + "$" + ITSUtil_FormatStr(pObj->ANNC_DT, STR_DATETIME) + "$" + pObj->WTCD_KOR_NM + "$" + pObj->PRST_TMPR;
- sObjList += (pObj->VILG_FRCS_ZONE_CD + "," + sStatus + "," + sLoc + "," + pObj->X_CRDN + "," + pObj->Y_CRDN + "," + sInfo + "|");
- }
- }
- __finally
- {
- ItsVilgFrcsManager->FLists.UnLock();
- sFacility = FAC_WTHR;
- sShowIcon = ChkDrawWthr->Checked ? "1" : "0";
- sShowInfo = "0";
- TCommFlash::CallFunc(ShockwaveFlash1, "RemoveFacility", sFacility);
- if (sObjList != "")
- {
- sObjList = sObjList.SubString(1, sObjList.Length()-1);
- TCommFlash::CallFunc(ShockwaveFlash1, "AddFacility", sFacility + "|" + sShowIcon + "|" + sShowInfo + "|" + sObjList);
- }
- }
- //대기환경
- sObjList = "";
- try
- {
- ItsVilgFrcsManager->FAtmpLists.Lock();
- FOR_STL(TItsAtmpPltn *, pObj, ItsVilgFrcsManager->FAtmpLists)
- {
- sStatus = pObj->pnst.INTG_ATMP_GRAD;
- String sLoc = TCommFlash::ReplaceName(pObj->STTN_NM);
- String sInfo = pObj->STTN_NM + "$" + sLoc + "$" + ITSUtil_FormatStr(pObj->pnst.MSRM_DT, STR_DATETIME) + "$" + pObj->pnst.INTG_ATMP_GRAD_NM + "$" + pObj->pnst.INTG_ATMP_GRAD_NM;
- sObjList += (pObj->STTN_NM + "," + sStatus + "," + sLoc + "," + pObj->X_CRDN + "," + pObj->Y_CRDN + "," + sInfo + "|");
- }
- }
- __finally
- {
- ItsVilgFrcsManager->FAtmpLists.UnLock();
- sFacility = FAC_ATMP;
- sShowIcon = ChkDrawWthr->Checked ? "1" : "0";
- sShowInfo = "0";
- TCommFlash::CallFunc(ShockwaveFlash1, "RemoveFacility", sFacility);
- if (sObjList != "")
- {
- sObjList = sObjList.SubString(1, sObjList.Length()-1);
- TCommFlash::CallFunc(ShockwaveFlash1, "AddFacility", sFacility + "|" + sShowIcon + "|" + sShowInfo + "|" + sObjList);
- }
- }
- //#endif
- //시설물 재설정 후 시설물 정보만 다시 그리도록 한다.
- //TCommFlash::CallFunc(ShockwaveFlash1, "RefreshMap", "");
- }
- //---------------------------------------------------------------------------
- /*
- * 돌발 상태에 따라 이미지를 전자지도에 표출한다.(XiClient->ADDAccEvent)
- * arguments
- *
- * return
- * void
- */
- void __fastcall TITS00MAP::UpdateIncidentStatus()
- {
- static String sStatusMsg[6] = { "", "사고", "공사", "행사", "기상", "기타", };
- if (!MapStart) return;
- String sFacility;
- String sShowIcon;
- String sShowInfo;
- String sObjList;
- int nStatus = 0;
- sObjList = "";
- try
- {
- ItsIncidentManager->FLists.Lock();
- FOR_STL(TItsIncident *, pObj, ItsIncidentManager->FLists)
- {
- if (pObj->DISP_INCD == "N") continue;
- if (pObj->INCD_PRGR_STEP_CD == "ISS2")
- {
- nStatus = pObj->INCD_TYPE_CLSF_CD.ToIntDef(1);
- if (nStatus > 4 || nStatus < 1) nStatus = 1;
- //돌발유형이 사고,기상인 경우는 돌발종료시각을 표출하지 않도록 함. 돌발유형이 공사,행사인 경우만 돌발종료시각 표출함
- //String sTitle = "▶▶돌발 정보◀◀|돌발 ID : " + pObj->INCD_OCRR_ID + "|제목 : " + pObj->INCD_TITL + "|유형 : " + sStatusMsg[nStatus];
- //sTitle += "|돌발등록시각: " + ITSUtil_StrToTime(pObj->RGST_DT) + "|돌발시작시각: " + ITSUtil_StrToTime(pObj->FINCD_STRT_DT);
- String sTitle = TCommFlash::ReplaceName(pObj->INCD_TITL);
- String sInfo = pObj->INCD_OCRR_ID + "$" + sTitle + "$" + sStatusMsg[nStatus];
- sInfo += "$" + ITSUtil_StrToTime(pObj->RGST_DT) + "$" + ITSUtil_StrToTime(pObj->FINCD_STRT_DT);
- if (nStatus == 1 || nStatus == 2)
- {
- sInfo += "$" + ITSUtil_StrToTime(pObj->INCD_END_PRAR_DT); //돌발종료시각
- }
- else sInfo+= "$-";
- sObjList += (pObj->INCD_OCRR_ID + "," + String(nStatus) + "," + sTitle + "," + pObj->X_CRDN + "," + pObj->Y_CRDN + "," + sInfo + "|");
- }
- }
- }
- __finally
- {
- ItsIncidentManager->FLists.UnLock();
- sFacility = FAC_INCD;
- sShowIcon = ChkDrawIncident->Checked ? "1" : "0";
- sShowInfo = "0";
- TCommFlash::CallFunc(ShockwaveFlash1, "RemoveFacility", sFacility);
- if (sObjList != "")
- {
- sObjList = sObjList.SubString(1, sObjList.Length()-1);
- TCommFlash::CallFunc(ShockwaveFlash1, "AddFacility", sFacility + "|" + sShowIcon + "|" + sShowInfo + "|" + sObjList);
- }
- }
- //TCommFlash::CallFunc(ShockwaveFlash1, "RefreshMap", "");
- }
- //---------------------------------------------------------------------------
- /*
- * 남양주 블랙박스 이벤트 상태 표출
- * arguments
- *
- * return
- * void
- */
- void __fastcall TITS00MAP::UpdateEventStatus()
- {
- if (!MapStart) return;
- String sFacility;
- String sShowIcon;
- String sShowInfo;
- String sObjList;
- int nStatus = 0;
- sObjList = "";
- try
- {
- ItsEventManager->FLists.Lock();
- FOR_STL(TItsEvent *, pObj, ItsEventManager->FLists)
- {
- //String sTitle = "▶▶돌발 정보◀◀|돌발 ID : " + pObj->INCD_OCRR_ID + "|제목 : " + pObj->INCD_TITL + "|유형 : " + sStatusMsg[nStatus];
- //sTitle += "|돌발등록시각: " + ITSUtil_StrToTime(pObj->RGST_DT) + "|돌발시작시각: " + ITSUtil_StrToTime(pObj->FINCD_STRT_DT);
- String sTitle = TCommFlash::ReplaceName(pObj->TRMN_ID);
- String sInfo = pObj->ID + "$" + sTitle + "$" + pObj->EVT_TYPE + "$" + ITSUtil_StrToDateTime(pObj->OCRR_DT).FormatString(STR_DATETIME);
- sObjList += (pObj->ID + "," + String(nStatus) + "," + sTitle + "," + pObj->X_CRDN + "," + pObj->Y_CRDN + "," + sInfo + "|");
- }
- }
- __finally
- {
- ItsEventManager->FLists.UnLock();
- sFacility = FAC_EVENT;
- sShowIcon = ChkDrawEvent->Checked ? "1" : "0";
- sShowInfo = "0";
- TCommFlash::CallFunc(ShockwaveFlash1, "RemoveFacility", sFacility);
- if (sObjList != "")
- {
- sObjList = sObjList.SubString(1, sObjList.Length()-1);
- TCommFlash::CallFunc(ShockwaveFlash1, "AddFacility", sFacility + "|" + sShowIcon + "|" + sShowInfo + "|" + sObjList);
- }
- }
- //TCommFlash::CallFunc(ShockwaveFlash1, "RefreshMap", "");
- }
- //---------------------------------------------------------------------------
- void __fastcall TITS00MAP::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] " + FSelId + " " + sLoc;
- 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] " + FSelId + " " + sLoc;
- 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] " + FSelId + " " + sLoc;
- 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 TITS00MAP::mnuFacilityPingClick(TObject *Sender)
- {
- TMenuItem *pMenu = (TMenuItem*)Sender;
- String sIp;
- Application->ProcessMessages();
- if (pMenu->Tag == 31)// && 39 >= pMenu->Tag)
- {
- TItsPis *pObj = ItsFacilityManager->FPisLists.Find(FSelId);
- if (pObj)
- {
- #if 0
- switch(pMenu->Tag)
- {
- case 31: sIp = pObj->CCTV_CAPT_IP.Trim(); break;
- default: sIp = pObj->CCTV_CTLR_IP.Trim(); break;
- }
- #endif
- }
- }
- else
- if (pMenu->Tag == 41)// && 49 >= pMenu->Tag)
- {
- TItsPcs *pObj = ItsFacilityManager->FPcsLists.Find(FSelId);
- if (pObj)
- {
- #if 0
- switch(pMenu->Tag)
- {
- case 31: sIp = pObj->CCTV_CAPT_IP.Trim(); break;
- default: sIp = pObj->CCTV_CTLR_IP.Trim(); break;
- }
- #endif
- }
- }
- else
- if (pMenu->Tag >= 11 && 15 >= pMenu->Tag)
- {
- TItsCctv *pObj = ItsFacilityManager->FCctvLists.Find(FSelId);
- if (pObj)
- {
- switch(pMenu->Tag)
- {
- case 12: sIp = pObj->CCTV_CAPT_IP.Trim(); break;
- case 13: sIp = pObj->CCTV_ENCD_IP.Trim(); break;
- case 14: sIp = pObj->STRM_SVR_IP.Trim(); break;
- case 15: sIp = pObj->CCTV_FIBR_IP.Trim(); break;
- case 11:
- default: sIp = pObj->CCTV_CTLR_IP.Trim(); break;
- }
- }
- }
- else
- if (pMenu->Tag >= 21 && 22 >= pMenu->Tag)
- {
- TItsVms *pObj = ItsFacilityManager->FVmsLists.Find(FSelId);
- if (pObj)
- {
- switch(pMenu->Tag)
- {
- case 22: sIp = pObj->WEB_CMRA_IP.Trim(); break;
- case 21:
- default: sIp = pObj->VMS_CTLR_IP.Trim(); break;
- }
- }
- }
- else
- if (pMenu->Tag == 2)
- {
- TItsRse *pObj = ItsFacilityManager->FRseLists.Find(FSelId);
- if (pObj) sIp = pObj->RSEIP.Trim();
- }
- else
- if (pMenu->Tag == 4)
- {
- TItsVds *pObj = ItsFacilityManager->FVdsLists.Find(FSelId);
- if (pObj) sIp = pObj->TRMN_IP.Trim();
- }
- else
- if (pMenu->Tag == 5)
- {
- TItsAvi *pObj = ItsFacilityManager->FAviLists.Find(FSelId);
- if (pObj) sIp = pObj->AVI_CTLR_IP.Trim();
- }
- else
- if (pMenu->Tag == 6)
- {
- TItsDsrc *pObj = ItsFacilityManager->FDsrcLists.Find(FSelId);
- if (pObj) sIp = pObj->IP.Trim();
- }
- else
- if (pMenu->Tag == 88)
- {
- TItsParking *pObj = ItsFacilityManager->FParkLists.Find(FSelId);
- if (pObj) sIp = pObj->TRMN_IP.Trim();
- }
- else
- if (pMenu->Tag == 99)
- {
- TItsWebCam *pObj = ItsFacilityManager->FWebCamLists.Find(FSelId);
- if (pObj) sIp = pObj->CMRA_IP.Trim();
- }
- if (sIp.IsEmpty())
- {
- Application->MessageBox(L"IP Address 정보가 없습니다.\r\nIP Address 정보를 확인하세요.",
- L"네크워크 연결확인", MB_OK|MB_ICONERROR|MB_APPLMODAL);
- return;
- }
- if (sIp != "")
- {
- ITSUtil_NetworkPing(sIp);
- }
- }
- //---------------------------------------------------------------------------
- void __fastcall TITS00MAP::mnuStopImageClick(TObject *Sender)
- {
- Application->ProcessMessages();
- TPoint pt;
- GetCursorPos(&pt);
- pt = ITS0000M->ScreenToClient(pt);
- ShowCctvStopImage(FSelId, pt);
- }
- //---------------------------------------------------------------------------
- void __fastcall TITS00MAP::mnuCctvCamClick(TObject *Sender)
- {
- Application->ProcessMessages();
- TPoint pt;
- GetCursorPos(&pt);
- pt = ITS0000M->ScreenToClient(pt);
- ShowCctvCamera(FSelId, pt);
- }
- //---------------------------------------------------------------------------
- void __fastcall TITS00MAP::mnuVmsMsgClick(TObject *Sender)
- {
- Application->ProcessMessages();
- TPoint pt;
- GetCursorPos(&pt);
- pt = ITS0000M->ScreenToClient(pt);
- ShowVmsMessage(FSelId, pt);
- }
- //---------------------------------------------------------------------------
- void __fastcall TITS00MAP::mnuVmsCamClick(TObject *Sender)
- {
- Application->ProcessMessages();
- TPoint pt;
- GetCursorPos(&pt);
- pt = ITS0000M->ScreenToClient(pt);
- ShowVmsCamera(FSelId, pt);
- }
- //---------------------------------------------------------------------------
- void __fastcall TITS00MAP::ShowCctvStopImage(String AId, TPoint pt)
- {
- TItsCctv *pObj = ItsFacilityManager->FCctvLists.Find(AId);
- if (!pObj) return;
- try {
- if (pObj->FData1)
- {
- TFrmCctvImg *pForm = (TFrmCctvImg *)pObj->FData1;
- pForm->SetFocus();
- pForm->LoadStopImage();
- }
- else
- {
- TFrmCctvImg *pForm = new TFrmCctvImg(ITS0000M);
- pForm->Parent = ITS0000M;
- if ((pt.x + pForm->Width + 5) > this->Width)
- {
- pt.x = this->Width - pForm->Width - 5;
- }
- if ((pt.y + pForm->Height + 5) > this->Height)
- {
- pt.y = this->Height - pForm->Height - 5;
- }
- pForm->Left = Left + pt.x;
- pForm->Top = Top + pt.y;
- pForm->FObj = pObj;
- pObj->FData1 = (void*)pForm;
- pForm->Show();
- }
- } catch(...) {}
- }
- //---------------------------------------------------------------------------
- void __fastcall TITS00MAP::ShowCctvCamera(String AId, TPoint pt)
- {
- TItsCctv *pObj = ItsFacilityManager->FCctvLists.Find(AId);
- if (!pObj) return;
- try {
- if (pObj->FData2)
- {
- TFrmStreamPlayer *pForm = (TFrmStreamPlayer *)pObj->FData2;
- pForm->SetFocus();
- //pForm->RefreshCctv();
- }
- else
- {
- TFrmStreamPlayer *pForm = new TFrmStreamPlayer(ITS0000M);
- pForm->FObj.IsCctv = true;
- pForm->FObj.ID = pObj->CCTV_CTLR_ID;
- pForm->FObj.NAME = pObj->ISTL_LCTN_NM;
- pForm->FObj.RTSP_ADDR = pObj->STRM_SESN_NM;
- pForm->FObj.Data = &pObj->FData2;
- pForm->FObj.Installed = true;
- pForm->Parent = ITS0000M;
- if ((pt.x + pForm->Width + 5) > this->Width)
- {
- pt.x = this->Width - pForm->Width - 5;
- }
- if ((pt.y + pForm->Height + 5) > this->Height)
- {
- pt.y = this->Height - pForm->Height - 5;
- }
- pForm->Left = Left + pt.x;
- pForm->Top = Top + pt.y;
- pObj->FData2 = (void*)pForm;
- pForm->Show();
- }
- } catch(...) {}
- }
- //---------------------------------------------------------------------------
- void __fastcall TITS00MAP::ShowVmsCamera(String AId, TPoint pt)
- {
- TItsVms *pObj = ItsFacilityManager->FVmsLists.Find(FSelId);
- if (!pObj) return;
- try {
- if (pObj->FData2)
- {
- TFrmStreamPlayer *pForm = (TFrmStreamPlayer *)pObj->FData2;
- pForm->SetFocus();
- //pForm->RefreshVms();
- }
- else
- {
- TFrmStreamPlayer *pForm = new TFrmStreamPlayer(ITS0000M);
- pForm->FObj.IsCctv = false;
- pForm->FObj.ID = String(pObj->VMS_CTLR_NMBR);
- pForm->FObj.NAME = pObj->VMS_NM;
- pForm->FObj.RTSP_ADDR = pObj->STRM_SESN_NM;
- pForm->FObj.Data = &pObj->FData2;
- pForm->FObj.Installed = true;
- pForm->Parent = ITS0000M;
- if ((pt.x + pForm->Width + 5) > this->Width)
- {
- pt.x = this->Width - pForm->Width - 5;
- }
- if ((pt.y + pForm->Height + 5) > this->Height)
- {
- pt.y = this->Height - pForm->Height - 5;
- }
- pForm->Left = Left + pt.x;
- pForm->Top = Top + pt.y;
- pObj->FData2 = (void*)pForm;
- pForm->Show();
- }
- } catch(...) {}
- }
- //---------------------------------------------------------------------------
- void __fastcall TITS00MAP::ShowWebCamera(String AId, TPoint pt)
- {
- TItsWebCam *pObj = ItsFacilityManager->FWebCamLists.Find(FSelId);
- if (!pObj) return;
- try {
- if (pObj->FData2)
- {
- TFrmStreamPlayer *pForm = (TFrmStreamPlayer *)pObj->FData2;
- pForm->SetFocus();
- }
- else
- {
- TFrmStreamPlayer *pForm = new TFrmStreamPlayer(ITS0000M);
- pForm->FObj.IsCctv = false;
- pForm->FObj.ID = pObj->WEB_CMRA_ID;
- pForm->FObj.NAME = pObj->ISTL_LCTN_NM;
- pForm->FObj.RTSP_ADDR = pObj->STRM_SESN_NM;
- pForm->FObj.Data = &pObj->FData2;
- pForm->FObj.Installed = true;
- pForm->Parent = ITS0000M;
- if ((pt.x + pForm->Width + 5) > this->Width)
- {
- pt.x = this->Width - pForm->Width - 5;
- }
- if ((pt.y + pForm->Height + 5) > this->Height)
- {
- pt.y = this->Height - pForm->Height - 5;
- }
- pForm->Left = Left + pt.x;
- pForm->Top = Top + pt.y;
- pObj->FData2 = (void*)pForm;
- pForm->Show();
- }
- } catch(...) {}
- }
- //---------------------------------------------------------------------------
- void __fastcall TITS00MAP::ShowVmsMessage(String AId, TPoint pt)
- {
- TItsVms *pObj = ItsFacilityManager->FVmsLists.Find(FSelId);
- if (!pObj) return;
- try {
- if (pObj->FData1)
- {
- TFrmVmsMsg *pForm = (TFrmVmsMsg *)pObj->FData1;
- pForm->SetFocus();
- }
- else
- {
- TFrmVmsMsg *pForm = new TFrmVmsMsg(ITS0000M, pObj);
- pForm->Parent = ITS0000M;
- int nHG = pForm->ClientHeight - pForm->PnlVmsMsgDisp->Height;
- int nWG = pForm->ClientWidth - pForm->PnlVmsMsgDisp->Width;
- #if 0
- pForm->ClientHeight = nHG + pObj->Height;
- pForm->ClientWidth = nWG + pObj->Width;
- #endif
- if ((pt.x + pForm->Width + 5) > this->Width)
- {
- pt.x = this->Width - pForm->Width - 5;
- }
- if ((pt.y + pForm->Height + 5) > this->Height)
- {
- pt.y = this->Height - pForm->Height - 5;
- }
- pForm->Left = Left + pt.x;
- pForm->Top = Top + pt.y;
- pObj->FData1 = (void*)pForm;
- pForm->Show();
- }
- } catch(...) {}
- }
- //---------------------------------------------------------------------------
- void __fastcall TITS00MAP::RefreshGisLink()
- {
- SelectLinkById(g_SelLink.Level, g_SelLink.Id, true);
- }
- //---------------------------------------------------------------------------
- void __fastcall TITS00MAP::MnuWebCamClick(TObject *Sender)
- {
- Application->ProcessMessages();
- TPoint pt;
- GetCursorPos(&pt);
- pt = ITS0000M->ScreenToClient(pt);
- ShowWebCamera(FSelId, pt);
- }
- //---------------------------------------------------------------------------
- void __fastcall TITS00MAP::TmrLblTrafficTimer(TObject *Sender)
- {
- TmrLblTraffic->Enabled = false;
- LblTraffic->Visible = false;
- }
- //---------------------------------------------------------------------------
- void __fastcall TITS00MAP::FormResize(TObject *Sender)
- {
- ShockwaveFlash1->Align = alClient;
- }
- //---------------------------------------------------------------------------
- void __fastcall TITS00MAP::ShowHideFacility()
- {
- if (!MapStart) return;
- String sFacility;
- String sShowIcon;
- String sShowInfo;
- if (ChkDrawCtv->Visible)
- {
- sFacility = FAC_CCTV;
- sShowIcon = ChkDrawCtv->Checked ? "1" : "0";
- sShowInfo = "0";
- TCommFlash::CallFunc(ShockwaveFlash1, "ShowFacility", sFacility + "|" + sShowIcon + "|" + sShowInfo);
- }
- if (ChkDrawVms->Visible)
- {
- sFacility = FAC_VMS;
- sShowIcon = ChkDrawVms->Checked ? "1" : "0";
- sShowInfo = "0";
- TCommFlash::CallFunc(ShockwaveFlash1, "ShowFacility", sFacility + "|" + sShowIcon + "|" + sShowInfo);
- }
- if (ChkDrawRse->Visible)
- {
- sFacility = FAC_RSE;
- sShowIcon = ChkDrawRse->Checked ? "1" : "0";
- sShowInfo = "0";
- TCommFlash::CallFunc(ShockwaveFlash1, "ShowFacility", sFacility + "|" + sShowIcon + "|" + sShowInfo);
- }
- if (ChkWebCam->Visible)
- {
- sFacility = FAC_WCAM;
- sShowIcon = ChkWebCam->Checked ? "1" : "0";
- sShowInfo = "0";
- TCommFlash::CallFunc(ShockwaveFlash1, "ShowFacility", sFacility + "|" + sShowIcon + "|" + sShowInfo);
- }
- if (ChkDrawVds->Visible)
- {
- sFacility = FAC_VDS;
- sShowIcon = ChkDrawVds->Checked ? "1" : "0";
- sShowInfo = "0";
- TCommFlash::CallFunc(ShockwaveFlash1, "ShowFacility", sFacility + "|" + sShowIcon + "|" + sShowInfo);
- }
- if (ChkDrawAvi->Visible)
- {
- sFacility = FAC_AVI;
- sShowIcon = ChkDrawAvi->Checked ? "1" : "0";
- sShowInfo = "0";
- TCommFlash::CallFunc(ShockwaveFlash1, "ShowFacility", sFacility + "|" + sShowIcon + "|" + sShowInfo);
- }
- if (ChkDrawDsrc->Visible)
- {
- sFacility = FAC_DSRC;
- sShowIcon = ChkDrawDsrc->Checked ? "1" : "0";
- sShowInfo = "0";
- TCommFlash::CallFunc(ShockwaveFlash1, "ShowFacility", sFacility + "|" + sShowIcon + "|" + sShowInfo);
- }
- if (ChkDrawPark->Visible)
- {
- sFacility = FAC_PARK;
- sShowIcon = ChkDrawPark->Checked ? "1" : "0";
- sShowInfo = "0";
- TCommFlash::CallFunc(ShockwaveFlash1, "ShowFacility", sFacility + "|" + sShowIcon + "|" + sShowInfo);
- }
- if (ChkDrawIncident->Visible)
- {
- sFacility = FAC_INCD;
- sShowIcon = ChkDrawIncident->Checked ? "1" : "0";
- sShowInfo = "0";
- TCommFlash::CallFunc(ShockwaveFlash1, "ShowFacility", sFacility + "|" + sShowIcon + "|" + sShowInfo);
- }
- if (ChkDrawBit->Visible)
- {
- sFacility = FAC_BIT;
- sShowIcon = ChkDrawBit->Checked ? "1" : "0";
- sShowInfo = "0";
- TCommFlash::CallFunc(ShockwaveFlash1, "ShowFacility", sFacility + "|" + sShowIcon + "|" + sShowInfo);
- }
- if (ChkDrawSig->Visible)
- {
- sFacility = FAC_SIG;
- sShowIcon = ChkDrawSig->Checked ? "1" : "0";
- sShowInfo = "0";
- TCommFlash::CallFunc(ShockwaveFlash1, "ShowFacility", sFacility + "|" + sShowIcon + "|" + sShowInfo);
- }
- if (ChkDrawSigDet->Visible)
- {
- sFacility = FAC_SIGDET;
- sShowIcon = ChkDrawSigDet->Checked ? "1" : "0";
- sShowInfo = "0";
- TCommFlash::CallFunc(ShockwaveFlash1, "ShowFacility", sFacility + "|" + sShowIcon + "|" + sShowInfo);
- }
- if (ChkDrawPis->Visible)
- {
- sFacility = FAC_PVMS;
- sShowIcon = ChkDrawPis->Checked ? "1" : "0";
- sShowInfo = "0";
- TCommFlash::CallFunc(ShockwaveFlash1, "ShowFacility", sFacility + "|" + sShowIcon + "|" + sShowInfo);
- }
- if (ChkDrawPcs->Visible)
- {
- sFacility = FAC_PVDS;
- sShowIcon = ChkDrawPcs->Checked ? "1" : "0";
- sShowInfo = "0";
- TCommFlash::CallFunc(ShockwaveFlash1, "ShowFacility", sFacility + "|" + sShowIcon + "|" + sShowInfo);
- }
- //남양주-블랙박스이벤트는 항상 표출하도록 한다
- //if (ChkDrawEvent->Visible)
- {
- sFacility = FAC_EVENT;
- sShowIcon = ChkDrawEvent->Checked ? "1" : "0";
- sShowInfo = "0";
- TCommFlash::CallFunc(ShockwaveFlash1, "ShowFacility", sFacility + "|" + sShowIcon + "|" + sShowInfo);
- }
- if (ChkDrawWthr->Visible)
- {
- sFacility = FAC_WTHR;
- sShowIcon = ChkDrawWthr->Checked ? "1" : "0";
- sShowInfo = "0";
- TCommFlash::CallFunc(ShockwaveFlash1, "ShowFacility", sFacility + "|" + sShowIcon + "|" + sShowInfo);
- sFacility = FAC_ATMP;
- sShowIcon = ChkDrawWthr->Checked ? "1" : "0";
- sShowInfo = "0";
- TCommFlash::CallFunc(ShockwaveFlash1, "ShowFacility", sFacility + "|" + sShowIcon + "|" + sShowInfo);
- }
- }
- //---------------------------------------------------------------------------
- void __fastcall TITS00MAP::ShockwaveFlash1FlashCall(TObject *ASender, const WideString request)
- {
- try
- {
- String sTemp;
- String sFunc;
- String sArgs;
- //<invoke name="Debug" returntype="xml"><arguments><string>KKK|LinkMap 1</string></arguments></invoke>
- sTemp = request;
- int nFuncStrIdx = sTemp.Pos("\"");
- int nFuncEndIdx = sTemp.Pos("\" returntype");
- int nArgsStrIdx = sTemp.Pos("string>");
- int nArgsEndIdx = sTemp.Pos("</string");
- sFunc = sTemp.SubString(nFuncStrIdx + 1, nFuncEndIdx - (nFuncStrIdx + 1));
- sArgs = sTemp.SubString(nArgsStrIdx + 7, nArgsEndIdx - (nArgsStrIdx + 7));
- if (Memo1->Visible)
- {
- Memo1->Lines->Add("[" + sFunc + "] [" + sArgs + "]");
- }
- if (sFunc == "OnMapStart")
- {
- MapStart = true;
- LblZoomLevel->Caption = sArgs;
- TCommFlash::CallFunc(ShockwaveFlash1, "MultiSelect", "0");
- String sFacility = "";
- sFacility += FAC_CCTV + "|";
- sFacility += FAC_VMS + "|";
- sFacility += FAC_RSE + "|";
- sFacility += FAC_WCAM + "|";
- sFacility += FAC_VDS + "|";
- sFacility += FAC_AVI + "|";
- sFacility += FAC_DSRC + "|";
- sFacility += FAC_PARK + "|";
- sFacility += FAC_INCD + "|";
- sFacility += FAC_PVMS + "|";
- sFacility += FAC_PVDS + "|";
- sFacility += FAC_BIT + "|";
- sFacility += FAC_SIG + "|";
- sFacility += FAC_SIGDET + "|";
- sFacility += FAC_EVENT + "|";
- sFacility += FAC_WTHR + "|";
- sFacility += FAC_ATMP + "|";
- TCommFlash::CallFunc(ShockwaveFlash1, "AddFacilityKind", sFacility);
- ChkTrafficLayerClick(NULL); //소통정보/힌트표출여부
- #if 0
- PbLoadMap->Position = 10;
- PbLoadMap->Properties->Text = "행정구역정보 로딩 중...";
- Application->ProcessMessages();
- TCommFlash::CallFunc(ShockwaveFlash1, "LoadRegionVertex", "1");
- #else
- PbLoadMap->Position = 20;
- PbLoadMap->Properties->Text = "노드정보 로딩 중...";
- Application->ProcessMessages();
- TCommFlash::CallFunc(ShockwaveFlash1, "LoadNode", "1");
- #endif
- }
- else
- if (sFunc == "OnRegionVertexLoad")
- {
- PbLoadMap->Position = 20;
- PbLoadMap->Properties->Text = "노드정보 로딩 중...";
- Application->ProcessMessages();
- TCommFlash::CallFunc(ShockwaveFlash1, "LoadNode", "1");
- }
- else
- if (sFunc == "OnZoomChanged")
- {
- TStringList *pStringList = new TStringList;
- pStringList->CommaText = sArgs;
- String sZoom = pStringList->Strings[0];
- delete pStringList;
- LblZoomLevel->Caption = sZoom;
- switch(sZoom.ToIntDef(0))
- {
- case 0: m_nMapLevel = 1; break; //LINK
- case 1: m_nMapLevel = 1; break; //LINK
- case 2: m_nMapLevel = 2; break; //IFSC
- case 3: m_nMapLevel = 2; break; //IFSC
- case 4: m_nMapLevel = 2; break; //IFSC
- case 5: m_nMapLevel = 3; break; //ROAD
- default: m_nMapLevel = 3; break; //ROAD
- }
- LblLinkLevel->Caption = String(m_nMapLevel);
- }
- else
- if (sFunc == "OnMousePos")
- {
- TStringList *pStringList = new TStringList;
- pStringList->CommaText = sArgs;
- String sMapX = pStringList->Strings[0]; //lat
- String sMapY = pStringList->Strings[1]; //lng
- delete pStringList;
- try {
- SePosX->Value = sMapX.ToDouble();
- SePosY->Value = sMapY.ToDouble();
- } catch(...) {}
- }
- else
- if (sFunc == "OnNodeLoad")
- {
- PbLoadMap->Position = 30;
- PbLoadMap->Properties->Text = "링크정보 로딩 중...";
- Application->ProcessMessages();
- TCommFlash::CallFunc(ShockwaveFlash1, "LoadLink", "1");
- }
- else
- if (sFunc == "OnLinkLoad")
- {
- TStringList *pStringList = new TStringList;
- pStringList->CommaText = sArgs;
- String sResult = pStringList->Strings[0];
- String sLevel = pStringList->Strings[1];
- delete pStringList;
- if (sLevel == "1")
- {
- PbLoadMap->Position = 40;
- PbLoadMap->Properties->Text = "정보제공구간정보 로딩 중...";
- Application->ProcessMessages();
- TCommFlash::CallFunc(ShockwaveFlash1, "LoadLink", "2");
- }
- else
- if (sLevel == "2")
- {
- PbLoadMap->Position = 50;
- PbLoadMap->Properties->Text = "도로정보 로딩 중...";
- Application->ProcessMessages();
- TCommFlash::CallFunc(ShockwaveFlash1, "LoadLink", "3");
- }
- else
- if (sLevel == "3")
- {
- PbLoadMap->Position = 60;
- PbLoadMap->Properties->Text = "링크버텍스정보 로딩 중...";
- Application->ProcessMessages();
- TCommFlash::CallFunc(ShockwaveFlash1, "LoadLinkVertex", "1");
- }
- }
- else
- if (sFunc == "OnLinkVertexLoad")
- {
- TStringList *pStringList = new TStringList;
- pStringList->CommaText = sArgs;
- String sResult = pStringList->Strings[0];
- String sLevel = pStringList->Strings[1];
- delete pStringList;
- if (sLevel == "1")
- {
- PbLoadMap->Position = 70;
- PbLoadMap->Properties->Text = "정보제공구간버텍스정보 로딩 중...";
- Application->ProcessMessages();
- TCommFlash::CallFunc(ShockwaveFlash1, "LoadLinkVertex", "2");
- }
- else
- if (sLevel == "2")
- {
- PbLoadMap->Position = 80;
- PbLoadMap->Properties->Text = "도로버텍스정보 로딩 중...";
- Application->ProcessMessages();
- TCommFlash::CallFunc(ShockwaveFlash1, "LoadLinkVertex", "3");
- }
- else
- if (sLevel == "3")
- {
- PbLoadMap->Position = 90;
- PbLoadMap->Properties->Text = "시설물정보 로딩 중...";
- Application->ProcessMessages();
- UpdateFacilityStatus(); //시설물 추가
- UpdateIncidentStatus(); //돌발추가
- UpdateEventStatus();
- RefreshMapTraffic(); //소통정보 업데이트
- //TCommFlash::CallFunc(ShockwaveFlash1, "RefreshMap", "1");
- PnlProgress->Visible = false;
- }
- }
- else
- if (sFunc == "OnFindLink")
- {
- TStringList *pStringList = new TStringList;
- pStringList->CommaText = sArgs;
- String sResult = pStringList->Strings[0]; //Find resule
- String sLinkId = pStringList->Strings[1]; //Link Id
- delete pStringList;
- }
- else
- if (sFunc == "OnSelLink")
- {
- TStringList *pStringList = new TStringList;
- pStringList->CommaText = sArgs;
- String sLevl = pStringList->Strings[0]; //링크레벨
- String sId = pStringList->Strings[1]; //링크아이디
- String sZoom = pStringList->Strings[2]; //줌레벨
- String sPosX = pStringList->Strings[3]; //x
- String sPosY = pStringList->Strings[4]; //y
- String sMapX = pStringList->Strings[5]; //lat
- String sMapY = pStringList->Strings[6]; //lng
- delete pStringList;
- try {
- SePosX->Value = sMapX.ToDouble();
- SePosY->Value = sMapY.ToDouble();
- ShowLinkDetailInfo(sId, sLevl.ToIntDef(1));
- } catch(...) {}
- }
- else
- if (sFunc == "OnMousePouup")
- {
- TStringList *pStringList = new TStringList;
- pStringList->CommaText = sArgs;
- String sType = pStringList->Strings[0]; //유형
- String sId = pStringList->Strings[1]; //아이디
- String sPosX = pStringList->Strings[2]; //x
- String sPosY = pStringList->Strings[3]; //y
- String sInfo = pStringList->Strings[4]; //정보
- delete pStringList;
- //if (ModeSelect)
- {
- OnMapPopupMenu(sType, sId, sPosX, sPosY, sInfo);
- }
- }
- else
- if (sFunc == "OnFacilityMenu")
- {
- TStringList *pStringList = new TStringList;
- pStringList->CommaText = sArgs;
- String sType = pStringList->Strings[0]; //시설물유형
- String sId = pStringList->Strings[1]; //시설물아이디
- String sPosX = pStringList->Strings[2]; //x
- String sPosY = pStringList->Strings[3]; //y
- delete pStringList;
- //Memo1->Lines->Add(sType + " : " + sId + " " + sPosX + " : " + sPosY);
- FSelId = sId;
- 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(Exception &exception)
- {
- }
- }
- //---------------------------------------------------------------------------
- void __fastcall TITS00MAP::OnMapPopupMenu(String AType, String AId, String APosX, String APosY, String AInfo)
- {
- FSelId = AId;
- POINT p;
- GetCursorPos(&p);
- String sType = AType;
- 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);
- else if (sType == FAC_EVENT) pmuEvent->Popup(p.x, p.y);
- else if (sType == FAC_WTHR) ;//pmuEvent->Popup(p.x, p.y);
- else if (AType == "MAP") pmuGis->Popup(p.x, p.y);
- else if (AType == "LINK")
- {
- //AInfo == LinkId
- //pmuGis->Popup(p.x, p.y);
- }
- #if 0
- else
- if (AType == "PIS")
- {
- pmuPis->Popup(p.x, p.y);
- }
- else
- if (AType == "PCS")
- {
- pmuPis->Popup(p.x, p.y);
- }
- #endif
- }
- //---------------------------------------------------------------------------
- void __fastcall TITS00MAP::SelGisItem(int AType, String AId)
- {
- try
- {
- if (!MapStart) return;
- switch(AType)
- {
- case 0: TCommFlash::CallFunc(ShockwaveFlash1, "MoveNode", AId); break;
- case 1: TCommFlash::CallFunc(ShockwaveFlash1, "FindLink", AId); break;
- case 2: TCommFlash::CallFunc(ShockwaveFlash1, "FindLink", AId); break;
- case 3: TCommFlash::CallFunc(ShockwaveFlash1, "FindLink", AId); break;
- default: return;
- }
- }
- catch(...)
- {
- }
- }
- //---------------------------------------------------------------------------
- void __fastcall TITS00MAP::PnlToolBarDblClick(TObject *Sender)
- {
- Memo1->Visible = !Memo1->Visible;
- }
- //---------------------------------------------------------------------------
- void __fastcall TITS00MAP::ShowLayerEditForm()
- {
- }
- //---------------------------------------------------------------------------
- void __fastcall TITS00MAP::mnuParkMsgClick(TObject *Sender)
- {
- Application->ProcessMessages();
- TPoint pt;
- GetCursorPos(&pt);
- pt = ITS0000M->ScreenToClient(pt);
- ShowParkMessage(FSelId, pt);
- }
- //---------------------------------------------------------------------------
- void __fastcall TITS00MAP::ShowParkMessage(String AId, TPoint pt)
- {
- TItsParking *pObj = ItsFacilityManager->FParkLists.Find(FSelId);
- if (!pObj) return;
- try {
- if (pObj->FData1)
- {
- TFrmParkMsg *pForm = (TFrmParkMsg *)pObj->FData1;
- pForm->SetFocus();
- }
- else
- {
- TFrmParkMsg *pForm = new TFrmParkMsg(ITS0000M, pObj);
- pForm->Parent = ITS0000M;
- if ((pt.x + pForm->Width + 5) > this->Width)
- {
- pt.x = this->Width - pForm->Width - 5;
- }
- if ((pt.y + pForm->Height + 5) > this->Height)
- {
- pt.y = this->Height - pForm->Height - 5;
- }
- pForm->Left = Left + pt.x;
- pForm->Top = Top + pt.y;
- pObj->FData1 = (void*)pForm;
- pForm->Show();
- }
- } catch(...) {}
- }
- //---------------------------------------------------------------------------
- void __fastcall TITS00MAP::mnuViewEventCamClick(TObject *Sender)
- {
- Application->ProcessMessages();
- TItsEvent *pObj = ItsEventManager->FLists.Find(FSelId);
- if (pObj == NULL)
- {
- Application->MessageBox(L"블랙박스 이벤트를 찾을 수 없습니다.\r\n블랙박스 이벤트 정보를 다시 선택하십시요.",
- L"블랙박스 이벤트 영상보기", MB_OK|MB_ICONERROR|MB_APPLMODAL);
- return;
- }
- #if 1
- String EventID = FSelId;
- String BDS_MNGM_NMBR = pObj->BDS_MNGM_NMBR; // N VARCHAR2(20) N 블랙박스 관리 번호
- String OPNC_NMBR = pObj->OPNC_NMBR; // N VARCHAR2(128) Y 개통 번호
- String MDM_NMBR = pObj->MDM_NMBR; // N VARCHAR2(10) Y 모뎀 번호
- String USIM_NMBR = pObj->USIM_NMBR; // N VARCHAR2(10) Y 유심 번호
- String VHCL_NMBR = pObj->VHCL_NMBR; // N VARCHAR2(15) Y 차량 번호
- String OWNR_NM = pObj->OWNR_NM; // N VARCHAR2(30) Y 소유자 명
- String OCRR_DT = pObj->OCRR_DT; // N VARCHAR2(14) N 발생 일시
- String EVT_TYPE = pObj->EVT_TYPE;
- String TRMN_ID = pObj->TRMN_ID; // N VARCHAR2(128) Y 단말기 ID
- String X_CRDN = pObj->X_CRDN; // N NUMBER(11,8) Y x 좌표
- String Y_CRDN = pObj->Y_CRDN; // N NUMBER(10,8) Y Y 좌표
- String IMGN_PATH = pObj->IMGN_PATH; // N VARCHAR2(200) Y 영상 경로
- OWNR_NM = StringReplace(OWNR_NM, "|", " ", TReplaceFlags() << rfReplaceAll);
- String AClassName = "TFrmFtpCamViewer";
- HWND hExeForm = FindWindow(AClassName.c_str(), NULL);
- if (hExeForm)
- {
- SetWindowPos(hExeForm, HWND_TOP, 0, 0, 0, 0, SWP_SHOWWINDOW | SWP_NOSIZE | SWP_NOMOVE);
- }
- else
- {
- String sExeName = g_sAppDir + "FtpCamViewer.exe";
- String sExeParam =
- EventID + "|" +
- BDS_MNGM_NMBR + "|" +
- OPNC_NMBR + "|" +
- MDM_NMBR + "|" +
- USIM_NMBR + "|" +
- VHCL_NMBR + "|" +
- OWNR_NM + "|" +
- OCRR_DT + "|" +
- EVT_TYPE + "|" +
- TRMN_ID + "|" +
- X_CRDN + "|" +
- Y_CRDN + "|" +
- IMGN_PATH ;
- //ShellExecute(FrmMain->Handle, NULL, sExeName.c_str(), sExeParam.c_str(), NULL, SW_SHOWNORMAL);
- ShellExecute(NULL, NULL, sExeName.c_str(), sExeParam.c_str(), NULL, SW_SHOWNORMAL);
- }
- #else
- try
- {
- BDS0000M = new TBDS0000M(this);
- BDS0000M->EventID = FSelId;
- BDS0000M->BDS_MNGM_NMBR = pObj->BDS_MNGM_NMBR; // N VARCHAR2(20) N 블랙박스 관리 번호
- BDS0000M->OPNC_NMBR = pObj->OPNC_NMBR; // N VARCHAR2(128) Y 개통 번호
- BDS0000M->MDM_NMBR = pObj->MDM_NMBR; // N VARCHAR2(10) Y 모뎀 번호
- BDS0000M->USIM_NMBR = pObj->USIM_NMBR; // N VARCHAR2(10) Y 유심 번호
- BDS0000M->VHCL_NMBR = pObj->VHCL_NMBR; // N VARCHAR2(15) Y 차량 번호
- BDS0000M->OWNR_NM = pObj->OWNR_NM; // N VARCHAR2(30) Y 소유자 명
- BDS0000M->OCRR_DT = pObj->OCRR_DT; // N VARCHAR2(14) N 발생 일시
- BDS0000M->EVT_TYPE = pObj->EVT_TYPE;
- BDS0000M->TRMN_ID = pObj->TRMN_ID; // N VARCHAR2(128) Y 단말기 ID
- BDS0000M->X_CRDN = pObj->X_CRDN; // N NUMBER(11,8) Y x 좌표
- BDS0000M->Y_CRDN = pObj->Y_CRDN; // N NUMBER(10,8) Y Y 좌표
- BDS0000M->IMGN_PATH = pObj->IMGN_PATH; // N VARCHAR2(200) Y 영상 경로
- BDS0000M->ShowModal();
- }
- __finally
- {
- if (BDS0000M) delete BDS0000M;
- BDS0000M = NULL;
- }
- #endif
- }
- //---------------------------------------------------------------------------
|