lazarus/ide/unitinfodlg.pp
lazarus be0b610692 MG: added form resizes
git-svn-id: trunk@1613 -
2002-04-16 15:22:50 +00:00

348 lines
6.5 KiB
ObjectPascal

{
Author: Jens Arm
ToDo: .....
}
unit UnitInfoDlg;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, Controls, StdCtrls, Forms, Buttons, ExtCtrls{,
LResources, SynEdit};
type
TUnitInfoDlg = class(TFORM)
OkButton:TButton;
uname: TLabel;
utype: TLabel;
uinproject: TLabel;
usize: TLabel;
outname: TLabel;
outtype: TLabel;
outinproject: TLabel;
ulines: TLabel;
upath: TLabel;
outsize: TLabel;
outlines: TLabel;
outpath: TLabel;
procedure UnitInfoDlgResize(Sender: TObject);
procedure OkButtonClick(Sender:TObject);
private
procedure setShortName(const str:string);
procedure setType(const str:string);
procedure setInProject(const str:string);
procedure setSize(const str:string);
procedure setLines(const str:string);
procedure setPath(const str:string);
public
constructor Create(AOwner:TComponent); override;
end;
function ShowUnitInfoDlg(const AnUnitName, AType: string;
IsPartOfProject: boolean; SizeInBytes, LineCount: integer;
const FilePath: string): TModalResult;
implementation
uses LResources;
function ShowUnitInfoDlg(const AnUnitName, AType: string;
IsPartOfProject: boolean; SizeInBytes, LineCount: integer;
const FilePath: string): TModalResult;
var Dlg: TUnitInfoDlg;
begin
Dlg:=TUnitInfoDlg.Create(Application);
try
with Dlg do begin
Caption:='Information about '+AnUnitName;
setShortName(AnUnitName);
setType(AType);
if IsPartOfProject then
setInProject('yes')
else
setInProject('no');
setSize(IntToStr(SizeInBytes)+' bytes');
setLines(IntToStr(LineCount));
setPath(FilePath);
end;
Result:=Dlg.ShowModal;
finally
Dlg.Free;
end;
end;
{ TUnitInfoDlg }
constructor TUnitInfoDlg.Create(AOwner:TComponent);
begin
inherited Create(AOwner);
if LazarusResources.Find(ClassName)=nil then begin
Caption:='Unit Info for unit ???';
Width:=400;
Height:=164;
position:=poScreenCenter;
OnResize:=@UnitInfoDlgResize;
OkButton:=TButton.Create(Self);
with OkButton do begin
Name:='OkButton';
Parent:=Self;
Top:=132;
Width:=75;
Height:=25;
Left:=(Self.ClientWidth-Width) div 2;
Caption:='Ok';
OnClick:=@OkButtonClick;
Show;
end;
UName:=TLabel.create(self);
with uname do begin
Name:='Name';
Parent:=self;
Left:=4;
top:=4;
caption:='Name:';
Show;
end;
utype:=TLabel.create(self);
with utype do begin
Name:='Type';
Parent:=self;
Left:=4;
top:=24;
caption:='Type:';
Show;
end;
uinproject:=TLabel.create(self);
with uinproject do begin
Name:='InProject';
Parent:=self;
Left:=4;
top:=44;
caption:='in Project:';
Show;
end;
usize:=TLabel.create(self);
with usize do begin
Name:='Size';
Parent:=self;
Left:=4;
top:=64;
caption:='Size:';
Show;
end;
ulines:=TLabel.create(self);
with ulines do begin
Name:='Lines';
Parent:=self;
Left:=4;
top:=84;
caption:='Lines:';
Show;
end;
upath:=TLabel.create(self);
with upath do begin
Name:='Path';
Parent:=self;
Left:=4;
top:=104;
caption:='Path:';
Show;
end;
outname:=TLabel.create(self);
with outname do begin
Name:='OutName';
Parent:=self;
Left:=68;
top:=4;
Width:=Self.ClientWidth-Left-5;
caption:='temp';
Show;
end;
outtype:=TLabel.create(self);
with outtype do begin
Name:='OutType';
Parent:=self;
Left:=68;
top:=24;
Width:=Self.ClientWidth-Left-5;
caption:='temp';
Show;
end;
outinproject:=TLabel.create(self);
with outinproject do begin
Name:='OutInProject';
Parent:=self;
Left:=68;
top:=44;
Width:=Self.ClientWidth-Left-5;
caption:='temp';
Show;
end;
outsize:=TLabel.create(self);
with outsize do begin
Name:='OutSize';
Parent:=self;
Left:=68;
top:=64;
Width:=Self.ClientWidth-Left-5;
caption:='temp';
Show;
end;
outlines:=TLabel.create(self);
with outlines do begin
Name:='OutLines';
Parent:=self;
Left:=68;
top:=84;
Width:=Self.ClientWidth-Left-5;
caption:='temp';
Show;
end;
outpath:=TLabel.create(self);
with outpath do begin
Name:='OutPath';
Parent:=self;
Left:=68;
top:=104;
width:=181;
caption:='temp';
Width:=Self.ClientWidth-Left-5;
autosize:=true;
Show;
end;
end;
UnitInfoDlgResize(nil);
end;
procedure TUnitInfoDlg.setShortName(const str:string);
begin
outname.caption:=str;
end;
procedure TUnitInfoDlg.setType(const str:string);
begin
outtype.caption:=str;
end;
procedure TUnitInfoDlg.setInProject(const str:string);
begin
outinproject.caption:=str;
end;
procedure TUnitInfoDlg.setSize(const str:string);
begin
outsize.caption:=str;
end;
procedure TUnitInfoDlg.setLines(const str:string);
begin
outlines.caption:=str;
end;
procedure TUnitInfoDlg.setPath(const str:string);
begin
outpath.caption:=str;
end;
procedure TUnitInfoDlg.UnitInfoDlgResize(Sender: TObject);
begin
with OkButton do begin
Top:=132;
Width:=75;
Height:=25;
Left:=(Self.ClientWidth-Width) div 2;
end;
with uname do begin
Left:=4;
Top:=4;
end;
with utype do begin
Left:=4;
Top:=24;
end;
with uinproject do begin
Left:=4;
Top:=44;
end;
with usize do begin
Left:=4;
top:=64;
end;
with ulines do begin
Left:=4;
top:=84;
end;
with upath do begin
Left:=4;
top:=104;
end;
with outname do begin
Left:=68;
top:=4;
Width:=Self.ClientWidth-Left-5;
end;
with outtype do begin
Left:=68;
top:=24;
Width:=Self.ClientWidth-Left-5;
end;
with outinproject do begin
Left:=68;
top:=44;
Width:=Self.ClientWidth-Left-5;
end;
with outsize do begin
Left:=68;
top:=64;
Width:=Self.ClientWidth-Left-5;
end;
with outlines do begin
Left:=68;
top:=84;
Width:=Self.ClientWidth-Left-5;
end;
with outpath do begin
Left:=68;
top:=104;
Width:=Self.ClientWidth-Left-5;
end;
end;
procedure TUnitInfoDlg.OkButtonClick(Sender:TObject);
begin
ModalResult:=mrOk;
end;
end.