mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-22 01:59:12 +02:00
Packager: Remove event PackageEditors.OnGetUnitRegisterInfo.
git-svn-id: trunk@64157 -
This commit is contained in:
parent
edc2cc5dbb
commit
3c05bc138b
@ -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
|
||||||
|
|
||||||
|
@ -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;
|
||||||
|
@ -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
|
||||||
|
Loading…
Reference in New Issue
Block a user