//--------------------------------------------------------------------------- #ifndef ITSSELAMFH #define ITSSELAMFH //--------------------------------------------------------------------------- #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "cxButtons.hpp" #include "cxCalc.hpp" #include "cxClasses.hpp" #include "cxContainer.hpp" #include "cxControls.hpp" #include "cxCustomData.hpp" #include "cxData.hpp" #include "cxDataStorage.hpp" #include "cxEdit.hpp" #include "cxFilter.hpp" #include "cxGraphics.hpp" #include "cxGrid.hpp" #include "cxGridCustomTableView.hpp" #include "cxGridCustomView.hpp" #include "cxGridLevel.hpp" #include "cxGridTableView.hpp" #include "cxGroupBox.hpp" #include "cxLabel.hpp" #include "cxLookAndFeelPainters.hpp" #include "cxLookAndFeels.hpp" #include "cxPC.hpp" #include "cxPCdxBarPopupMenu.hpp" #include "cxSplitter.hpp" #include "cxStyles.hpp" #include "cxTextEdit.hpp" #include "dxSkinBlack.hpp" #include "dxSkinBlue.hpp" #include "dxSkinsCore.hpp" #include "dxSkinscxPCPainter.hpp" #include "FRAME_GoogleMapF.h" #include "FRAME_LinkListF.h" #include "FRAME_NodeListF.h" #include "FRAME_RoadListF.h" #include "FRAME_ServiceLinkListF.h" #include "GMClasses.hpp" #include "GMLinkedComponents.hpp" #include "GMMap.hpp" #include "GMPolyline.hpp" #include "GMPolylineVCL.hpp" #include "LibSTLF.hpp" #include "GMMarker.hpp" #include "GMMarkerVCL.hpp" //--------------------------------------------------------------------------- class TSelManager { public: TSelManager() {}; virtual ~TSelManager() { FLists.RemoveAll(); }; public: ListMap FLists; public: }; //--------------------------------------------------------------------------- class TITSSELAM : public TForm { __published: // IDE-managed Components TcxButton *BtnSearch; TcxButton *BtnClose; TLabel *LblCaption; TEdit *EdFocus; TShape *ShpList; TTimer *TmrShow; TPanel *PnlBack; TcxGroupBox *cxGroupBox1; TcxSplitter *cxSplitter1; TPanel *PnlRight; TcxGroupBox *cxGroupBox2; TcxButton *BtnSelect; TcxPageControl *PgList; TcxTabSheet *TabNode; TcxTabSheet *TabLink; TcxTabSheet *TabServiceLink; TcxTabSheet *TabRoad; TFRAMENodeList *FRAMENodeList1; TFRAMELinkList *FRAMELinkList1; TFRAMEServiceLinkList *FRAMEServiceLinkList1; TFRAMERoadList *FRAMERoadList1; TStatusBar *StatusBar; TcxSplitter *cxSplitter2; TcxGrid *CxList; TcxGridTableView *TvList; TcxGridColumn *Column01; TcxGridColumn *Column02; TcxGridColumn *Column03; TcxGridColumn *Column99; TcxGridLevel *GlList; TcxButton *BtnDelete; TPanel *Panel1; TImage *ImgDesc04; TImage *ImgDesc01; TcxLabel *cxLabel4; TcxLabel *cxLabel1; TcxTextEdit *EdPos; TcxTextEdit *EdLinkId; TFRAMEGoogleMap *FRAMEGoogleMap1; TGMPolyline *GMPolyLink; TcxLabel *lblText1; TTimer *TmrClear; TGMMarker *GMMarkerPos; TTimer *TmrPosClear; void __fastcall FormShow(TObject *Sender); void __fastcall TmrShowTimer(TObject *Sender); void __fastcall BtnSearchClick(TObject *Sender); void __fastcall BtnCloseClick(TObject *Sender); void __fastcall FormClose(TObject *Sender, TCloseAction &Action); void __fastcall FRAMENodeList1TvListCellDblClick(TcxCustomGridTableView *Sender, TcxGridTableDataCellViewInfo *ACellViewInfo, TMouseButton AButton, TShiftState AShift, bool &AHandled); void __fastcall FRAMELinkList1TvListCellDblClick(TcxCustomGridTableView *Sender, TcxGridTableDataCellViewInfo *ACellViewInfo, TMouseButton AButton, TShiftState AShift, bool &AHandled); void __fastcall FRAMEServiceLinkList1TvListCellClick(TcxCustomGridTableView *Sender, TcxGridTableDataCellViewInfo *ACellViewInfo, TMouseButton AButton, TShiftState AShift, bool &AHandled); void __fastcall FRAMERoadList1TvListCellClick(TcxCustomGridTableView *Sender, TcxGridTableDataCellViewInfo *ACellViewInfo, TMouseButton AButton, TShiftState AShift, bool &AHandled); void __fastcall BtnSelectClick(TObject *Sender); void __fastcall BtnDeleteClick(TObject *Sender); void __fastcall TvListCellDblClick(TcxCustomGridTableView *Sender, TcxGridTableDataCellViewInfo *ACellViewInfo, TMouseButton AButton, TShiftState AShift, bool &AHandled); void __fastcall GMPolyLinkClick(TObject *Sender, TLatLng *LatLng, int Index, TLinkedComponent *LinkedComponent); void __fastcall FRAMEGoogleMap1GMMap1Click(TObject *Sender, TLatLng *LatLng, double X, double Y); void __fastcall TmrClearTimer(TObject *Sender); void __fastcall TmrPosClearTimer(TObject *Sender); private: // User declarations void __fastcall CommClose(); void __fastcall SetLinkLevel(int ALinkLevel); void __fastcall FRAMEGoogleMapOnZoomChange(TObject *Sender); String FTitle; int FLinkLevel; bool FSelected; bool FMultiSelect; TSelManager* FSelManager; TPolyline* FSelLink; TColor FSelColor; public: String FRefreshId; String FLinkId; String FSelPosX, FSelPosY; double FPosX, FPosY; bool MapStart; int FMouseDownPosX, FMouseDownPosY; public: // User declarations __fastcall TITSSELAM(TComponent* Owner, int ALinkLevel=1); void __fastcall LoadLocalSkin(); void __fastcall OpenMap(); void __fastcall CloseMap(); void __fastcall FormInit(); void __fastcall RefreshData(); void __fastcall SelListData(); void __fastcall SelGisItem(int AType, String AId); bool __fastcall GetLinkId(int X, int Y, String &ALinkId); void __fastcall UpdateSelect(String ALinkId, double X, double Y); void __fastcall RefreshSelect(); void __fastcall DeleteSelect(String ALinkId); void __fastcall RefreshId(); void __fastcall DrawLink(); __property int LinkLevel = {read = FLinkLevel, write=SetLinkLevel }; __property bool Selected = {read = FSelected }; __property bool MultiSelect = {read = FMultiSelect, write=FMultiSelect }; }; //--------------------------------------------------------------------------- extern PACKAGE TITSSELAM *ITSSELAM; //--------------------------------------------------------------------------- #endif