project groups: started load project

git-svn-id: trunk@50360 -
This commit is contained in:
mattias 2015-11-17 13:02:39 +00:00
parent cb2ab87cd6
commit 36d8d82648
2 changed files with 34 additions and 10 deletions

View File

@ -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;

View File

@ -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;