mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-19 04:19:09 +02:00
cody: unit dependencies: fpc groups
git-svn-id: trunk@40064 -
This commit is contained in:
parent
85b1f70b0f
commit
cb469b5067
@ -18,6 +18,7 @@ resourcestring
|
||||
rsClose = 'Close';
|
||||
const
|
||||
GroupPrefixProject = '-Project-';
|
||||
GroupPrefixFPCSrc = 'FPC:';
|
||||
type
|
||||
TUDDUsesType = (
|
||||
uddutInterfaceUses,
|
||||
@ -56,6 +57,7 @@ type
|
||||
procedure CreateGroups;
|
||||
function CreateProjectGroup(AProject: TLazProject): TUGGroup;
|
||||
function CreatePackageGroup(APackage: TIDEPackage): TUGGroup;
|
||||
procedure CreateFPCSrcGroups;
|
||||
procedure AddStartAndTargetUnits;
|
||||
procedure UpdateAll;
|
||||
procedure UpdateCurUnitDiagram;
|
||||
@ -192,30 +194,12 @@ end;
|
||||
|
||||
procedure TUnitDependenciesDialog.CreateGroups;
|
||||
var
|
||||
Node: TAVLTreeNode;
|
||||
CurUnit: TUGGroupUnit;
|
||||
FPCSrcDir: String;
|
||||
i: Integer;
|
||||
begin
|
||||
CreateProjectGroup(LazarusIDE.ActiveProject);
|
||||
for i:=0 to PackageEditingInterface.GetPackageCount-1 do
|
||||
CreatePackageGroup(PackageEditingInterface.GetPackages(i));
|
||||
|
||||
FPCSrcDir:=AppendPathDelim(GetFPCSrcDir);
|
||||
|
||||
Node:=UsesGraph.FilesTree.FindLowest;
|
||||
while Node<>nil do begin
|
||||
CurUnit:=TUGGroupUnit(Node.Data);
|
||||
if CompareFilenames(FPCSrcDir,LeftStr(CurUnit.Filename,length(FPCSrcDir)))=0
|
||||
then begin
|
||||
// a unit in the FPC sources
|
||||
|
||||
end;
|
||||
if CurUnit.Group=nil then begin
|
||||
|
||||
end;
|
||||
Node:=UsesGraph.FilesTree.FindSuccessor(Node);
|
||||
end;
|
||||
CreateFPCSrcGroups;
|
||||
end;
|
||||
|
||||
function TUnitDependenciesDialog.CreateProjectGroup(AProject: TLazProject
|
||||
@ -252,6 +236,31 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TUnitDependenciesDialog.CreateFPCSrcGroups;
|
||||
var
|
||||
FPCSrcDir: String;
|
||||
Node: TAVLTreeNode;
|
||||
CurUnit: TUGGroupUnit;
|
||||
Directory: String;
|
||||
Grp: TUGGroup;
|
||||
begin
|
||||
FPCSrcDir:=AppendPathDelim(GetFPCSrcDir);
|
||||
|
||||
Node:=UsesGraph.FilesTree.FindLowest;
|
||||
while Node<>nil do begin
|
||||
CurUnit:=TUGGroupUnit(Node.Data);
|
||||
if CompareFilenames(FPCSrcDir,LeftStr(CurUnit.Filename,length(FPCSrcDir)))=0
|
||||
then begin
|
||||
// a unit in the FPC sources
|
||||
Directory:=ExtractFilePath(CurUnit.Filename);
|
||||
Directory:=copy(Directory,length(FPCSrcDir)+1,length(Directory));
|
||||
Grp:=Groups.GetGroup(GroupPrefixFPCSrc+Directory,true);
|
||||
Grp.AddUnit(CurUnit);
|
||||
end;
|
||||
Node:=UsesGraph.FilesTree.FindSuccessor(Node);
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TUnitDependenciesDialog.SetCurrentUnit(AValue: TUGUnit);
|
||||
begin
|
||||
if FCurrentUnit=AValue then Exit;
|
||||
|
Loading…
Reference in New Issue
Block a user