mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-04-07 01:57:57 +02:00
IDEIntf: added IsOwnerDependingOnPkg
git-svn-id: trunk@33834 -
This commit is contained in:
parent
313d60bf96
commit
16bfa87121
@ -216,6 +216,8 @@ type
|
||||
): TModalResult; virtual; abstract;
|
||||
function DoSaveAllPackages(Flags: TPkgSaveFlags): TModalResult; virtual; abstract;
|
||||
|
||||
function IsOwnerDependingOnPkg(AnOwner: TObject; const PkgName: string;
|
||||
out DependencyOwner: TObject): boolean; virtual; abstract;
|
||||
function AddUnitDependenciesForComponentClasses(const UnitFilename: string;
|
||||
ComponentClassnames: TStrings;
|
||||
Quiet: boolean = false): TModalResult; virtual; abstract;
|
||||
|
@ -215,6 +215,8 @@ type
|
||||
function GetPossibleOwnersOfUnit(const UnitFilename: string;
|
||||
Flags: TPkgIntfOwnerSearchFlags): TFPList; override;
|
||||
function GetPackageOfCurrentSourceEditor(out APackage: TLazPackage): TPkgFile;
|
||||
function IsOwnerDependingOnPkg(AnOwner: TObject; const PkgName: string;
|
||||
out DependencyOwner: TObject): boolean; override;
|
||||
function AddDependencyToOwners(OwnerList: TFPList; APackage: TLazPackage;
|
||||
OnlyTestIfPossible: boolean = false): TModalResult; override;
|
||||
function DoOpenPkgFile(PkgFile: TPkgFile): TModalResult;
|
||||
@ -3190,6 +3192,34 @@ begin
|
||||
APackage:=nil;
|
||||
end;
|
||||
|
||||
function TPkgManager.IsOwnerDependingOnPkg(AnOwner: TObject;
|
||||
const PkgName: string; out DependencyOwner: TObject): boolean;
|
||||
var
|
||||
FirstDep: TPkgDependency;
|
||||
Dep: TPkgDependency;
|
||||
begin
|
||||
Result:=false;
|
||||
DependencyOwner:=nil;
|
||||
if (AnOwner=nil) or (PkgName='') then exit;
|
||||
if AnOwner is TProject then
|
||||
FirstDep:=TProject(AnOwner).FirstRequiredDependency
|
||||
else if AnOwner is TLazPackage then begin
|
||||
if CompareDottedIdentifiers(PChar(TLazPackage(AnOwner).Name),
|
||||
PChar(PkgName))=0
|
||||
then begin
|
||||
DependencyOwner:=AnOwner;
|
||||
exit(true);
|
||||
end;
|
||||
FirstDep:=TLazPackage(AnOwner).FirstRequiredDependency;
|
||||
end else
|
||||
exit(false);
|
||||
if PackageGraph=nil then exit;
|
||||
Dep:=PackageGraph.FindDependencyRecursively(FirstDep,PkgName);
|
||||
if Dep=nil then exit;
|
||||
DependencyOwner:=Dep.Owner;
|
||||
Result:=true;
|
||||
end;
|
||||
|
||||
function TPkgManager.AddDependencyToOwners(OwnerList: TFPList;
|
||||
APackage: TLazPackage; OnlyTestIfPossible: boolean): TModalResult;
|
||||
var
|
||||
|
Loading…
Reference in New Issue
Block a user