mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-16 23:29:16 +02:00
project groups: started load project
git-svn-id: trunk@50360 -
This commit is contained in:
parent
cb2ab87cd6
commit
36d8d82648
@ -592,6 +592,7 @@ var
|
||||
PkgName: String;
|
||||
begin
|
||||
FTarget:=Nil;
|
||||
|
||||
PkgName:=ExtractFileUnitname(Filename,true);
|
||||
if PkgName='' then begin
|
||||
debugln(['Warning: (lazarus) [TIDECompileTarget.LoadPackage] invalid package filename "',Filename,'"']);
|
||||
@ -628,9 +629,28 @@ begin
|
||||
end;
|
||||
|
||||
procedure TIDECompileTarget.LoadProject;
|
||||
var
|
||||
AProject: TLazProject;
|
||||
i: Integer;
|
||||
ProjFile: TLazProjectFile;
|
||||
begin
|
||||
UnloadTarget;
|
||||
// ToDo
|
||||
|
||||
AProject:=LazarusIDE.ActiveProject;
|
||||
if (AProject<>nil) and (CompareFilenames(AProject.ProjectInfoFile,Filename)=0)
|
||||
then begin
|
||||
// load from active project
|
||||
FFiles:=TStringList.Create;
|
||||
for i:=0 to AProject.FileCount-1 do begin
|
||||
ProjFile:=AProject.Files[i];
|
||||
if ProjFile.IsPartOfProject then
|
||||
FFiles.Add(ProjFile.Filename);
|
||||
end;
|
||||
// ToDo: dependencies
|
||||
end else begin
|
||||
// load from .lpi file
|
||||
// ToDo
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TIDECompileTarget.LoadProjectGroup;
|
||||
|
@ -134,7 +134,7 @@ type
|
||||
procedure SetEventCallBacks(AProjectGroup: TProjectGroup);
|
||||
// Some helpers
|
||||
procedure SetProjectGroup(AValue: TProjectGroup);
|
||||
procedure ShowDependencies(AParent: TTreeNode; AProjectGroup: TProjectGroup; T: TObject; Out PD: TTargetNodes);
|
||||
procedure ShowDependencies(AParent: TTreeNode; AProjectGroup: TProjectGroup; T: TPGCompileTarget; Out PD: TTargetNodes);
|
||||
procedure ShowFileName;
|
||||
procedure Perform(ATargetAction: TPGTargetAction);
|
||||
function GetActiveTarget: TPGCompileTarget;
|
||||
@ -919,19 +919,23 @@ begin
|
||||
end;
|
||||
|
||||
procedure TProjectGroupEditorForm.ShowDependencies(AParent: TTreeNode;
|
||||
AProjectGroup: TProjectGroup; T: TObject; out PD: TTargetNodes);
|
||||
AProjectGroup: TProjectGroup; T: TPGCompileTarget; out PD: TTargetNodes);
|
||||
Var
|
||||
L: TfPList;
|
||||
I: Integer;
|
||||
P: TIDEPackage;
|
||||
i: Integer;
|
||||
Pkg: TIDEPackage;
|
||||
PkgName: String;
|
||||
begin
|
||||
PD[False]:=CreateNode(AParent,lisNodeDependencies,ntDependencies,Nil,AProjectGroup);
|
||||
PD[True]:=CreateNode(AParent,lisNodeRemovedDependencies,ntRemovedDependencies,Nil,AProjectGroup);
|
||||
PackageEditingInterface.GetRequiredPackages(T,L,[pirCompileOrder]);
|
||||
For I:=0 to L.Count-1 do
|
||||
For i:=0 to T.RequiredPackageCount-1 do
|
||||
begin
|
||||
P:=TIDEPackage(L[i]);
|
||||
CreateNode(PD[False],P.Name,ntDependency,Nil,AProjectGroup);
|
||||
PkgName:=T.RequiredPackages[i].PackageName;
|
||||
Pkg:=PackageEditingInterface.FindPackageWithName(PkgName);
|
||||
if Pkg<>nil then begin
|
||||
CreateNode(PD[False],Pkg.Name,ntDependency,Nil,AProjectGroup);
|
||||
end else begin
|
||||
CreateNode(PD[False],PKgName,ntDependency,Nil,AProjectGroup);
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user