mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-25 11:19:40 +02:00
IDEIntf: added PackageEditingInterface.FindInstalledPackageWithUnit
git-svn-id: trunk@55556 -
This commit is contained in:
parent
2fa1c8a50c
commit
6aebb896b0
@ -261,6 +261,7 @@ type
|
|||||||
function GetPackageCount: integer; virtual; abstract;
|
function GetPackageCount: integer; virtual; abstract;
|
||||||
function GetPackages(Index: integer): TIDEPackage; virtual; abstract;
|
function GetPackages(Index: integer): TIDEPackage; virtual; abstract;
|
||||||
function FindPackageWithName(const PkgName: string; IgnorePackage: TIDEPackage = nil): TIDEPackage; virtual; abstract;
|
function FindPackageWithName(const PkgName: string; IgnorePackage: TIDEPackage = nil): TIDEPackage; virtual; abstract;
|
||||||
|
function FindInstalledPackageWithUnit(const AnUnitName: string): TIDEPackage; virtual; abstract;
|
||||||
|
|
||||||
// dependencies
|
// dependencies
|
||||||
function IsOwnerDependingOnPkg(AnOwner: TObject; const PkgName: string;
|
function IsOwnerDependingOnPkg(AnOwner: TObject; const PkgName: string;
|
||||||
|
@ -326,6 +326,8 @@ type
|
|||||||
WithRequiredPackages, IgnoreDeleted: boolean): TPkgFile;
|
WithRequiredPackages, IgnoreDeleted: boolean): TPkgFile;
|
||||||
function FindUnitInAllPackages(const TheUnitName: string;
|
function FindUnitInAllPackages(const TheUnitName: string;
|
||||||
IgnoreDeleted: boolean): TPkgFile;
|
IgnoreDeleted: boolean): TPkgFile;
|
||||||
|
function FindUnitInInstalledPackages(const TheUnitName: string;
|
||||||
|
IgnoreDeleted: boolean): TPkgFile;
|
||||||
function GetMapSourceDirectoryToPackage(IgnorePackage: TLazPackage = nil): TFilenameToPointerTree;
|
function GetMapSourceDirectoryToPackage(IgnorePackage: TLazPackage = nil): TFilenameToPointerTree;
|
||||||
function EstimateCompileLoad(APackage: TLazPackage): int64;
|
function EstimateCompileLoad(APackage: TLazPackage): int64;
|
||||||
function PackageCanBeReplaced(OldPackage, NewPackage: TLazPackage): boolean;
|
function PackageCanBeReplaced(OldPackage, NewPackage: TLazPackage): boolean;
|
||||||
@ -1634,6 +1636,23 @@ begin
|
|||||||
Result:=nil;
|
Result:=nil;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function TLazPackageGraph.FindUnitInInstalledPackages(
|
||||||
|
const TheUnitName: string; IgnoreDeleted: boolean): TPkgFile;
|
||||||
|
var
|
||||||
|
Cnt: Integer;
|
||||||
|
i: Integer;
|
||||||
|
Pkg: TLazPackage;
|
||||||
|
begin
|
||||||
|
Cnt:=Count;
|
||||||
|
for i:=0 to Cnt-1 do begin
|
||||||
|
Pkg:=Packages[i];
|
||||||
|
if Pkg.Installed=pitNope then continue;
|
||||||
|
Result:=FindUnit(Pkg,TheUnitName,false,IgnoreDeleted);
|
||||||
|
if Result<>nil then exit;
|
||||||
|
end;
|
||||||
|
Result:=nil;
|
||||||
|
end;
|
||||||
|
|
||||||
function TLazPackageGraph.GetMapSourceDirectoryToPackage(
|
function TLazPackageGraph.GetMapSourceDirectoryToPackage(
|
||||||
IgnorePackage: TLazPackage): TFilenameToPointerTree;
|
IgnorePackage: TLazPackage): TFilenameToPointerTree;
|
||||||
var
|
var
|
||||||
|
@ -252,6 +252,8 @@ type
|
|||||||
function GetPackageCount: integer; override;
|
function GetPackageCount: integer; override;
|
||||||
function GetPackages(Index: integer): TIDEPackage; override;
|
function GetPackages(Index: integer): TIDEPackage; override;
|
||||||
function FindPackageWithName(const PkgName: string; IgnorePackage: TIDEPackage = nil): TIDEPackage; override;
|
function FindPackageWithName(const PkgName: string; IgnorePackage: TIDEPackage = nil): TIDEPackage; override;
|
||||||
|
function FindInstalledPackageWithUnit(const AnUnitName: string
|
||||||
|
): TIDEPackage; override;
|
||||||
function IsOwnerDependingOnPkg(AnOwner: TObject; const PkgName: string;
|
function IsOwnerDependingOnPkg(AnOwner: TObject; const PkgName: string;
|
||||||
out DependencyOwner: TObject): boolean; override;
|
out DependencyOwner: TObject): boolean; override;
|
||||||
procedure GetRequiredPackages(AnOwner: TObject; out PkgList: TFPList;
|
procedure GetRequiredPackages(AnOwner: TObject; out PkgList: TFPList;
|
||||||
@ -4113,6 +4115,18 @@ begin
|
|||||||
Result:=PackageGraph.FindPackageWithName(PkgName, IgnorePackage as TLazPackage);
|
Result:=PackageGraph.FindPackageWithName(PkgName, IgnorePackage as TLazPackage);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function TPkgManager.FindInstalledPackageWithUnit(const AnUnitName: string
|
||||||
|
): TIDEPackage;
|
||||||
|
var
|
||||||
|
PkgFile: TPkgFile;
|
||||||
|
begin
|
||||||
|
PkgFile:=PackageGraph.FindUnitInInstalledPackages(AnUnitName, true);
|
||||||
|
if PkgFile=nil then
|
||||||
|
Result:=nil
|
||||||
|
else
|
||||||
|
Result:=PkgFile.LazPackage;
|
||||||
|
end;
|
||||||
|
|
||||||
function TPkgManager.RedirectPackageDependency(APackage: TIDEPackage): TIDEPackage;
|
function TPkgManager.RedirectPackageDependency(APackage: TIDEPackage): TIDEPackage;
|
||||||
begin
|
begin
|
||||||
Result:=APackage;
|
Result:=APackage;
|
||||||
|
Loading…
Reference in New Issue
Block a user