FrmVmsMsgScheMngrF.h 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393
  1. //---------------------------------------------------------------------------
  2. #ifndef FrmVmsMsgScheMngrFH
  3. #define FrmVmsMsgScheMngrFH
  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 "CDSCenterCommF.h"
  25. #include "cxButtons.hpp"
  26. #include "cxCalendar.hpp"
  27. #include "cxContainer.hpp"
  28. #include "cxControls.hpp"
  29. #include "cxDropDownEdit.hpp"
  30. #include "cxEdit.hpp"
  31. #include "cxGraphics.hpp"
  32. #include "cxGroupBox.hpp"
  33. #include "cxLabel.hpp"
  34. #include "cxLookAndFeelPainters.hpp"
  35. #include "cxLookAndFeels.hpp"
  36. #include "cxMaskEdit.hpp"
  37. #include "cxPC.hpp"
  38. #include "cxPCdxBarPopupMenu.hpp"
  39. #include "cxSpinEdit.hpp"
  40. #include "cxSplitter.hpp"
  41. #include "cxTextEdit.hpp"
  42. #include "cxTimeEdit.hpp"
  43. #include "dxSkinBlack.hpp"
  44. #include "dxSkinBlue.hpp"
  45. #include "dxSkinCaramel.hpp"
  46. #include "dxSkinCoffee.hpp"
  47. #include "dxSkinDarkRoom.hpp"
  48. #include "dxSkinDarkSide.hpp"
  49. #include "dxSkinFoggy.hpp"
  50. #include "dxSkinGlassOceans.hpp"
  51. #include "dxSkiniMaginary.hpp"
  52. #include "dxSkinLilian.hpp"
  53. #include "dxSkinLiquidSky.hpp"
  54. #include "dxSkinLondonLiquidSky.hpp"
  55. #include "dxSkinMcSkin.hpp"
  56. #include "dxSkinMoneyTwins.hpp"
  57. #include "dxSkinOffice2007Black.hpp"
  58. #include "dxSkinOffice2007Blue.hpp"
  59. #include "dxSkinOffice2007Green.hpp"
  60. #include "dxSkinOffice2007Pink.hpp"
  61. #include "dxSkinOffice2007Silver.hpp"
  62. #include "dxSkinOffice2010Black.hpp"
  63. #include "dxSkinOffice2010Blue.hpp"
  64. #include "dxSkinOffice2010Silver.hpp"
  65. #include "dxSkinsCore.hpp"
  66. #include "dxSkinscxPCPainter.hpp"
  67. #include "dxSkinSeven.hpp"
  68. #include "dxSkinSharp.hpp"
  69. #include "dxSkinSilver.hpp"
  70. #include "dxSkinStardust.hpp"
  71. #include "cxRadioGroup.hpp"
  72. #include "cxClasses.hpp"
  73. #include "cxCustomData.hpp"
  74. #include "cxData.hpp"
  75. #include "cxDataStorage.hpp"
  76. #include "cxDBData.hpp"
  77. #include "cxFilter.hpp"
  78. #include "cxGrid.hpp"
  79. #include "cxGridCustomTableView.hpp"
  80. #include "cxGridCustomView.hpp"
  81. #include "cxGridDBTableView.hpp"
  82. #include "cxGridLevel.hpp"
  83. #include "cxGridTableView.hpp"
  84. #include "cxStyles.hpp"
  85. #include "cxCheckBox.hpp"
  86. #include "cxImage.hpp"
  87. #include "cxButtonEdit.hpp"
  88. #include "cxBlobEdit.hpp"
  89. #include "cxColorComboBox.hpp"
  90. #include "cxCalc.hpp"
  91. //---------------------------------------------------------------------------
  92. #include "CDSVmsCtlrF.h"
  93. #include "CDSVmsObjTypeF.h"
  94. #include "VmsDesignerF.h"
  95. #include "CDSVmsDsplCndtF.h"
  96. #include "CDSVmsFormF.h"
  97. #include "cxHint.hpp"
  98. #include "dxCustomHint.hpp"
  99. #include "dxGDIPlusClasses.hpp"
  100. #include "dxScreenTip.hpp"
  101. #include "dxSkinsForm.hpp"
  102. //---------------------------------------------------------------------------
  103. class TFrmVmsMsgScheMngr : public TForm
  104. {
  105. __published: // IDE-managed Components
  106. TTimer *TmrShow;
  107. TcxButton *BtnClose;
  108. TShape *ShpList;
  109. TEdit *EdFocus;
  110. TPanel *PanelBack;
  111. TPanel *PnlLeft;
  112. TcxSplitter *cxSplitter1;
  113. TcxGroupBox *GrpList;
  114. TPanel *Panel1;
  115. TPanel *Panel3;
  116. TcxGroupBox *GrpSchedule;
  117. TPanel *PnlMenu;
  118. TcxButton *BtnSearch;
  119. TPanel *PnlTemp;
  120. TPanel *PnlEdtBack;
  121. TPanel *PnlEditForm;
  122. TImage *ImgForm;
  123. VmsDesigner *VmsDesigner1;
  124. TdxSkinController *dxSkinController1;
  125. TcxHintStyleController *cxHintStyleController1;
  126. TImage *ImgCaption;
  127. TImage *ImgCaptionLeft;
  128. TLabel *LblCaption;
  129. TcxGrid *CxVmsSche;
  130. TcxGridTableView *TvVmsSche;
  131. TcxGridColumn *ColScnrId;
  132. TcxGridColumn *ColScnrNm;
  133. TcxGridColumn *ColObj03;
  134. TcxGridColumn *ColObj04;
  135. TcxGridColumn *ColIfscId;
  136. TcxGridColumn *ColIfscNm;
  137. TcxGridColumn *ColIfscStr;
  138. TcxGridColumn *ColIfscEnd;
  139. TcxGridColumn *TvVmsScheColumn9;
  140. TcxGridColumn *TvVmsScheColumn10;
  141. TcxGridColumn *TvVmsScheColumn11;
  142. TcxGridColumn *ColMem;
  143. TcxGridColumn *ColObjType;
  144. TcxGridLevel *GlVmsSche;
  145. TPanel *Panel19;
  146. TImage *ImgDesc00;
  147. TcxLabel *cxLabel1;
  148. TcxComboBox *CbVms;
  149. TPanel *Panel20;
  150. TImage *ImgDesc02;
  151. TcxLabel *cxLabel2;
  152. TImage *ImgDesc03;
  153. TcxLabel *cxLabel3;
  154. TcxTextEdit *EdScnrId;
  155. TcxTextEdit *EdScnrNm;
  156. TcxPageControl *PgSchedule;
  157. TcxTabSheet *TsEdit;
  158. TcxTabSheet *TsPreview;
  159. TPanel *Panel21;
  160. TcxButton *BtnMonitoringMngr;
  161. TcxCheckBox *ChkAutoWidthView;
  162. TcxButton *BtnBestFitView;
  163. TcxGrid *CxPreview;
  164. TcxGridTableView *TvPreview;
  165. TcxGridColumn *ColView00;
  166. TcxGridColumn *ColView03;
  167. TcxGridColumn *ColView01;
  168. TcxGridColumn *cxGridColumn23;
  169. TcxGridColumn *TvViewColumn40;
  170. TcxGridColumn *TvViewColumn41;
  171. TcxGridLevel *GlPreview;
  172. TPanel *Panel2;
  173. TcxGroupBox *cxGroupBox5;
  174. TPanel *PnlScnrEdit;
  175. TcxButton *BtnListAdd2;
  176. TcxButton *BtnListDelete2;
  177. TcxButton *BtnUp;
  178. TcxButton *BtnDown;
  179. TcxButton *BtnBestFit;
  180. TcxCheckBox *ChkAutoWidth;
  181. TcxGroupBox *cxGroupBox7;
  182. TcxGrid *CxForm;
  183. TcxGridTableView *TvForm;
  184. TcxGridColumn *ColFrm00;
  185. TcxGridColumn *ColFrm01;
  186. TcxGridColumn *ColFrm03;
  187. TcxGridColumn *ColFrm04;
  188. TcxGridColumn *ColFrm05;
  189. TcxGridColumn *ColFrm06;
  190. TcxGridColumn *ColFrm07;
  191. TcxGridColumn *ColFrm08;
  192. TcxGridColumn *ColFrm02;
  193. TcxGridColumn *ColFrm09;
  194. TcxGridLevel *GlForm;
  195. TcxGrid *CxSche;
  196. TcxGridTableView *TvSche;
  197. TcxGridColumn *Col00;
  198. TcxGridColumn *Col01;
  199. TcxGridColumn *Col02;
  200. TcxGridColumn *Col0003;
  201. TcxGridColumn *Col04;
  202. TcxGridColumn *Col05;
  203. TcxGridColumn *Col06;
  204. TcxGridColumn *Col07;
  205. TcxGridColumn *Col08;
  206. TcxGridColumn *Col03;
  207. TcxGridColumn *Col10;
  208. TcxGridColumn *Col11;
  209. TcxGridColumn *Col12;
  210. TcxGridColumn *Col13;
  211. TcxGridColumn *Col14;
  212. TcxGridColumn *Col15;
  213. TcxGridColumn *Col16;
  214. TcxGridColumn *Col17;
  215. TcxGridColumn *Col18;
  216. TcxGridColumn *Col19;
  217. TcxGridColumn *Col20;
  218. TcxGridColumn *Col21;
  219. TcxGridColumn *Col22;
  220. TcxGridColumn *Col23;
  221. TcxGridColumn *Col24;
  222. TcxGridColumn *ColWeek1;
  223. TcxGridColumn *ColWeek2;
  224. TcxGridColumn *ColWeek3;
  225. TcxGridColumn *ColWeek4;
  226. TcxGridColumn *ColWeek5;
  227. TcxGridColumn *ColWeek6;
  228. TcxGridColumn *ColWeek7;
  229. TcxGridColumn *Col25;
  230. TcxGridLevel *GlSche;
  231. TcxButton *BtnEdit;
  232. TcxButton *BtnInsert;
  233. TcxButton *BtnDelete;
  234. TcxButton *BtnSave;
  235. TcxGroupBox *GrpPreview;
  236. TScrollBox *ScrollBox2;
  237. TPanel *PnlPreview;
  238. TImage *ImgPreview;
  239. TcxSplitter *cxSplitter2;
  240. TLabel *Label1;
  241. TcxGridColumn *ColViewDslplCndtNm;
  242. TcxGridColumn *ColDsplCndtNm;
  243. TcxGridColumn *ColDsplCndtId;
  244. TcxComboBox *CbSizeType;
  245. TImage *ImgVideo;
  246. TImage *ImgStream;
  247. TcxGridColumn *ColFormSn;
  248. TLabel *LblTemp;
  249. TcxButton *BtnSaveScnr;
  250. TcxButton *BtnMsgDisp;
  251. void __fastcall FormShow(TObject *Sender);
  252. void __fastcall TmrShowTimer(TObject *Sender);
  253. void __fastcall BtnCloseClick(TObject *Sender);
  254. void __fastcall FormClose(TObject *Sender, TCloseAction &Action);
  255. void __fastcall FormCloseQuery(TObject *Sender, bool &CanClose);
  256. void __fastcall BtnSearchClick(TObject *Sender);
  257. void __fastcall FormCreate(TObject *Sender);
  258. void __fastcall BtnListAddClick(TObject *Sender);
  259. void __fastcall BtnListDeleteClick(TObject *Sender);
  260. void __fastcall TvScheCellDblClick(TcxCustomGridTableView *Sender, TcxGridTableDataCellViewInfo *ACellViewInfo,
  261. TMouseButton AButton, TShiftState AShift,
  262. bool &AHandled);
  263. void __fastcall BtnSaveClick(TObject *Sender);
  264. void __fastcall BtnUpClick(TObject *Sender);
  265. void __fastcall BtnDownClick(TObject *Sender);
  266. void __fastcall ChkAutoWidthPropertiesChange(TObject *Sender);
  267. void __fastcall BtnBestFitClick(TObject *Sender);
  268. void __fastcall Col05CustomDrawCell(TcxCustomGridTableView *Sender, TcxCanvas *ACanvas, TcxGridTableDataCellViewInfo *AViewInfo,
  269. bool &ADone);
  270. void __fastcall Col00CustomDrawCell(TcxCustomGridTableView *Sender, TcxCanvas *ACanvas, TcxGridTableDataCellViewInfo *AViewInfo,
  271. bool &ADone);
  272. void __fastcall Col06CustomDrawCell(TcxCustomGridTableView *Sender, TcxCanvas *ACanvas, TcxGridTableDataCellViewInfo *AViewInfo,
  273. bool &ADone);
  274. void __fastcall CbVmsPropertiesChange(TObject *Sender);
  275. void __fastcall BtnEditClick(TObject *Sender);
  276. void __fastcall BtnInsertClick(TObject *Sender);
  277. void __fastcall BtnDeleteClick(TObject *Sender);
  278. void __fastcall TvVmsScheFocusedRecordChanged(TcxCustomGridTableView *Sender, TcxCustomGridRecord *APrevFocusedRecord,
  279. TcxCustomGridRecord *AFocusedRecord, bool ANewItemRecordFocusingChanged);
  280. void __fastcall TvScheFocusedRecordChanged(TcxCustomGridTableView *Sender, TcxCustomGridRecord *APrevFocusedRecord, TcxCustomGridRecord *AFocusedRecord,
  281. bool ANewItemRecordFocusingChanged);
  282. void __fastcall TvFormFocusedRecordChanged(TcxCustomGridTableView *Sender, TcxCustomGridRecord *APrevFocusedRecord, TcxCustomGridRecord *AFocusedRecord,
  283. bool ANewItemRecordFocusingChanged);
  284. void __fastcall PgSchedulePageChanging(TObject *Sender, TcxTabSheet *NewPage, bool &AllowChange);
  285. void __fastcall Col03PropertiesEditValueChanged(TObject *Sender);
  286. void __fastcall BtnBestFitViewClick(TObject *Sender);
  287. void __fastcall TvScheCellClick(TcxCustomGridTableView *Sender, TcxGridTableDataCellViewInfo *ACellViewInfo, TMouseButton AButton,
  288. TShiftState AShift, bool &AHandled);
  289. void __fastcall TvFormCellClick(TcxCustomGridTableView *Sender, TcxGridTableDataCellViewInfo *ACellViewInfo, TMouseButton AButton,
  290. TShiftState AShift, bool &AHandled);
  291. void __fastcall BtnSaveScnrClick(TObject *Sender);
  292. void __fastcall BtnMsgDispClick(TObject *Sender);
  293. private: // User declarations
  294. void __fastcall CommClose();
  295. TcxDataController *m_pGDC;
  296. String FTitle;
  297. bool FUpdate;
  298. bool FNewDb;
  299. bool EditMode;
  300. TList *FListSymb;
  301. int FSelIdx;
  302. String FVmsTypeCd;
  303. String FSelVmsModlType;
  304. String FSelVmsCtlrId;
  305. int FMaxFormSn;
  306. public:
  307. TItsMap<String, TVmsDsplCndt*> FVmsFormDsplCndtList;
  308. TItsMap<String, TFormImage*> FFormLists; // 모듈크기별 폼 이미지를 저장
  309. TItsMap<String, TFormImage*> FFormBackLists; // 모듈크기별 폼 이미지를 저장(필인객체를 제외한 이미지 저장)
  310. TItsMap<int, TFormImage*> FFormRealLists; // 필인 객체를 포함한 폼 이미지 저장
  311. public:
  312. int FVmsWidth;
  313. int FVmsHeight;
  314. TVmsFormDesigner *m_pEdtDesigner;
  315. String FIfscId[10];
  316. TItsMap<String, TVmsFormObj*> FVmsFormLists; // 폼별 객체정보를 저장
  317. TItsMap<int, TVmsFormScnr*> FVmsScnrLists; // 시나리오별 필인객체 정보 저장
  318. TCommTarget *FCommCtrlTarget; // VMS 통신
  319. public: // User declarations
  320. __fastcall TFrmVmsMsgScheMngr(TComponent* Owner);
  321. void __fastcall InitTcxList(TcxGridTableView *AView);
  322. void __fastcall FormInit();
  323. void __fastcall RefreshData();
  324. void __fastcall SetColorScheme(String ASkinName);
  325. void __fastcall InitDbLoading();
  326. void __fastcall FillVmsCombo();
  327. bool __fastcall LoadVmsScenario(String AVMS_CTLR_ID);
  328. void __fastcall ClearSymbloList();
  329. void __fastcall DisplayInfo();
  330. void __fastcall DisplayScenarioInfo();
  331. void __fastcall ChangeEditMode(int AEdit);
  332. void __fastcall FormClear();
  333. void __fastcall ChangeEditFormPanel();
  334. bool __fastcall LoadVmsFormDsplCndt();
  335. String __fastcall GetNextVmsScnrId(String AVmsCtlrId);
  336. bool __fastcall LoadVmsScenarionForm(String AVmsCtlrId, String AScnrId);
  337. bool __fastcall LoadVmsScenarionFormObj(String AVmsCtlrId, String AScnrId);
  338. void __fastcall DrawVmsScenarionForm();
  339. void __fastcall DrawVmsScenarionForm(TcxDataController *AGDC, int AIdx);
  340. void __fastcall DrawFormObject(TVmsFormDesigner *AEdtDesigner, TFormObj *AFormObj, TVmsFormScnr *AVmsScnr, int AObjSeq);
  341. void __fastcall EditScenarioInfo();
  342. void __fastcall LoadPreviewForm(String AVmsFormId);
  343. void __fastcall LoadPreviewFormReal(String AVmsFormId, int AFormSn);
  344. bool __fastcall SaveVmsScnr(String AVmsCtlrId, String AScnrId, String AScnrNm);
  345. bool __fastcall CheckScenarioUse(String AScnrId);
  346. bool __fastcall UpdateVmsDefScenario(String AVmsCtlrId, String AScnrId);
  347. bool __fastcall DeleteVmsScenario(String AVmsCtlrId, String AScnrId, bool ADelScnr);
  348. bool __fastcall SaveVmsScenarioForm(String AVmsCtlrId, String AScnrId);
  349. bool __fastcall SaveVmsScenarioFormObj(String AVmsCtlrId, String AScnrId);
  350. void __fastcall InitVmsScnrFormObject(String AVmsCtlrId, String AScnrId, String AVmsFormId, TVmsFormScnr *AFormScnr);
  351. bool __fastcall LoadVmsFormList(String AVmsModlKind);
  352. bool __fastcall LoadVmsFormObjectList(String AVmsModlKind);
  353. bool __fastcall SaveVmsScenario(String AVmsNmbr, TcxGridTableView *AListSch);
  354. void __fastcall PreviewVmsScenarionForm();
  355. };
  356. //---------------------------------------------------------------------------
  357. extern PACKAGE TFrmVmsMsgScheMngr *FrmVmsMsgScheMngr;
  358. //---------------------------------------------------------------------------
  359. #endif