FDXPOptions.pas 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. // FDXPOptions
  2. {
  3. General DXP options.
  4. Licensed under MPL (http://www.mozilla.org/MPL/)
  5. Copyright 2003 - Eric Grange
  6. }
  7. unit FDXPOptions;
  8. interface
  9. uses
  10. Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  11. Dialogs, StdCtrls, ComCtrls, ExtCtrls;
  12. type
  13. TDXPOptions = class(TForm)
  14. Panel1: TPanel;
  15. PageControl1: TPageControl;
  16. TSFreePascal: TTabSheet;
  17. BUOk: TButton;
  18. BUCancel: TButton;
  19. Label1: TLabel;
  20. EDFPCBinary: TEdit;
  21. BUFPCBinary: TButton;
  22. Label2: TLabel;
  23. EDFPCSourcePaths: TEdit;
  24. BUFPCSource: TButton;
  25. CBShowCompileLog: TCheckBox;
  26. Label3: TLabel;
  27. EDFPCRoot: TEdit;
  28. BUFPCRoot: TButton;
  29. Label4: TLabel;
  30. EDFPCLibraryPaths: TEdit;
  31. BUFPCLibrary: TButton;
  32. procedure BUFPCBinaryClick(Sender: TObject);
  33. procedure BUFPCSourceClick(Sender: TObject);
  34. procedure BUFPCRootClick(Sender: TObject);
  35. procedure BUFPCLibraryClick(Sender: TObject);
  36. private
  37. { Déclarations privées }
  38. public
  39. { Déclarations publiques }
  40. function Execute : Boolean;
  41. end;
  42. implementation
  43. {$R *.dfm}
  44. uses DXPGlobals, FDXPDirectoryDialog, FDXPPathsDialog;
  45. // Execute
  46. //
  47. function TDXPOptions.Execute : Boolean;
  48. begin
  49. // prepare the dialog
  50. // FPC
  51. EDFPCRoot.Text:=vFPC_RootPath;
  52. EDFPCBinary.Text:=vFPC_BinaryPath;
  53. EDFPCLibraryPaths.Text:=vFPC_LibraryPaths;
  54. EDFPCSourcePaths.Text:=vFPC_SourcePaths;
  55. CBShowCompileLog.Checked:=vFPC_ShowCompileLog;
  56. Result:=(ShowModal=mrOk);
  57. if Result then begin
  58. // store values
  59. // FPC
  60. vFPC_RootPath:=EDFPCRoot.Text;
  61. vFPC_BinaryPath:=EDFPCBinary.Text;
  62. vFPC_LibraryPaths:=EDFPCLibraryPaths.Text;
  63. vFPC_SourcePaths:=EDFPCSourcePaths.Text;
  64. vFPC_ShowCompileLog:=CBShowCompileLog.Checked;
  65. end;
  66. end;
  67. procedure TDXPOptions.BUFPCRootClick(Sender: TObject);
  68. begin
  69. DXPDirectoryDialog(EDFPCRoot);
  70. if EDFPCBinary.Text='' then
  71. EDFPCBinary.Text:=EDFPCRoot.Text+'\bin\win32';
  72. end;
  73. procedure TDXPOptions.BUFPCBinaryClick(Sender: TObject);
  74. begin
  75. DXPDirectoryDialog(EDFPCBinary);
  76. end;
  77. procedure TDXPOptions.BUFPCLibraryClick(Sender: TObject);
  78. var
  79. buf : String;
  80. begin
  81. buf:=EDFPCLibraryPaths.Text;
  82. if DXPPathsDialog(buf) then
  83. EDFPCLibraryPaths.Text:=buf;
  84. end;
  85. procedure TDXPOptions.BUFPCSourceClick(Sender: TObject);
  86. var
  87. buf : String;
  88. begin
  89. buf:=EDFPCSourcePaths.Text;
  90. if DXPPathsDialog(buf) then
  91. EDFPCSourcePaths.Text:=buf;
  92. end;
  93. end.