cody: unit dependencies: show units of selected groups

git-svn-id: trunk@40349 -
This commit is contained in:
mattias 2013-02-18 20:40:17 +00:00
parent 9e406efcad
commit 3a72cd0a98

View File

@ -571,7 +571,10 @@ var
CurUses: TUGUses; CurUses: TUGUses;
SourceGraphNode: TLvlGraphNode; SourceGraphNode: TLvlGraphNode;
TargetGraphNode: TLvlGraphNode; TargetGraphNode: TLvlGraphNode;
NewGroups: TStringToPointerTree;
UsedUnit: TUGGroupUnit;
begin begin
NewGroups:=TStringToPointerTree.Create(false);
NewUnits:=TFilenameToPointerTree.Create(false); NewUnits:=TFilenameToPointerTree.Create(false);
try try
// fetch new list of units // fetch new list of units
@ -579,6 +582,7 @@ begin
while GraphGroup<>nil do begin while GraphGroup<>nil do begin
UnitGroup:=TUGGroup(GraphGroup.Data); UnitGroup:=TUGGroup(GraphGroup.Data);
if UnitGroup<>nil then begin if UnitGroup<>nil then begin
NewGroups[UnitGroup.Name]:=UnitGroup;
AVLNode:=UnitGroup.Units.FindLowest; AVLNode:=UnitGroup.Units.FindLowest;
while AVLNode<>nil do begin while AVLNode<>nil do begin
GroupUnit:=TUGGroupUnit(AVLNode.Data); GroupUnit:=TUGGroupUnit(AVLNode.Data);
@ -615,7 +619,10 @@ begin
if GroupUnit.UsesUnits<>nil then begin if GroupUnit.UsesUnits<>nil then begin
for i:=0 to GroupUnit.UsesUnits.Count-1 do begin for i:=0 to GroupUnit.UsesUnits.Count-1 do begin
CurUses:=TUGUses(GroupUnit.UsesUnits[i]); CurUses:=TUGUses(GroupUnit.UsesUnits[i]);
TargetGraphNode:=Graph.GetNode(UnitToCaption(CurUses.UsesUnit),true); UsedUnit:=TUGGroupUnit(CurUses.UsesUnit);
if UsedUnit.Group=nil then continue;
if not NewGroups.Contains(UsedUnit.Group.Name) then continue;
TargetGraphNode:=Graph.GetNode(UnitToCaption(UsedUnit),true);
Graph.GetEdge(SourceGraphNode,TargetGraphNode,true); Graph.GetEdge(SourceGraphNode,TargetGraphNode,true);
end; end;
end; end;
@ -624,6 +631,7 @@ begin
UnitsLvlGraph.EndUpdate; UnitsLvlGraph.EndUpdate;
finally finally
NewGroups.Free;
NewUnits.Free; NewUnits.Free;
end; end;
end; end;