mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-18 16:39:19 +02:00
project groups: editor: show dependencies of loaded project
git-svn-id: trunk@50362 -
This commit is contained in:
parent
3628131a81
commit
19c203dd22
@ -211,6 +211,7 @@ end;
|
|||||||
procedure TIDEProjectGroupManager.DoNewClick(Sender: TObject);
|
procedure TIDEProjectGroupManager.DoNewClick(Sender: TObject);
|
||||||
var
|
var
|
||||||
AProject: TLazProject;
|
AProject: TLazProject;
|
||||||
|
T: TIDECompileTarget;
|
||||||
begin
|
begin
|
||||||
if Not CheckSaved then
|
if Not CheckSaved then
|
||||||
Exit;
|
Exit;
|
||||||
@ -220,8 +221,10 @@ begin
|
|||||||
// add current project
|
// add current project
|
||||||
AProject:=LazarusIDE.ActiveProject;
|
AProject:=LazarusIDE.ActiveProject;
|
||||||
if (AProject<>nil) and FilenameIsAbsolute(AProject.ProjectInfoFile)
|
if (AProject<>nil) and FilenameIsAbsolute(AProject.ProjectInfoFile)
|
||||||
and FileExistsCached(AProject.ProjectInfoFile) then
|
and FileExistsCached(AProject.ProjectInfoFile) then begin
|
||||||
FProjectGroup.AddTarget(AProject.ProjectInfoFile);
|
T:=FProjectGroup.AddTarget(AProject.ProjectInfoFile) as TIDECompileTarget;
|
||||||
|
if T<>nil then T.LoadTarget;
|
||||||
|
end;
|
||||||
|
|
||||||
ShowProjectGroupEditor;
|
ShowProjectGroupEditor;
|
||||||
end;
|
end;
|
||||||
@ -633,6 +636,9 @@ var
|
|||||||
AProject: TLazProject;
|
AProject: TLazProject;
|
||||||
i: Integer;
|
i: Integer;
|
||||||
ProjFile: TLazProjectFile;
|
ProjFile: TLazProjectFile;
|
||||||
|
PkgList: TFPList;
|
||||||
|
Pkg: TIDEPackage;
|
||||||
|
PkgName: String;
|
||||||
begin
|
begin
|
||||||
UnloadTarget;
|
UnloadTarget;
|
||||||
|
|
||||||
@ -648,6 +654,21 @@ begin
|
|||||||
FFiles.Add(ProjFile.Filename);
|
FFiles.Add(ProjFile.Filename);
|
||||||
end;
|
end;
|
||||||
// ToDo: dependencies
|
// ToDo: dependencies
|
||||||
|
|
||||||
|
PkgList:=nil;
|
||||||
|
try
|
||||||
|
PackageEditingInterface.GetRequiredPackages(AProject,PkgList,[pirCompileOrder]);
|
||||||
|
if PkgList<>nil then begin
|
||||||
|
FRequiredPackages:=TObjectList.Create(True);
|
||||||
|
for i:=0 to PkgList.Count-1 do begin
|
||||||
|
Pkg:=TIDEPackage(PkgList[i]);
|
||||||
|
PkgName:=ExtractFileUnitname(Pkg.Filename,true);
|
||||||
|
FRequiredPackages.Add(TPGDependency.Create(PkgName));
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
finally
|
||||||
|
PkgList.Free;
|
||||||
|
end;
|
||||||
end else begin
|
end else begin
|
||||||
// load from .lpi file
|
// load from .lpi file
|
||||||
// ToDo
|
// ToDo
|
||||||
|
@ -36,9 +36,12 @@ Type
|
|||||||
|
|
||||||
TProjectGroup = class;
|
TProjectGroup = class;
|
||||||
|
|
||||||
|
{ TPGDependency }
|
||||||
|
|
||||||
TPGDependency = class
|
TPGDependency = class
|
||||||
public
|
public
|
||||||
PackageName: string;
|
PackageName: string;
|
||||||
|
constructor Create(const aPkgName: string);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{ TPGCompileTarget - a node in the tree, see TPGTargetType }
|
{ TPGCompileTarget - a node in the tree, see TPGTargetType }
|
||||||
@ -190,6 +193,13 @@ begin
|
|||||||
Result:=AAction in [taCompile,taCompileClean];
|
Result:=AAction in [taCompile,taCompileClean];
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
{ TPGDependency }
|
||||||
|
|
||||||
|
constructor TPGDependency.Create(const aPkgName: string);
|
||||||
|
begin
|
||||||
|
PackageName:=aPkgName;
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
{ TProjectGroup }
|
{ TProjectGroup }
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user