FrmVmsMsgVideoMngrF.h 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398
  1. //---------------------------------------------------------------------------
  2. #ifndef FrmVmsMsgVideoMngrFH
  3. #define FrmVmsMsgVideoMngrFH
  4. //---------------------------------------------------------------------------
  5. #include <Classes.hpp>
  6. #include <Controls.hpp>
  7. #include <StdCtrls.hpp>
  8. #include <Forms.hpp>
  9. #include <DB.hpp>
  10. #include <DBClient.hpp>
  11. #include <FMTBcd.hpp>
  12. #include <Provider.hpp>
  13. #include <SqlExpr.hpp>
  14. #include <Menus.hpp>
  15. #include <ExtCtrls.hpp>
  16. #include <Graphics.hpp>
  17. #include <ComCtrls.hpp>
  18. #include <ADODB.hpp>
  19. #include <Dialogs.hpp>
  20. #include <ExtDlgs.hpp>
  21. //---------------------------------------------------------------------------
  22. //---------------------------------------------------------------------------
  23. #include "WindowMsgF.h"
  24. #include "cxButtons.hpp"
  25. #include "cxCalendar.hpp"
  26. #include "cxContainer.hpp"
  27. #include "cxControls.hpp"
  28. #include "cxDropDownEdit.hpp"
  29. #include "cxEdit.hpp"
  30. #include "cxGraphics.hpp"
  31. #include "cxGroupBox.hpp"
  32. #include "cxLabel.hpp"
  33. #include "cxLookAndFeelPainters.hpp"
  34. #include "cxLookAndFeels.hpp"
  35. #include "cxMaskEdit.hpp"
  36. #include "cxPC.hpp"
  37. #include "cxPCdxBarPopupMenu.hpp"
  38. #include "cxSpinEdit.hpp"
  39. #include "cxSplitter.hpp"
  40. #include "cxTextEdit.hpp"
  41. #include "cxTimeEdit.hpp"
  42. #include "dxSkinBlack.hpp"
  43. #include "dxSkinBlue.hpp"
  44. #include "dxSkinCaramel.hpp"
  45. #include "dxSkinCoffee.hpp"
  46. #include "dxSkinDarkRoom.hpp"
  47. #include "dxSkinDarkSide.hpp"
  48. #include "dxSkinFoggy.hpp"
  49. #include "dxSkinGlassOceans.hpp"
  50. #include "dxSkiniMaginary.hpp"
  51. #include "dxSkinLilian.hpp"
  52. #include "dxSkinLiquidSky.hpp"
  53. #include "dxSkinLondonLiquidSky.hpp"
  54. #include "dxSkinMcSkin.hpp"
  55. #include "dxSkinMoneyTwins.hpp"
  56. #include "dxSkinOffice2007Black.hpp"
  57. #include "dxSkinOffice2007Blue.hpp"
  58. #include "dxSkinOffice2007Green.hpp"
  59. #include "dxSkinOffice2007Pink.hpp"
  60. #include "dxSkinOffice2007Silver.hpp"
  61. #include "dxSkinOffice2010Black.hpp"
  62. #include "dxSkinOffice2010Blue.hpp"
  63. #include "dxSkinOffice2010Silver.hpp"
  64. #include "dxSkinsCore.hpp"
  65. #include "dxSkinscxPCPainter.hpp"
  66. #include "dxSkinSeven.hpp"
  67. #include "dxSkinSharp.hpp"
  68. #include "dxSkinSilver.hpp"
  69. #include "dxSkinStardust.hpp"
  70. #include "cxRadioGroup.hpp"
  71. #include "cxClasses.hpp"
  72. #include "cxCustomData.hpp"
  73. #include "cxData.hpp"
  74. #include "cxDataStorage.hpp"
  75. #include "cxDBData.hpp"
  76. #include "cxFilter.hpp"
  77. #include "cxGrid.hpp"
  78. #include "cxGridCustomTableView.hpp"
  79. #include "cxGridCustomView.hpp"
  80. #include "cxGridDBTableView.hpp"
  81. #include "cxGridLevel.hpp"
  82. #include "cxGridTableView.hpp"
  83. #include "cxStyles.hpp"
  84. #include "cxCheckBox.hpp"
  85. #include "cxImage.hpp"
  86. #include "cxButtonEdit.hpp"
  87. #include "cxBlobEdit.hpp"
  88. #include "cxHint.hpp"
  89. #include "dxCustomHint.hpp"
  90. #include "dxScreenTip.hpp"
  91. #include "dxSkinsForm.hpp"
  92. #include "FFBaseComponent.hpp"
  93. #include "FFBasePlay.hpp"
  94. #include "FFPlay.hpp"
  95. #include "dxGDIPlusClasses.hpp"
  96. #include "FFDecode.hpp"
  97. #include "cxCalc.hpp"
  98. class TSymbFmt {
  99. public:
  100. TSymbFmt(String AFmt, String AFmtType) {
  101. fmt = AFmt;
  102. fmtType = AFmtType;
  103. };
  104. ~TSymbFmt() {};
  105. public:
  106. String fmt;
  107. String fmtType;
  108. };
  109. class TFrmVmsMsgVideoMngr : public TForm
  110. {
  111. __published: // IDE-managed Components
  112. TTimer *TmrShow;
  113. TcxButton *BtnClose;
  114. TShape *ShpList;
  115. TEdit *EdFocus;
  116. TPanel *PnlBack;
  117. TPanel *PnlLeft;
  118. TcxSplitter *cxSplitter1;
  119. TcxGroupBox *GrpList;
  120. TPanel *Panel1;
  121. TPanel *PnlSymbol;
  122. TcxGroupBox *GrpSymbBox;
  123. TcxGrid *CxList;
  124. TcxGridTableView *TvList;
  125. TcxGridColumn *ColSYMB_NMBR;
  126. TcxGridColumn *ColSYMB_DATA;
  127. TcxGridColumn *ColSYMB_NM;
  128. TcxGridColumn *ColSYMB_TYPE_DESC;
  129. TcxGridColumn *ColSYMB_EXPL;
  130. TcxGridColumn *ColSYMB_FILE_NM;
  131. TcxGridLevel *GlList;
  132. TPanel *PnlMenu;
  133. TcxButton *BtnEdit;
  134. TcxButton *BtnInsert;
  135. TcxButton *BtnDelete;
  136. TcxButton *BtnSave;
  137. TcxButton *BtnSaveImgFile;
  138. TSaveDialog *SaveDialog;
  139. TOpenPictureDialog *OpenBmp;
  140. TcxHintStyleController *cxHintStyleController1;
  141. TdxSkinController *dxSkinController1;
  142. TPopupMenu *PopupAdd;
  143. TMenuItem *MnuGeneral;
  144. TMenuItem *MnuTraffic;
  145. TMenuItem *MnuAtmp;
  146. TMenuItem *MnuWeather;
  147. TMenuItem *MnuVideo;
  148. TMenuItem *MnuIncident;
  149. TPanel *PnlCmd;
  150. TImage *ImgDesc02;
  151. TImage *ImgDesc03;
  152. TImage *ImgDesc04;
  153. TImage *ImgDesc14;
  154. TImage *ImgTemp;
  155. TcxLabel *cxLabel1;
  156. TcxTextEdit *EdNmbr;
  157. TcxLabel *cxLabel2;
  158. TcxTextEdit *EdExpl;
  159. TcxButtonEdit *EdImageFileName;
  160. TcxLabel *cxLabel3;
  161. TcxTextEdit *EdVmsCd;
  162. TcxComboBox *CbType;
  163. TcxLabel *cxLabel6;
  164. TcxTextEdit *EdName;
  165. TcxLabel *cxLabel4;
  166. TcxSpinEdit *SeSize;
  167. TcxSpinEdit *SeWidth;
  168. TcxSpinEdit *SeHeight;
  169. TcxPageControl *PgSymb;
  170. TcxTabSheet *TsSbt1;
  171. TPanel *PnlInfo2;
  172. TcxTabSheet *TsSbt2;
  173. TcxTabSheet *TsSbt3;
  174. TcxTabSheet *TsSbt4;
  175. TcxTabSheet *TsSbt5;
  176. TcxTabSheet *TsSbt6;
  177. TcxTabSheet *TsSbt7;
  178. TPanel *Panel2;
  179. TcxCheckBox *ChkFitScreen;
  180. TcxButton *BtnPlay;
  181. TcxButton *BtnStop;
  182. TcxButton *BtnPause;
  183. TPanel *PnlPlayer;
  184. TFFPlayer *FFPlayer1;
  185. TFFDecoder *FFDecoder1;
  186. TPanel *Panel3;
  187. TTrackBar *TrackBar;
  188. TLabel *lblDuration;
  189. TLabel *lblCurrentPTS;
  190. TMenuItem *MnuTrafficBack;
  191. TImage *ImgVideo;
  192. TPanel *Panel5;
  193. TPanel *Panel6;
  194. TImage *ImagTrafBack;
  195. TImage *ImagTraffic;
  196. TGridPanel *GridPanel1;
  197. TImage *ImagTraffic1;
  198. TImage *ImagTraffic2;
  199. TImage *ImagTraffic3;
  200. TcxLabel *cxLabel5;
  201. TcxLabel *cxLabel7;
  202. TcxLabel *cxLabel8;
  203. TPanel *Panel7;
  204. TcxLabel *cxLabel18;
  205. TImage *ImgDesc01;
  206. TPanel *Panel8;
  207. TImage *ImagAtmp;
  208. TPanel *Panel9;
  209. TImage *Image2;
  210. TcxLabel *cxLabel9;
  211. TGridPanel *GridPanel2;
  212. TImage *ImagAtmp1;
  213. TImage *ImagAtmp2;
  214. TImage *ImagAtmp3;
  215. TImage *ImagAtmp4;
  216. TPanel *Panel10;
  217. TImage *ImagIncident;
  218. TPanel *Panel11;
  219. TImage *Image3;
  220. TcxLabel *cxLabel10;
  221. TcxButton *BtnAtmp1;
  222. TcxButton *cxButton1;
  223. TcxButton *cxButton2;
  224. TcxButton *cxButton3;
  225. TPanel *Panel12;
  226. TImage *ImagWeather;
  227. TPanel *Panel13;
  228. TImage *Image8;
  229. TcxLabel *cxLabel15;
  230. TGridPanel *GridPanel4;
  231. TImage *ImagWeather1;
  232. TImage *ImagWeather2;
  233. TImage *ImagWeather3;
  234. TImage *ImagWeather4;
  235. TcxButton *cxButton4;
  236. TcxButton *cxButton5;
  237. TcxButton *cxButton6;
  238. TcxButton *cxButton7;
  239. TGridPanel *GridPanel3;
  240. TImage *ImagIncident1;
  241. TImage *ImagIncident2;
  242. TImage *ImagIncident3;
  243. TImage *ImagIncident4;
  244. TcxButton *cxButton8;
  245. TcxButton *cxButton9;
  246. TcxButton *cxButton10;
  247. TcxButton *cxButton11;
  248. TcxGridColumn *ColSYMB_FILE_EXT;
  249. TcxGridColumn *ColSYMB_SIZE;
  250. TcxGridColumn *ColSYMB_WDTH;
  251. TcxGridColumn *ColSYMB_HGHT;
  252. TcxGridColumn *ColPLAY_TM;
  253. TcxGridColumn *ColBASE_YN;
  254. TcxGridColumn *ColMOV_TYPE;
  255. TcxGridColumn *ColSYMB_TYPE;
  256. TcxGridColumn *Column99;
  257. TcxGridColumn *ColImagePath;
  258. TcxGridColumn *ColVideoPath;
  259. TImage *ImgGeneral;
  260. TImage *ImgCaption;
  261. TImage *ImgCaptionLeft;
  262. TLabel *LblCaption;
  263. void __fastcall FormShow(TObject *Sender);
  264. void __fastcall TmrShowTimer(TObject *Sender);
  265. void __fastcall BtnCloseClick(TObject *Sender);
  266. void __fastcall FormClose(TObject *Sender, TCloseAction &Action);
  267. void __fastcall BtnEditClick(TObject *Sender);
  268. void __fastcall BtnSaveClick(TObject *Sender);
  269. void __fastcall BtnInsertClick(TObject *Sender);
  270. void __fastcall BtnDeleteClick(TObject *Sender);
  271. void __fastcall BtnSaveImgFileClick(TObject *Sender);
  272. void __fastcall EdImageFileNameClick(TObject *Sender);
  273. void __fastcall OpenBmpCanClose(TObject *Sender, bool &CanClose);
  274. void __fastcall TvListCellDblClick(TcxCustomGridTableView *Sender, TcxGridTableDataCellViewInfo *ACellViewInfo,
  275. TMouseButton AButton, TShiftState AShift,
  276. bool &AHandled);
  277. void __fastcall ColSYMB_DATACustomDrawCell(TcxCustomGridTableView *Sender, TcxCanvas *ACanvas,
  278. TcxGridTableDataCellViewInfo *AViewInfo, bool &ADone);
  279. void __fastcall TvListFocusedRecordChanged(TcxCustomGridTableView *Sender, TcxCustomGridRecord *APrevFocusedRecord,
  280. TcxCustomGridRecord *AFocusedRecord, bool ANewItemRecordFocusingChanged);
  281. void __fastcall CbTypePropertiesChange(TObject *Sender);
  282. void __fastcall PnlMenuDblClick(TObject *Sender);
  283. void __fastcall MnuAddVmsSymbClick(TObject *Sender);
  284. void __fastcall FFPlayer1FileOpen(TObject *Sender, const __int64 ADuration, int AFrameWidth, int AFrameHeight, int &AScreenWidth,
  285. int &AScreenHeight);
  286. void __fastcall FFPlayer1OpenFailed(TObject *Sender);
  287. void __fastcall FFPlayer1Position(TObject *Sender, const __int64 APTS);
  288. void __fastcall FFPlayer1State(TObject *Sender, TPlayState APlayState);
  289. void __fastcall TrackBarChange(TObject *Sender);
  290. void __fastcall BtnPlayClick(TObject *Sender);
  291. void __fastcall BtnStopClick(TObject *Sender);
  292. void __fastcall BtnPauseClick(TObject *Sender);
  293. void __fastcall ChkFitScreenClick(TObject *Sender);
  294. void __fastcall ImagTrafficMouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y);
  295. void __fastcall BtnSubImageSelectClick(TObject *Sender);
  296. private: // User declarations
  297. void __fastcall CommClose();
  298. String FTitle;
  299. bool FUpdate;
  300. bool FNewDb;
  301. bool EditMode;
  302. DWORD FFileSize;
  303. bool FImageUpdate;
  304. bool FIsUpdate;
  305. int FOldWidth, FOldHeight;
  306. int FNewWidth, FNewHeight;
  307. int CURR_SYMB_NMBR;
  308. String CURR_SYMB_NM;
  309. String CURR_SYMB_EXPL;
  310. String CURR_SYMB_TYPE;
  311. String CURR_SYMB_FILE_NM;
  312. String CURR_SYMB_FILE_EXT;
  313. int CURR_SYMB_SIZE;
  314. int CURR_SYMB_WDTH;
  315. int CURR_SYMB_HGHT;
  316. int CURR_PLAY_TM;
  317. TMemoryStream *CURR_SYMB_DATA;
  318. TMemoryStream *CURR_SYMB_AVI_DATA;
  319. String CURR_BASE_YN;
  320. DWORD FPlayTime;
  321. __int64 FDuration;
  322. bool FTrackChanging;
  323. int FThumbNail;
  324. bool FPlayStream;
  325. bool FMakeThumbNail;
  326. TImage *FSymbImag;
  327. TImage *FSelImag;
  328. String CURR_LOCAL_FILE_NM;
  329. String CURR_PIC_FILE_NM;
  330. String CURR_VMS_FORM_OBJ_ID;
  331. String CURR_PICT_NM; // N VARCHAR2(32) N 그림명
  332. String CURR_PICT_EXT; // N VARCHAR2(5) N 그림 파일 확장자(bmp,jpg,png,ico,gif,avi...)
  333. int CURR_PICT_WDTH; // N NUMBER(4) N 그림넓이
  334. int CURR_PICT_HGHT; // N NUMBER(4) N 그림높이
  335. int CURR_PICT_DATA_SZ; // N NUMBER(7) N 그림데이터크기
  336. String CURR_USE_YN;
  337. public:
  338. public: // User declarations
  339. __fastcall TFrmVmsMsgVideoMngr(TComponent* Owner);
  340. void __fastcall SetColorScheme(String ASkinName);
  341. void __fastcall FormInit();
  342. void __fastcall InitDbLoading();
  343. void __fastcall ClearListMemory();
  344. void __fastcall LoadImageSymbol();
  345. void __fastcall DisplayInfo();
  346. void __fastcall LoadingImage(TImage *AImage, String AFileName);
  347. TImage* __fastcall GetPreviewSymb(String ASymbType);
  348. void __fastcall ImageClear(TImage *AImage);
  349. String __fastcall GetSymbTypeDesc(String ASymbType);
  350. bool __fastcall DeleteVmsSymbLib(String VMS_FORM_OBJ_ID, bool ADelete);
  351. bool __fastcall UpdateVmsSymbLib(String VMS_FORM_OBJ_ID, String PICT_NM);
  352. bool __fastcall InsertVmsSymbLib(String VMS_FORM_OBJ_ID,
  353. String PICT_NM,
  354. String PICT_EXT,
  355. int PICT_DATA_SZ,
  356. int PICT_WDTH,
  357. int PICT_HGHT,
  358. String USE_YN);
  359. String __fastcall GetNewVmsFormObjId();
  360. void __fastcall ChangeSymbPage(String ASymbType);
  361. void __fastcall ChangeEditMode(int AEdit);
  362. String __fastcall DbPictTypeToReal(String APictType);
  363. String __fastcall RealPictTypeToDb(String APictType);
  364. int __fastcall CheckFormObjectUseCount(String AFORM_OBJ_ID);
  365. };
  366. //---------------------------------------------------------------------------
  367. extern PACKAGE TFrmVmsMsgVideoMngr *FrmVmsMsgVideoMngr;
  368. //---------------------------------------------------------------------------
  369. #endif