VMSM500MF.h 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504
  1. //---------------------------------------------------------------------------
  2. #ifndef VMSM500MFH
  3. #define VMSM500MFH
  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 "FRAME_VmsListF.h"
  86. #include "cxImage.hpp"
  87. #include "cxButtonEdit.hpp"
  88. #include "cxBlobEdit.hpp"
  89. //---------------------------------------------------------------------------
  90. #include "VMSM500MSRCF.h"
  91. #include "VmsDesignerF.h"
  92. #include "cxColorComboBox.hpp"
  93. #include "CDSVmsObjTypeF.h"
  94. #include "cxCalc.hpp"
  95. //---------------------------------------------------------------------------
  96. typedef enum _e_selobj_type
  97. {
  98. eSelObjNone,
  99. eSelObjIfsc,
  100. eSelObjAtmp,
  101. eSelObjPark,
  102. } e_selobj_type;
  103. class TVMSM500M : public TForm
  104. {
  105. __published: // IDE-managed Components
  106. TTimer *TmrShow;
  107. TShape *ShpTitle;
  108. TcxButton *BtnClose;
  109. TLabel *LblCaption;
  110. TShape *ShpList;
  111. TEdit *EdFocus;
  112. TPanel *PanelBack;
  113. TPanel *PnlLeft;
  114. TcxSplitter *cxSplitter1;
  115. TcxGroupBox *GrpList;
  116. TPanel *Panel1;
  117. TPanel *Panel3;
  118. TcxGroupBox *cxGroupBox1;
  119. TcxGrid *CxList;
  120. TcxGridTableView *TvList;
  121. TcxGridColumn *Col01;
  122. TcxGridColumn *Col02;
  123. TcxGridColumn *Col03;
  124. TcxGridColumn *Col04;
  125. TcxGridColumn *Col05;
  126. TcxGridColumn *Col06;
  127. TcxGridLevel *GlList;
  128. TPanel *PnlMenu;
  129. TcxButton *BtnEdit;
  130. TcxButton *BtnInsert;
  131. TcxButton *BtnDelete;
  132. TcxButton *BtnSave;
  133. TPanel *Panel4;
  134. TImage *ImgDesc01;
  135. TcxLabel *cxLabel18;
  136. TcxComboBox *CbSizeType;
  137. TcxButton *BtnSearch;
  138. TOpenPictureDialog *OpenBmp;
  139. TSaveDialog *SaveDialog;
  140. VmsDesigner *VmsDesigner1;
  141. TcxGridColumn *Col07;
  142. TcxGridColumn *Col08;
  143. TcxGridColumn *Col09;
  144. TcxGridColumn *Col10;
  145. TcxGridColumn *Col12;
  146. TcxGridColumn *Col13;
  147. TImage *ImgDir;
  148. TImage *ImgNull;
  149. TcxButton *BtnCopyAdd;
  150. TcxLabel *lblText1;
  151. TcxLabel *lblText2;
  152. TcxLabel *lblText3;
  153. TcxLabel *lblText4;
  154. TcxLabel *lblText5;
  155. TcxLabel *lblText6;
  156. TcxLabel *lblText7;
  157. TcxLabel *lblText8;
  158. TcxLabel *lblText9;
  159. TcxLabel *lblText10;
  160. TcxLabel *lblText11;
  161. TcxLabel *lblText12;
  162. TcxLabel *lblText13;
  163. TcxLabel *lblFontName;
  164. TcxLabel *lblImage1;
  165. TcxLabel *lblFile1;
  166. TcxLabel *lblText14;
  167. TcxLabel *lblText15;
  168. TcxLabel *lblText16;
  169. TPanel *Panel6;
  170. TImage *ImgVideo;
  171. TImage *ImgStream;
  172. TcxPageControl *PgFormTab;
  173. TcxTabSheet *TsForm;
  174. TPanel *PnlCmd1;
  175. TImage *ImgTemp;
  176. TImage *ImgDesc02;
  177. TLabel *Label1;
  178. TLabel *Label3;
  179. TImage *ImgDesc03;
  180. TImage *ImgDesc06;
  181. TLabel *Label35;
  182. TImage *ImgDesc04;
  183. TLabel *Label2;
  184. TImage *ImgDesc07;
  185. TLabel *Label5;
  186. TLabel *Label7;
  187. TImage *ImgDesc08;
  188. TImage *ImgDesc09;
  189. TLabel *Label8;
  190. TImage *ImgDesc10;
  191. TLabel *Label9;
  192. TPanel *PnlBack;
  193. TPanel *PnlForm;
  194. TImage *ImgForm;
  195. TcxTextEdit *EdFormId;
  196. TcxTextEdit *EdFormName1;
  197. TcxTextEdit *EdFormDesc1;
  198. TcxTextEdit *EdSizeType;
  199. TcxComboBox *CbFormKind;
  200. TcxComboBox *CbFormDispMode;
  201. TcxComboBox *CbFormDispDir;
  202. TColorBox *CbFormColor1;
  203. TcxTabSheet *TsFormObject;
  204. TcxButton *BtnSaveImgFile;
  205. TPanel *PnlCmd2;
  206. TcxPageControl *PgObject;
  207. TcxTabSheet *TsObject;
  208. TPanel *PnlTopLeftBottom;
  209. TImage *ImgDesc16;
  210. TLabel *Label12;
  211. TcxComboBox *CbVmsObjType;
  212. TcxButton *BtnAddText;
  213. TcxGrid *CxObjList;
  214. TcxGridTableView *TvObjList;
  215. TcxGridColumn *ColSeq;
  216. TcxGridColumn *ColId;
  217. TcxGridColumn *ColKind;
  218. TcxGridColumn *ColType;
  219. TcxGridColumn *ColData;
  220. TcxGridColumn *ColX;
  221. TcxGridColumn *ColY;
  222. TcxGridColumn *ColIfscId;
  223. TcxGridColumn *TvObjListColumn9;
  224. TcxGridColumn *TvObjListColumn10;
  225. TcxGridColumn *TvObjListColumn11;
  226. TcxGridColumn *ColMem;
  227. TcxGridLevel *GlObjList;
  228. TPanel *Panel5;
  229. TcxButton *BtnUp;
  230. TcxButton *BtnDown;
  231. TcxButton *BtnObjDelete;
  232. TcxPageControl *PgEdit;
  233. TcxTabSheet *TsEdit;
  234. TPanel *PnlDesigner;
  235. TPanel *PnlMove;
  236. TcxButton *BtnMoveLeft;
  237. TcxButton *BtnMoveRight;
  238. TcxButton *BtnMoveUp;
  239. TcxButton *BtnMoveDown;
  240. TcxButton *BtnAlignLeft;
  241. TcxButton *BtnAlignRight;
  242. TcxButton *BtnAlignTop;
  243. TcxButton *BtnAlignBottom;
  244. TcxButton *BtnCenterWidth;
  245. TcxButton *BtnCenterHieght;
  246. TcxLabel *cxLabel1;
  247. TPanel *PnlPreview;
  248. TImage *ImgEdtTemp;
  249. TPanel *PnlEdtBack;
  250. TPanel *PnlEditForm;
  251. TPanel *PnlEdit;
  252. TLabel *Label22;
  253. TPanel *PnlObjTop;
  254. TImage *ImgDesc23;
  255. TLabel *Label4;
  256. TImage *ImgDesc22;
  257. TLabel *Label6;
  258. TImage *ImgDesc12;
  259. TLabel *Label11;
  260. TLabel *Lbl99;
  261. TImage *ImgDesc99;
  262. TcxComboBox *CbObjType;
  263. TcxCheckBox *ChkBlinking;
  264. TcxSpinEdit *SeLeft;
  265. TcxSpinEdit *SeTop;
  266. TColorBox *CbBkColor;
  267. TcxComboBox *Cb99;
  268. TEdit *EdObjSeq;
  269. TPanel *PnlObjText;
  270. TImage *ImgDesc05;
  271. TLabel *Label15;
  272. TImage *ImgDesc18;
  273. TLabel *Label16;
  274. TcxTextEdit *EdTextData;
  275. TcxSpinEdit *SeFontSize;
  276. TcxCheckBox *ChkFontBold;
  277. TcxComboBox *CbFontName;
  278. TcxComboBox *CbTextAlign;
  279. TColorBox *CbFontColor;
  280. TcxMaskEdit *EdObjId;
  281. TPanel *PnlIfsc;
  282. TImage *ImgDesc25;
  283. TLabel *LblTag;
  284. TcxButtonEdit *EdIfscId;
  285. TButton *BtnIfscErase;
  286. TcxTabSheet *TsDirect;
  287. TPanel *Panel7;
  288. TPanel *PnlReForm;
  289. TRichEdit *ReForm;
  290. TRichEdit *ReFormTemp;
  291. TPanel *Panel8;
  292. TcxButton *BtnLeftRe;
  293. TcxButton *BtnRightRe;
  294. TcxButton *BtnCenterRe;
  295. TcxButton *BtnBoldRe;
  296. TcxSpinEdit *SeFontSizeRe;
  297. TcxComboBox *CbFontNameRe;
  298. TColorBox *CbFontColorRe;
  299. TPanel *PnlReFormView;
  300. TPanel *PnlRePreview;
  301. TImage *ImgEdtPreview;
  302. TPanel *Panel9;
  303. TcxButton *BtnPreview;
  304. TcxCheckBox *ChkAutoPreview;
  305. TcxButton *BtnReApply;
  306. TPanel *Panel2;
  307. TLabel *Label10;
  308. TImage *ImgDesc20;
  309. TcxTextEdit *EdFormName;
  310. TLabel *Label13;
  311. TImage *ImgDesc21;
  312. TcxTextEdit *EdFormDesc;
  313. TLabel *Label14;
  314. TImage *ImgDesc24;
  315. TColorBox *CbFormColor;
  316. TLabel *Label17;
  317. TcxTextEdit *cxTextEdit2;
  318. TLabel *Label18;
  319. TPanel *PnlImage;
  320. TImage *ImgDesc90;
  321. TLabel *Label19;
  322. TcxSpinEdit *SeImgW;
  323. TcxSpinEdit *SeImgH;
  324. TcxButton *BtnCopyAdd212;
  325. TcxButton *BtrnReFormClear;
  326. TcxCheckBox *ChkDrawModule;
  327. TcxButton *BtnLime;
  328. TcxButton *BtnYellow;
  329. TcxButton *BtnRed;
  330. TcxButton *BtnObjLime;
  331. TcxButton *BtnObjYellow;
  332. TcxButton *BtnObjRed;
  333. TPanel *PnlFormSubType;
  334. TLabel *Label20;
  335. TImage *ImgDesc11;
  336. TcxComboBox *CbFormSubType;
  337. void __fastcall FormShow(TObject *Sender);
  338. void __fastcall TmrShowTimer(TObject *Sender);
  339. void __fastcall BtnCloseClick(TObject *Sender);
  340. void __fastcall FormClose(TObject *Sender, TCloseAction &Action);
  341. void __fastcall FormCloseQuery(TObject *Sender, bool &CanClose);
  342. void __fastcall BtnEditClick(TObject *Sender);
  343. void __fastcall BtnInsertClick(TObject *Sender);
  344. void __fastcall BtnDeleteClick(TObject *Sender);
  345. void __fastcall BtnSaveImgFileClick(TObject *Sender);
  346. void __fastcall OpenBmpCanClose(TObject *Sender, bool &CanClose);
  347. void __fastcall TvListCellDblClick(TcxCustomGridTableView *Sender, TcxGridTableDataCellViewInfo *ACellViewInfo,
  348. TMouseButton AButton, TShiftState AShift,
  349. bool &AHandled);
  350. void __fastcall TvListFocusedRecordChanged(TcxCustomGridTableView *Sender, TcxCustomGridRecord *APrevFocusedRecord,
  351. TcxCustomGridRecord *AFocusedRecord, bool ANewItemRecordFocusingChanged);
  352. void __fastcall CbSizeTypePropertiesChange(TObject *Sender);
  353. void __fastcall BtnSearchClick(TObject *Sender);
  354. void __fastcall BtnSortReClick(TObject *Sender);
  355. void __fastcall BtnBoldReClick(TObject *Sender);
  356. void __fastcall SeFontSizeRePropertiesChange(TObject *Sender);
  357. void __fastcall CbFontColorReClick(TObject *Sender);
  358. void __fastcall ReFormChange(TObject *Sender);
  359. void __fastcall ChkAutoPreviewClick(TObject *Sender);
  360. void __fastcall BtnPreviewClick(TObject *Sender);
  361. void __fastcall BtnReApplyClick(TObject *Sender);
  362. void __fastcall FormCreate(TObject *Sender);
  363. void __fastcall CbFormKindPropertiesChange(TObject *Sender);
  364. void __fastcall CbFormColorClick(TObject *Sender);
  365. void __fastcall BtnMoveClick(TObject *Sender);
  366. void __fastcall BtnAlignClick(TObject *Sender);
  367. void __fastcall BtnCenterClick(TObject *Sender);
  368. void __fastcall SePosPropertiesChange(TObject *Sender);
  369. void __fastcall CbBkColorClick(TObject *Sender);
  370. void __fastcall ChkBlinkingClick(TObject *Sender);
  371. void __fastcall EdTextDataKeyPress(TObject *Sender, wchar_t &Key);
  372. void __fastcall EdTextDataPropertiesChange(TObject *Sender);
  373. void __fastcall SeFontSizePropertiesChange(TObject *Sender);
  374. void __fastcall CbFontNamePropertiesChange(TObject *Sender);
  375. void __fastcall CbFontColorClick(TObject *Sender);
  376. void __fastcall CbTextAlignPropertiesChange(TObject *Sender);
  377. void __fastcall EdObjIdPropertiesChange(TObject *Sender);
  378. void __fastcall CbFontNameReClick(TObject *Sender);
  379. void __fastcall ChkFontBoldClick(TObject *Sender);
  380. void __fastcall TvObjListFocusedRecordChanged(TcxCustomGridTableView *Sender,
  381. TcxCustomGridRecord *APrevFocusedRecord, TcxCustomGridRecord *AFocusedRecord,
  382. bool ANewItemRecordFocusingChanged);
  383. void __fastcall BtnAddTextClick(TObject *Sender);
  384. void __fastcall BtnObjDeleteClick(TObject *Sender);
  385. void __fastcall ColXGetDataText(TcxCustomGridTableItem *Sender, int ARecordIndex,
  386. UnicodeString &AText);
  387. void __fastcall ColYGetDataText(TcxCustomGridTableItem *Sender, int ARecordIndex,
  388. UnicodeString &AText);
  389. void __fastcall CbVmsObjTypeClick(TObject *Sender);
  390. void __fastcall EdIfscIdClick(TObject *Sender);
  391. void __fastcall BtnIfscEraseClick(TObject *Sender);
  392. void __fastcall BtnCopyAddClick(TObject *Sender);
  393. void __fastcall BtnUpClick(TObject *Sender);
  394. void __fastcall BtnDownClick(TObject *Sender);
  395. void __fastcall BtnSaveClick(TObject *Sender);
  396. void __fastcall Cb99PropertiesChange(TObject *Sender);
  397. void __fastcall SeImgWHPropertiesChange(TObject *Sender);
  398. void __fastcall BtnCopyAdd212Click(TObject *Sender);
  399. void __fastcall PgEditClick(TObject *Sender);
  400. void __fastcall BtrnReFormClearClick(TObject *Sender);
  401. void __fastcall BtnRedClick(TObject *Sender);
  402. void __fastcall BtnObjLimeClick(TObject *Sender);
  403. private: // User declarations
  404. void __fastcall CommClose();
  405. TcxDataController *m_pGDC;
  406. String FTitle;
  407. bool FUpdate;
  408. bool FNewDb;
  409. bool EditMode;
  410. TList *FListSymb;
  411. DWORD FFileSize;
  412. int FSelIdx;
  413. String FVmsTypeCd;
  414. int FVmsWidth;
  415. int FVmsHeight;
  416. int FVmsCols;
  417. int FVmsRows;
  418. e_selobj_type FSelObjType;
  419. TVmsObjTypeManager *MyVmsObjTypeManager;
  420. public:
  421. TVmsFormDesigner *m_pEdtDesigner;
  422. bool m_bEdit;
  423. String m_sFormTypeCd;
  424. TVmsObjUseManager *MyUseManager;
  425. public: // User declarations
  426. __fastcall TVMSM500M(TComponent* Owner);
  427. void __fastcall FormInit();
  428. void __fastcall FormObjectInit();
  429. void __fastcall RefreshData();
  430. bool __fastcall InsertVmsImage(String ANmbr, String AExpl, String AFileName, String ATypeCd);
  431. //폼유형
  432. void __fastcall FillVmsFormType(TcxComboBox *ACombo);
  433. //표출방법
  434. void __fastcall FillVmsFormDispMode(TcxComboBox *ACombo);
  435. //표출방향
  436. void __fastcall FillVmsFormDispDir(TcxComboBox *ACombo);
  437. //VMS Font
  438. void __fastcall FillVmsFont(TcxComboBox *ACombo);
  439. void __fastcall ClearSymbloList();
  440. void __fastcall LoadVmsForm();
  441. void __fastcall DisplayInfo();
  442. bool __fastcall SaveVmsForm(String AVALID_YN);
  443. void __fastcall ChangeEditMode(int AEdit);
  444. void __fastcall ChangeEditModeObject(int AEdit);
  445. void __fastcall FormClear();
  446. void __fastcall FormObjectClear();
  447. void __fastcall DisplayFormInfo(int AIdx);
  448. void __fastcall LoadFormObjectInfo(String AFormId, TVmsFormDesigner *ADesigner, String AFormType);
  449. bool __fastcall GetNextVmsFormId(int &AFormId);
  450. void __fastcall SelObjectListData();
  451. void __fastcall AddObjectToList(TVmsFormObject *pObj, bool bSelect=false);
  452. String __fastcall FindObjectTypeName(String AFormType, String ATypeCd);
  453. bool __fastcall AddDefFormObject(String AFontName, int AFontSize, String AFontColor,
  454. int AObjType, String AText, int ASize, int APosX, int APosY, int AAlign=0);
  455. void __fastcall MakeDefTrafficForm(int ARows);
  456. bool __fastcall CheckVideoStreamImage();
  457. void __fastcall MakeDefVideoStreamForm(int AType);
  458. bool __fastcall CheckVmsFormUse(String AFormId);
  459. bool __fastcall DelVmsForm(String AFormId);
  460. void __fastcall UpdateObjectIfscId();
  461. void __fastcall CheckImageSelected();
  462. bool __fastcall CopyFormAdd(String AOrgFormId, String ANewFormId, String AFormName);
  463. bool __fastcall CopyFormAdd212(String AOrgFormId, String ANewFormId, String AFormName);
  464. void __fastcall FnFormObjectSelected(TMessage &Msg);
  465. BEGIN_MESSAGE_MAP
  466. MESSAGE_HANDLER(WM_OBJECT_SELECT, TMessage, FnFormObjectSelected)
  467. END_MESSAGE_MAP(TForm)
  468. };
  469. //---------------------------------------------------------------------------
  470. extern PACKAGE TVMSM500M *VMSM500M;
  471. //---------------------------------------------------------------------------
  472. #endif