GUIDesigner.pas 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. unit GUIDesigner;
  2. interface
  3. uses
  4. Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  5. Dialogs, ELDsgnr, StdCtrls, ExtCtrls, Misc;
  6. type
  7. TGUIForm1 = class(TForm)
  8. ELGUIDesigner: TELDesigner;
  9. procedure FormShow(Sender: TObject);
  10. procedure ELGUIDesignerChangeSelection(Sender: TObject);
  11. procedure ELGUIDesignerControlInserting(Sender: TObject; var AControlClass: TControlClass);
  12. procedure ELGUIDesignerControlInserted(Sender: TObject);
  13. procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
  14. procedure ELGUIDesignerModified(Sender: TObject);
  15. private
  16. { Private declarations }
  17. public
  18. { Public declarations }
  19. pLuaEditGUIForm: TLuaEditGUIForm;
  20. end;
  21. var
  22. GUIForm1: TGUIForm1;
  23. implementation
  24. uses GUIInspector, GUIControls;
  25. {$R *.dfm}
  26. procedure TGUIForm1.FormShow(Sender: TObject);
  27. begin
  28. ELGUIDesigner.DesignControl := Self;
  29. ELGUIDesigner.Active := True;
  30. end;
  31. procedure TGUIForm1.ELGUIDesignerChangeSelection(Sender: TObject);
  32. var
  33. lstObjects: TList;
  34. begin
  35. try
  36. lstObjects := TList.Create;
  37. frmGUIInspector.ELGUIPropertyInspector.Clear;
  38. ELGUIDesigner.SelectedControls.GetControls(lstObjects);
  39. frmGUIInspector.ELGUIPropertyInspector.AssignObjects(lstObjects);
  40. finally
  41. lstObjects.Free;
  42. end;
  43. end;
  44. procedure TGUIForm1.ELGUIDesignerControlInserting(Sender: TObject; var AControlClass: TControlClass);
  45. var
  46. sCtrlName: String;
  47. begin
  48. sCtrlName := UpperCase(frmGUIControls.jvGUIControls.ActivePage.DownButton.Caption);
  49. if sCtrlName = 'LABEL' then
  50. AControlClass := TLabel
  51. else if sCtrlName = 'BUTTON' then
  52. AControlClass := TButton
  53. else if sCtrlName = 'EDIT' then
  54. AControlClass := TEdit
  55. else if sCtrlName = 'CHECKBOX' then
  56. AControlClass := TCheckBox
  57. else if sCtrlName = 'RADIO' then
  58. AControlClass := TRadioButton
  59. else if sCtrlName = 'IMAGE' then
  60. AControlClass := TImage;
  61. end;
  62. procedure TGUIForm1.ELGUIDesignerControlInserted(Sender: TObject);
  63. begin
  64. frmGUIControls.jvGUIControls.ActivePage.DownIndex := 0;
  65. end;
  66. procedure TGUIForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
  67. begin
  68. ShowWindow(Self.Handle, SW_HIDE);
  69. CanClose := False;
  70. end;
  71. procedure TGUIForm1.ELGUIDesignerModified(Sender: TObject);
  72. begin
  73. pLuaEditGUIForm.HasChanged := True;
  74. end;
  75. end.