Packager: Remove event PackageEditors.OnGetUnitRegisterInfo.

git-svn-id: trunk@64157 -
This commit is contained in:
juha 2020-11-23 17:21:54 +00:00
parent edc2cc5dbb
commit 3c05bc138b
3 changed files with 14 additions and 63 deletions

View File

@ -52,11 +52,7 @@ type
TIDEFileStateFlags = set of TIDEFileStateFlag; TIDEFileStateFlags = set of TIDEFileStateFlag;
TGetIDEFileStateEvent = procedure(Sender: TObject; const Filename: string; TGetIDEFileStateEvent = procedure(Sender: TObject; const Filename: string;
NeededFlags: TIDEFileStateFlags; out ResultFlags: TIDEFileStateFlags) NeededFlags: TIDEFileStateFlags; out ResultFlags: TIDEFileStateFlags) of object;
of object;
TOnGetUnitRegisterInfo = procedure(Sender: TObject; const Filename: string;
out TheUnitName: string; out HasRegisterProc: boolean) of object;
implementation implementation

View File

@ -39,6 +39,8 @@ uses
ExtCtrls, ImgList, LCLType, LCLIntf, ExtCtrls, ImgList, LCLType, LCLIntf,
// LazControls // LazControls
TreeFilterEdit, TreeFilterEdit,
// Codetools
CodeToolManager, CodeCache,
// LazUtils // LazUtils
FileUtil, LazFileUtils, LazFileCache, AvgLvlTree, LazLoggerBase, LazTracer, FileUtil, LazFileUtils, LazFileCache, AvgLvlTree, LazLoggerBase, LazTracer,
// BuildIntf // BuildIntf
@ -375,7 +377,6 @@ type
FOnShowFindInFiles: TOnPkgEvent; FOnShowFindInFiles: TOnPkgEvent;
FOnFreeEditor: TOnFreePkgEditor; FOnFreeEditor: TOnFreePkgEditor;
FOnGetIDEFileInfo: TGetIDEFileStateEvent; FOnGetIDEFileInfo: TGetIDEFileStateEvent;
FOnGetUnitRegisterInfo: TOnGetUnitRegisterInfo;
FOnInstallPackage: TOnPkgEvent; FOnInstallPackage: TOnPkgEvent;
FOnOpenFile: TOnOpenFile; FOnOpenFile: TOnOpenFile;
FOnOpenPackage: TOnPkgEvent; FOnOpenPackage: TOnPkgEvent;
@ -453,8 +454,6 @@ type
write FOnFreeEditor; write FOnFreeEditor;
property OnGetIDEFileInfo: TGetIDEFileStateEvent read FOnGetIDEFileInfo property OnGetIDEFileInfo: TGetIDEFileStateEvent read FOnGetIDEFileInfo
write FOnGetIDEFileInfo; write FOnGetIDEFileInfo;
property OnGetUnitRegisterInfo: TOnGetUnitRegisterInfo
read FOnGetUnitRegisterInfo write FOnGetUnitRegisterInfo;
property OnInstallPackage: TOnPkgEvent read FOnInstallPackage property OnInstallPackage: TOnPkgEvent read FOnInstallPackage
write FOnInstallPackage; write FOnInstallPackage;
property OnOpenFile: TOnOpenFile read FOnOpenFile write FOnOpenFile; property OnOpenFile: TOnOpenFile read FOnOpenFile write FOnOpenFile;
@ -1918,12 +1917,11 @@ end;
procedure TPackageEditorForm.DoAddNewFile(NewItem: TNewIDEItemTemplate); procedure TPackageEditorForm.DoAddNewFile(NewItem: TNewIDEItemTemplate);
var var
NewFilename: String; NewFilename, NewUnitName: String;
NewFileType: TPkgFileType; NewFileType: TPkgFileType;
NewFlags: TPkgFileFlags; NewFlags: TPkgFileFlags;
Desc: TProjectFileDescriptor; Desc: TProjectFileDescriptor;
NewUnitName: String; CodeBuffer: TCodeBuffer;
HasRegProc: Boolean;
begin begin
if not (NewItem is TNewItemProjectFile) then exit; if not (NewItem is TNewItemProjectFile) then exit;
// create new file // create new file
@ -1939,9 +1937,12 @@ begin
if (NewFileType in PkgFileUnitTypes) then begin if (NewFileType in PkgFileUnitTypes) then begin
Include(NewFlags,pffAddToPkgUsesSection); Include(NewFlags,pffAddToPkgUsesSection);
NewUnitName:=ExtractFilenameOnly(NewFilename); NewUnitName:=ExtractFilenameOnly(NewFilename);
if Assigned(PackageEditors.OnGetUnitRegisterInfo) then begin //MainIDE.SaveSourceEditorChangesToCodeCache(nil); // Not needed ?
PackageEditors.OnGetUnitRegisterInfo(Self,NewFilename,NewUnitName,HasRegProc); CodeBuffer:=CodeToolBoss.LoadFile(NewFilename,true,false);
if HasRegProc then if CodeBuffer<>nil then begin
Assert(NewUnitName=CodeToolBoss.GetSourceName(CodeBuffer,false),
'TPackageEditorForm.DoAddNewFile: Unit name mismatch.');
if CodeToolBoss.HasInterfaceRegisterProc(CodeBuffer) then
Include(NewFlags,pffHasRegisterProc); Include(NewFlags,pffHasRegisterProc);
end; end;
end; end;

