From cb469b50672d385ceba1cbe45f706128e0b55778 Mon Sep 17 00:00:00 2001 From: mattias Date: Wed, 30 Jan 2013 16:12:10 +0000 Subject: [PATCH] cody: unit dependencies: fpc groups git-svn-id: trunk@40064 - --- components/codetools/ide/codyunitdepwnd.pas | 47 ++++++++++++--------- 1 file changed, 28 insertions(+), 19 deletions(-) diff --git a/components/codetools/ide/codyunitdepwnd.pas b/components/codetools/ide/codyunitdepwnd.pas index c94b03f46c..e0db6b372d 100644 --- a/components/codetools/ide/codyunitdepwnd.pas +++ b/components/codetools/ide/codyunitdepwnd.pas @@ -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;