IDE: fixed showing broken dependencies

git-svn-id: trunk@40628 -
This commit is contained in:
mattias 2013-03-24 10:51:18 +00:00
parent d8b0df8e4d
commit 78ab6ea5d0

View File

@ -44,6 +44,9 @@ uses
IDEWindowIntf, LazarusIDEStrConsts, Project, PackageDefs, PackageSystem; IDEWindowIntf, LazarusIDEStrConsts, Project, PackageDefs, PackageSystem;
type type
{ TBrokenDependenciesDialog }
TBrokenDependenciesDialog = class(TForm) TBrokenDependenciesDialog = class(TForm)
NoteLabel: TLabel; NoteLabel: TLabel;
DependencyListView: TListView; DependencyListView: TListView;
@ -51,14 +54,14 @@ type
var CloseAction: TCloseAction); var CloseAction: TCloseAction);
procedure BrokenDependenciesDialogResize(Sender: TObject); procedure BrokenDependenciesDialogResize(Sender: TObject);
private private
fButtons: TList; // list of TBitBtn fButtons: TFPList; // list of TBitBtn
fButtonSet: TMsgDlgButtons; fButtonSet: TMsgDlgButtons;
function GetButtons(Btn: TMsgDlgBtn): TBitBtn; function GetButtons(Btn: TMsgDlgBtn): TBitBtn;
procedure SetupComponents; procedure SetupComponents;
procedure ClearButtons; procedure ClearButtons;
public public
DependencyList: TFPList; DependencyList: TFPList;
constructor Create(TheOwner: TComponent); override; constructor CreateNew(TheOwner: TComponent; Num: Integer = 0); override;
destructor Destroy; override; destructor Destroy; override;
property Buttons[Btn: TMsgDlgBtn]: TBitBtn read GetButtons; property Buttons[Btn: TMsgDlgBtn]: TBitBtn read GetButtons;
procedure CreateButtons(BtnSet: TMsgDlgButtons); procedure CreateButtons(BtnSet: TMsgDlgButtons);
@ -81,7 +84,7 @@ function ShowBrokenDependencies(DependencyList: TFPList;
var var
BrokenDependenciesDialog: TBrokenDependenciesDialog; BrokenDependenciesDialog: TBrokenDependenciesDialog;
begin begin
BrokenDependenciesDialog:=TBrokenDependenciesDialog.Create(nil); BrokenDependenciesDialog:=TBrokenDependenciesDialog.CreateNew(nil);
BrokenDependenciesDialog.DependencyList:=DependencyList; BrokenDependenciesDialog.DependencyList:=DependencyList;
with BrokenDependenciesDialog do begin with BrokenDependenciesDialog do begin
CreateButtons(BtnSet); CreateButtons(BtnSet);
@ -168,16 +171,18 @@ procedure TBrokenDependenciesDialog.ClearButtons;
var var
i: Integer; i: Integer;
begin begin
for i:=0 to fButtons.Count-1 do TBitBtn(fButtons[i]).Free; for i:=0 to fButtons.Count-1 do
TBitBtn(fButtons[i]).Free;
fButtons.Clear; fButtons.Clear;
end; end;
constructor TBrokenDependenciesDialog.Create(TheOwner: TComponent); constructor TBrokenDependenciesDialog.CreateNew(TheOwner: TComponent;
Num: Integer);
begin begin
inherited Create(TheOwner); inherited CreateNew(TheOwner,Num);
Name:='BrokenDependenciesDialog'; Name:='BrokenDependenciesDialog';
Caption:=lisA2PBrokenDependencies; Caption:=lisA2PBrokenDependencies;
fButtons:=TList.Create; fButtons:=TFPList.Create;
SetupComponents; SetupComponents;
OnResize:=@BrokenDependenciesDialogResize; OnResize:=@BrokenDependenciesDialogResize;
Position:=poScreenCenter; Position:=poScreenCenter;
@ -189,7 +194,7 @@ end;
destructor TBrokenDependenciesDialog.Destroy; destructor TBrokenDependenciesDialog.Destroy;
begin begin
ClearButtons; ClearButtons;
fButtons.Free; FreeAndNil(fButtons);
inherited Destroy; inherited Destroy;
end; end;