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;
TGetIDEFileStateEvent = procedure(Sender: TObject; const Filename: string;
NeededFlags: TIDEFileStateFlags; out ResultFlags: TIDEFileStateFlags)
of object;
TOnGetUnitRegisterInfo = procedure(Sender: TObject; const Filename: string;
out TheUnitName: string; out HasRegisterProc: boolean) of object;
NeededFlags: TIDEFileStateFlags; out ResultFlags: TIDEFileStateFlags) of object;
implementation

View File

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

View File

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