mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-05-31 14:12:32 +02:00
107 lines
2.3 KiB
ObjectPascal
107 lines
2.3 KiB
ObjectPascal
unit frmgenoptions;
|
|
|
|
{$mode objfpc}{$H+}
|
|
|
|
interface
|
|
|
|
uses
|
|
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
|
|
ButtonPanel, EditBtn;
|
|
|
|
type
|
|
|
|
{ TGenCodeFormOptions }
|
|
|
|
TGenCodeFormOptions = class(TForm)
|
|
ButtonPanel1: TButtonPanel;
|
|
CBView: TCheckBox;
|
|
EBaseClass: TEdit;
|
|
EUnitName: TEdit;
|
|
EExtraUnits: TEdit;
|
|
EPrefix: TEdit;
|
|
EFileName: TFileNameEdit;
|
|
Label1: TLabel;
|
|
Label2: TLabel;
|
|
Label3: TLabel;
|
|
Label4: TLabel;
|
|
LFileName: TLabel;
|
|
procedure EUnitNameEditingDone(Sender: TObject);
|
|
private
|
|
function GetB: Boolean;
|
|
function GetS(AIndex: Integer): String;
|
|
procedure SetB(AValue: Boolean);
|
|
procedure SetS(AIndex: Integer; AValue: String);
|
|
{ private declarations }
|
|
public
|
|
{ public declarations }
|
|
Property FileName : String index 0 read GetS Write SetS;
|
|
Property UnitName : String index 1 read GetS Write SetS;
|
|
Property ExtraUnits : String index 2 read GetS Write SetS;
|
|
Property Prefix : String index 3 read GetS Write SetS;
|
|
Property BaseClass : String index 4 read GetS Write SetS;
|
|
Property DoPreview : Boolean Read GetB Write SetB;
|
|
end;
|
|
|
|
var
|
|
GenCodeFormOptions: TGenCodeFormOptions;
|
|
|
|
implementation
|
|
|
|
{$R *.lfm}
|
|
|
|
{ TGenCodeFormOptions }
|
|
|
|
procedure TGenCodeFormOptions.EUnitNameEditingDone(Sender: TObject);
|
|
|
|
Var
|
|
E,FN : String;
|
|
|
|
begin
|
|
E:=ExtractFileExt(EFileName.FileName);
|
|
if E='' then
|
|
E:=EFileName.DefaultExt;
|
|
FN:=ExtractFilePath(EFileName.FileName);
|
|
if FN='' then
|
|
FN:=IncludeTrailingPathDelimiter(Application.Location);
|
|
FN:=FN+EUnitName.Text+E;
|
|
EFileName.FileName:=FN;
|
|
end;
|
|
|
|
function TGenCodeFormOptions.GetB: Boolean;
|
|
begin
|
|
Result:=CBView.Checked;
|
|
end;
|
|
|
|
function TGenCodeFormOptions.GetS(AIndex: Integer): String;
|
|
begin
|
|
Case AIndex of
|
|
0 : Result:=EFileName.Text;
|
|
1 : Result:=EUnitName.Text;
|
|
2 : Result:=EExtraUnits.Text;
|
|
3 : Result:=EPRefix.Text;
|
|
4 : Result:=EBaseClass.Text;
|
|
end;
|
|
end;
|
|
|
|
procedure TGenCodeFormOptions.SetB(AValue: Boolean);
|
|
begin
|
|
CBView.Checked:=AValue
|
|
end;
|
|
|
|
procedure TGenCodeFormOptions.SetS(AIndex: Integer; AValue: String);
|
|
begin
|
|
Case AIndex of
|
|
0 : EFileName.Text:=Avalue;
|
|
1 : begin
|
|
EUnitName.Text:=AValue;
|
|
EUnitNameEditingDone(EUnitName);
|
|
end;
|
|
2 : EExtraUnits.Text:=AValue;
|
|
3 : EPRefix.Text:=AValue;
|
|
4 : EBaseClass.Text:=AValue;
|
|
end;
|
|
end;
|
|
|
|
end.
|
|
|