View File

@ -116,9 +116,6 @@ type
procedure AfterWritePackage(Sender: TObject; Restore: boolean); procedure AfterWritePackage(Sender: TObject; Restore: boolean);
procedure BeforeReadPackage(Sender: TObject); procedure BeforeReadPackage(Sender: TObject);
procedure PackageEditorFreeEditor(APackage: TLazPackage); procedure PackageEditorFreeEditor(APackage: TLazPackage);
procedure PackageEditorGetUnitRegisterInfo(Sender: TObject;
const AFilename: string; out TheUnitName: string;
out HasRegisterProc: boolean);
function PackageGraphCheckInterPkgFiles(IDEObject: TObject; function PackageGraphCheckInterPkgFiles(IDEObject: TObject;
PkgList: TFPList; out FilesChanged: boolean): boolean; PkgList: TFPList; out FilesChanged: boolean): boolean;
// package graph // package graph
@ -185,9 +182,6 @@ type
FirstDependency: TPkgDependency; FirstDependency: TPkgDependency;
const Directory: string; const Directory: string;
ShowAbort: boolean): TModalResult; ShowAbort: boolean): TModalResult;
function DoGetUnitRegisterInfo(const AFilename: string;
out TheUnitName: string; out HasRegisterProc: boolean;
IgnoreErrors: boolean): TModalResult;
procedure SaveAutoInstallDependencies; procedure SaveAutoInstallDependencies;
procedure LoadStaticCustomPackages; procedure LoadStaticCustomPackages;
function LoadInstalledPackage(const PackageName: string; function LoadInstalledPackage(const PackageName: string;
@ -946,12 +940,6 @@ begin
PackageGraph.ClosePackage(APackage); PackageGraph.ClosePackage(APackage);
end; end;
procedure TPkgManager.PackageEditorGetUnitRegisterInfo(Sender: TObject;
const AFilename: string; out TheUnitName: string; out HasRegisterProc: boolean);
begin
DoGetUnitRegisterInfo(AFilename,TheUnitName,HasRegisterProc,true);
end;
function TPkgManager.PackageGraphCheckInterPkgFiles(IDEObject: TObject; function TPkgManager.PackageGraphCheckInterPkgFiles(IDEObject: TObject;
PkgList: TFPList; out FilesChanged: boolean): boolean; PkgList: TFPList; out FilesChanged: boolean): boolean;
begin begin
@ -1137,7 +1125,7 @@ var
OldUnitName:=OldPkgName; OldUnitName:=OldPkgName;
NewUnitName:=APackage.Name; NewUnitName:=APackage.Name;
if (OldUnitName<>NewUnitName) then begin if (OldUnitName<>NewUnitName) then begin
MainIDEInterface.SaveSourceEditorChangesToCodeCache(nil); MainIDE.SaveSourceEditorChangesToCodeCache(nil);
if CodeToolBoss.RenameUsedUnit( if CodeToolBoss.RenameUsedUnit(
AProject.MainUnitInfo.Source,OldUnitName,NewUnitName,'') AProject.MainUnitInfo.Source,OldUnitName,NewUnitName,'')
then then
@ -1505,39 +1493,6 @@ begin
Result:=mrOk; Result:=mrOk;
end; end;
function TPkgManager.DoGetUnitRegisterInfo(const AFilename: string; out
TheUnitName: string; out HasRegisterProc: boolean; IgnoreErrors: boolean
): TModalResult;
function ErrorsHandled: boolean;
begin
if (CodeToolBoss.ErrorMessage='') or IgnoreErrors then exit(true);
MainIDE.DoJumpToCodeToolBossError;
Result:=false;
end;
var
ExpFilename: String;
CodeBuffer: TCodeBuffer;
begin
Result:=mrCancel;
ExpFilename:=TrimFilename(AFilename);
// create default values
TheUnitName:='';
HasRegisterProc:=false;
MainIDE.SaveSourceEditorChangesToCodeCache(nil);
CodeBuffer:=CodeToolBoss.LoadFile(ExpFilename,true,false);
if CodeBuffer<>nil then begin
TheUnitName:=CodeToolBoss.GetSourceName(CodeBuffer,false);
if not ErrorsHandled then exit;
HasRegisterProc:=CodeToolBoss.HasInterfaceRegisterProc(CodeBuffer);
if not ErrorsHandled then exit;
end;
if TheUnitName='' then
TheUnitName:=ExtractFileNameOnly(ExpFilename);
Result:=mrOk;
end;
procedure TPkgManager.SaveAutoInstallDependencies; procedure TPkgManager.SaveAutoInstallDependencies;
var var
Dependency: TPkgDependency; Dependency: TPkgDependency;
@ -1651,7 +1606,7 @@ begin
and (AProject.MainUnitInfo<>nil) then begin and (AProject.MainUnitInfo<>nil) then begin
//debugln('TPkgManager.AddUnitToProjectMainUsesSection B ',AnUnitName); //debugln('TPkgManager.AddUnitToProjectMainUsesSection B ',AnUnitName);
if (AnUnitName<>'') then begin if (AnUnitName<>'') then begin
MainIDEInterface.SaveSourceEditorChangesToCodeCache(nil); MainIDE.SaveSourceEditorChangesToCodeCache(nil);
if CodeToolBoss.AddUnitToMainUsesSectionIfNeeded( if CodeToolBoss.AddUnitToMainUsesSectionIfNeeded(
AProject.MainUnitInfo.Source,AnUnitName,AnUnitInFilename) AProject.MainUnitInfo.Source,AnUnitName,AnUnitInFilename)
then then
@ -2972,7 +2927,6 @@ begin
PackageEditors.OnShowFindInFiles:=@PackageEditorFindInFiles; PackageEditors.OnShowFindInFiles:=@PackageEditorFindInFiles;
PackageEditors.OnFreeEditor:=@PackageEditorFreeEditor; PackageEditors.OnFreeEditor:=@PackageEditorFreeEditor;
PackageEditors.OnGetIDEFileInfo:=@MainIDE.GetIDEFileState; PackageEditors.OnGetIDEFileInfo:=@MainIDE.GetIDEFileState;
PackageEditors.OnGetUnitRegisterInfo:=@PackageEditorGetUnitRegisterInfo;
PackageEditors.OnInstallPackage:=@PackageEditorInstallPackage; PackageEditors.OnInstallPackage:=@PackageEditorInstallPackage;
PackageEditors.OnOpenFile:=@MainIDE.DoOpenMacroFile; PackageEditors.OnOpenFile:=@MainIDE.DoOpenMacroFile;
PackageEditors.OnOpenPackage:=@PackageEditorOpenPackage; PackageEditors.OnOpenPackage:=@PackageEditorOpenPackage;
@ -6443,7 +6397,7 @@ begin
if (Project1.MainUnitID>=0) if (Project1.MainUnitID>=0)
and (pfMainUnitIsPascalSource in Project1.Flags) and (pfMainUnitIsPascalSource in Project1.Flags)
then begin then begin
MainIDEInterface.SaveSourceEditorChangesToCodeCache(nil); MainIDE.SaveSourceEditorChangesToCodeCache(nil);
ShortUnitName:=ADependency.PackageName; ShortUnitName:=ADependency.PackageName;
//debugln('TPkgManager.OnProjectInspectorRemoveDependency B ShortUnitName="',ShortUnitName,'"'); //debugln('TPkgManager.OnProjectInspectorRemoveDependency B ShortUnitName="',ShortUnitName,'"');
if (ShortUnitName<>'') then begin if (ShortUnitName<>'') then begin