mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-09-08 21:19:17 +02:00
IDEIntf: TAbstractIDEOptions added Restore parameter to distinguish between Ok and Cancel
git-svn-id: trunk@27681 -
This commit is contained in:
parent
e17fee021d
commit
5223a83d19
@ -155,7 +155,7 @@ type
|
||||
public
|
||||
class function GetGroupCaption:string; override;
|
||||
class function GetInstance: TAbstractIDEOptions; override;
|
||||
procedure DoAfterWrite; override;
|
||||
procedure DoAfterWrite(Restore: boolean); override;
|
||||
public
|
||||
constructor Create;
|
||||
destructor Destroy; override;
|
||||
@ -414,9 +414,10 @@ begin
|
||||
Result := CodeExplorerOptions;
|
||||
end;
|
||||
|
||||
procedure TCodeExplorerOptions.DoAfterWrite;
|
||||
procedure TCodeExplorerOptions.DoAfterWrite(Restore: boolean);
|
||||
begin
|
||||
Save;
|
||||
if not Restore then
|
||||
Save;
|
||||
end;
|
||||
|
||||
procedure TCodeExplorerOptions.Clear;
|
||||
|
@ -104,7 +104,7 @@ type
|
||||
public
|
||||
class function GetGroupCaption:string; override;
|
||||
class function GetInstance: TAbstractIDEOptions; override;
|
||||
procedure DoAfterWrite; override;
|
||||
procedure DoAfterWrite(Restore: boolean); override;
|
||||
public
|
||||
constructor Create;
|
||||
destructor Destroy; override;
|
||||
@ -317,10 +317,11 @@ begin
|
||||
Result := CodeToolsOpts;
|
||||
end;
|
||||
|
||||
procedure TCodeToolsOptions.DoAfterWrite;
|
||||
procedure TCodeToolsOptions.DoAfterWrite(Restore: boolean);
|
||||
begin
|
||||
inherited DoAfterWrite;
|
||||
Save;
|
||||
inherited DoAfterWrite(Restore);
|
||||
if not Restore then
|
||||
Save;
|
||||
end;
|
||||
|
||||
procedure TCodeToolsOptions.Load;
|
||||
|
@ -91,7 +91,8 @@
|
||||
- history
|
||||
- refactor compiler options (default options, load, save to file)
|
||||
- disabled project compiler options, used only for storage
|
||||
- replaced OwnerProject with LazProject
|
||||
- replaced project compiler options OwnerProject+Project with LazProject
|
||||
- addded changestamp, assign, equals to compiler options
|
||||
- added buildmodes to project
|
||||
- moved compileroptions and macrovalues to active buildmode
|
||||
|
||||
|
@ -45,7 +45,7 @@ uses
|
||||
type
|
||||
|
||||
{ TCompilerDiffTool
|
||||
A tool to create the difference between two option sets }
|
||||
A tool to collect the difference between two option sets }
|
||||
|
||||
TCompilerDiffTool = class
|
||||
private
|
||||
|
@ -1009,7 +1009,7 @@ type
|
||||
public
|
||||
class function GetGroupCaption:string; override;
|
||||
class function GetInstance: TAbstractIDEOptions; override;
|
||||
procedure DoAfterWrite; override;
|
||||
procedure DoAfterWrite(Restore: boolean); override;
|
||||
public
|
||||
constructor Create;
|
||||
constructor CreateDefaultOnly;
|
||||
@ -3709,9 +3709,10 @@ begin
|
||||
Result := EditorOpts;
|
||||
end;
|
||||
|
||||
procedure TEditorOptions.DoAfterWrite;
|
||||
procedure TEditorOptions.DoAfterWrite(Restore: boolean);
|
||||
begin
|
||||
Save;
|
||||
if not Restore then
|
||||
Save;
|
||||
end;
|
||||
|
||||
function TEditorOptions.GetSynEditOptionName(SynOption: TSynEditorOption): string;
|
||||
|
@ -286,7 +286,7 @@ type
|
||||
public
|
||||
class function GetGroupCaption:string; override;
|
||||
class function GetInstance: TAbstractIDEOptions; override;
|
||||
procedure DoAfterWrite; override;
|
||||
procedure DoAfterWrite(Restore: boolean); override;
|
||||
public
|
||||
constructor Create;
|
||||
destructor Destroy; override;
|
||||
@ -797,10 +797,11 @@ begin
|
||||
Result := EnvironmentOptions;
|
||||
end;
|
||||
|
||||
procedure TEnvironmentOptions.DoAfterWrite;
|
||||
procedure TEnvironmentOptions.DoAfterWrite(Restore: boolean);
|
||||
begin
|
||||
Save(False);
|
||||
inherited DoAfterWrite;
|
||||
if not Restore then
|
||||
Save(False);
|
||||
inherited DoAfterWrite(Restore);
|
||||
end;
|
||||
|
||||
procedure TEnvironmentOptions.SetLazarusDefaultFilename;
|
||||
|
@ -20,7 +20,7 @@
|
||||
|
||||
Abstract:
|
||||
The frame for 'build modes' on the compiler options.
|
||||
Allows to edit build modes and build macro values.
|
||||
Allows to add/delete/edit build modes and build macro values.
|
||||
It does not allow to define new build macros, only values.
|
||||
|
||||
ToDo:
|
||||
|
@ -54,7 +54,7 @@ type
|
||||
public
|
||||
class function GetGroupCaption:string; override;
|
||||
class function GetInstance: TAbstractIDEOptions; override;
|
||||
procedure DoAfterWrite; override;
|
||||
procedure DoAfterWrite(Restore: boolean); override;
|
||||
public
|
||||
constructor Create;
|
||||
procedure Clear;
|
||||
@ -110,9 +110,10 @@ begin
|
||||
Result := HelpOpts;
|
||||
end;
|
||||
|
||||
procedure THelpOptions.DoAfterWrite;
|
||||
procedure THelpOptions.DoAfterWrite(Restore: boolean);
|
||||
begin
|
||||
Save;
|
||||
if not Restore then
|
||||
Save;
|
||||
end;
|
||||
|
||||
procedure THelpOptions.Clear;
|
||||
|
@ -85,7 +85,7 @@ type
|
||||
function FindEditorClass(GroupIndex, AIndex: integer): TAbstractIDEOptionsEditorClass; override;
|
||||
procedure TraverseSettings(AOptions: TAbstractIDEOptions; anAction: TIDEOptsDlgAction);
|
||||
procedure ReadAll;
|
||||
procedure WriteAll;
|
||||
procedure WriteAll(Restore: boolean);
|
||||
|
||||
property OptionsFilter: TAbstractIDEOptionsClass read FOptionsFilter write FOptionsFilter;
|
||||
property OnLoadIDEOptions: TOnLoadIDEOptions read FOnLoadOptions write FOnLoadOptions;
|
||||
@ -277,7 +277,7 @@ begin
|
||||
InstanceList.Free;
|
||||
end;
|
||||
|
||||
procedure TIDEOptionsDialog.WriteAll;
|
||||
procedure TIDEOptionsDialog.WriteAll(Restore: boolean);
|
||||
var
|
||||
i: integer;
|
||||
Rec: PIDEOptionsGroupRec;
|
||||
@ -295,9 +295,12 @@ begin
|
||||
Instance := Rec^.GroupClass.GetInstance;
|
||||
if Instance <> nil then
|
||||
begin
|
||||
Instance.DoBeforeWrite;
|
||||
TraverseSettings(Instance,iodaWrite);
|
||||
Instance.DoAfterWrite;
|
||||
Instance.DoBeforeWrite(Restore);
|
||||
if Restore then
|
||||
TraverseSettings(Instance,iodaWrite)
|
||||
else
|
||||
TraverseSettings(Instance,iodaRestore);
|
||||
Instance.DoAfterWrite(Restore);
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
50
ide/main.pp
50
ide/main.pp
@ -366,16 +366,16 @@ type
|
||||
AOptionsFilter: TAbstractIDEOptionsClass = nil); override;
|
||||
|
||||
procedure DoEnvironmentOptionsBeforeRead(Sender: TObject);
|
||||
procedure DoEnvironmentOptionsBeforeWrite(Sender: TObject);
|
||||
procedure DoEnvironmentOptionsAfterWrite(Sender: TObject);
|
||||
procedure DoEnvironmentOptionsBeforeWrite(Sender: TObject; Restore: boolean);
|
||||
procedure DoEnvironmentOptionsAfterWrite(Sender: TObject; Restore: boolean);
|
||||
procedure DoEditorOptionsBeforeRead(Sender: TObject);
|
||||
procedure DoEditorOptionsAfterWrite(Sender: TObject);
|
||||
procedure DoCodetoolsOptionsAfterWrite(Sender: TObject);
|
||||
procedure DoCodeExplorerOptionsAfterWrite(Sender: TObject);
|
||||
procedure DoEditorOptionsAfterWrite(Sender: TObject; Restore: boolean);
|
||||
procedure DoCodetoolsOptionsAfterWrite(Sender: TObject; Restore: boolean);
|
||||
procedure DoCodeExplorerOptionsAfterWrite(Sender: TObject; Restore: boolean);
|
||||
procedure DoProjectOptionsBeforeRead(Sender: TObject);
|
||||
procedure DoProjectOptionsAfterWrite(Sender: TObject);
|
||||
procedure DoCompilerOptionsBeforeWrite(Sender: TObject);
|
||||
procedure DoCompilerOptionsAfterWrite(Sender: TObject);
|
||||
procedure DoProjectOptionsAfterWrite(Sender: TObject; Restore: boolean);
|
||||
procedure DoCompilerOptionsBeforeWrite(Sender: TObject; Restore: boolean);
|
||||
procedure DoCompilerOptionsAfterWrite(Sender: TObject; Restore: boolean);
|
||||
|
||||
// SourceNotebook events
|
||||
procedure OnSrcNoteBookActivated(Sender: TObject);
|
||||
@ -4294,7 +4294,7 @@ begin
|
||||
ReadAll;
|
||||
end;
|
||||
if IDEOptionsDialog.ShowModal = mrOk then begin
|
||||
IDEOptionsDialog.WriteAll;
|
||||
IDEOptionsDialog.WriteAll(false);
|
||||
MainBuildBoss.SetBuildTarget(Project1.CompilerOptions.TargetOS,
|
||||
Project1.CompilerOptions.TargetCPU,Project1.CompilerOptions.LCLWidgetType);
|
||||
UpdateHighlighters(True);
|
||||
@ -4303,6 +4303,8 @@ begin
|
||||
Application.TaskBarBehavior := tbSingleButton
|
||||
else
|
||||
Application.TaskBarBehavior := tbDefault;
|
||||
end else begin
|
||||
IDEOptionsDialog.WriteAll(true);
|
||||
end;
|
||||
finally
|
||||
IDEOptionsDialog.Free;
|
||||
@ -4315,13 +4317,16 @@ begin
|
||||
SaveDesktopSettings(EnvironmentOptions);
|
||||
end;
|
||||
|
||||
procedure TMainIDE.DoEnvironmentOptionsBeforeWrite(Sender: TObject);
|
||||
procedure TMainIDE.DoEnvironmentOptionsBeforeWrite(Sender: TObject;
|
||||
Restore: boolean);
|
||||
begin
|
||||
if Restore then exit;
|
||||
OldCompilerFilename:=EnvironmentOptions.CompilerFilename;
|
||||
OldLanguage:=EnvironmentOptions.LanguageID;
|
||||
end;
|
||||
|
||||
procedure TMainIDE.DoEnvironmentOptionsAfterWrite(Sender: TObject);
|
||||
procedure TMainIDE.DoEnvironmentOptionsAfterWrite(Sender: TObject;
|
||||
Restore: boolean);
|
||||
var
|
||||
MacroValueChanged,
|
||||
FPCSrcDirChanged, FPCCompilerChanged,
|
||||
@ -4373,6 +4378,7 @@ var
|
||||
end;
|
||||
|
||||
begin
|
||||
if Restore then exit;
|
||||
// invalidate cached substituted macros
|
||||
IncreaseCompilerParseStamp;
|
||||
CompileProgress.SetEnabled(EnvironmentOptions.ShowCompileDialog);
|
||||
@ -4416,21 +4422,25 @@ begin
|
||||
Project1.UpdateAllCustomHighlighter;
|
||||
end;
|
||||
|
||||
procedure TMainIDE.DoEditorOptionsAfterWrite(Sender: TObject);
|
||||
procedure TMainIDE.DoEditorOptionsAfterWrite(Sender: TObject; Restore: boolean);
|
||||
begin
|
||||
if Restore then exit;
|
||||
Project1.UpdateAllSyntaxHighlighter;
|
||||
UpdateHighlighters(True);
|
||||
SourceEditorManager.ReloadEditorOptions;
|
||||
ReloadMenuShortCuts;
|
||||
end;
|
||||
|
||||
procedure TMainIDE.DoCodetoolsOptionsAfterWrite(Sender: TObject);
|
||||
procedure TMainIDE.DoCodetoolsOptionsAfterWrite(Sender: TObject; Restore: boolean);
|
||||
begin
|
||||
if Restore then exit;
|
||||
CodeToolsOpts.AssignTo(CodeToolBoss);
|
||||
end;
|
||||
|
||||
procedure TMainIDE.DoCodeExplorerOptionsAfterWrite(Sender: TObject);
|
||||
procedure TMainIDE.DoCodeExplorerOptionsAfterWrite(Sender: TObject;
|
||||
Restore: boolean);
|
||||
begin
|
||||
if Restore then exit;
|
||||
if CodeExplorerView<>nil then
|
||||
CodeExplorerView.Refresh(true);
|
||||
end;
|
||||
@ -4448,7 +4458,8 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TMainIDE.DoProjectOptionsAfterWrite(Sender: TObject);
|
||||
procedure TMainIDE.DoProjectOptionsAfterWrite(Sender: TObject; Restore: boolean
|
||||
);
|
||||
var
|
||||
Project: TProject absolute Sender;
|
||||
|
||||
@ -4534,6 +4545,7 @@ var
|
||||
end;
|
||||
|
||||
begin
|
||||
if Restore then exit;
|
||||
SetTitle;
|
||||
SetAutoCreateForms;
|
||||
// extend include path
|
||||
@ -4547,17 +4559,21 @@ begin
|
||||
Project.DefineTemplates.AllChanged;
|
||||
end;
|
||||
|
||||
procedure TMainIDE.DoCompilerOptionsBeforeWrite(Sender: TObject);
|
||||
procedure TMainIDE.DoCompilerOptionsBeforeWrite(Sender: TObject;
|
||||
Restore: boolean);
|
||||
begin
|
||||
if Restore then exit;
|
||||
OldCompOpts := TBaseCompilerOptionsClass(Sender.ClassType).Create(nil);
|
||||
OldCompOpts.Assign(TBaseCompilerOptions(Sender));
|
||||
end;
|
||||
|
||||
procedure TMainIDE.DoCompilerOptionsAfterWrite(Sender: TObject);
|
||||
procedure TMainIDE.DoCompilerOptionsAfterWrite(Sender: TObject; Restore: boolean
|
||||
);
|
||||
var
|
||||
ProjCompOpts: TProjectCompilerOptions;
|
||||
aFilename: String;
|
||||
begin
|
||||
if Restore then exit;
|
||||
if not OldCompOpts.IsEqual(TBaseCompilerOptions(Sender)) then
|
||||
begin
|
||||
TBaseCompilerOptions(Sender).Modified := True;
|
||||
|
@ -22,6 +22,13 @@
|
||||
|
||||
Abstract:
|
||||
Defines the standard message Quick Fix menu items.
|
||||
|
||||
ToDo:
|
||||
- There is no method in an ancestor class to be overriden:
|
||||
1. option: if the ancestor has a function with the same name: update the parameter list
|
||||
2. option: remove the method
|
||||
3. option: add a virtual method to the ancestor
|
||||
|
||||
}
|
||||
unit MsgQuickFixes;
|
||||
|
||||
|
@ -25,7 +25,7 @@ unit IDEOptionsIntf;
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, Controls, Buttons, Forms;
|
||||
Classes, SysUtils, LCLProc, Controls, Buttons, Forms;
|
||||
|
||||
const
|
||||
NoParent = -1;
|
||||
@ -36,27 +36,50 @@ type
|
||||
|
||||
// types
|
||||
|
||||
TIDEOptionsHandler = (
|
||||
iohBeforeRead,
|
||||
iohAfterRead,
|
||||
iohBeforeWrite,
|
||||
iohAfterWrite
|
||||
);
|
||||
TIDEOptionsHandlers = set of TIDEOptionsHandler;
|
||||
|
||||
TIDEOptionsWriteEvent = procedure(Sender: TObject; Restore: boolean) of object;
|
||||
|
||||
{ TAbstractIDEOptions }
|
||||
|
||||
TAbstractIDEOptions = class(TPersistent)
|
||||
private
|
||||
fHandlers: array[TIDEOptionsHandler] of TMethodList;
|
||||
FOnAfterRead: TNotifyEvent;
|
||||
FOnAfterWrite: TNotifyEvent;
|
||||
FOnAfterWrite: TIDEOptionsWriteEvent;
|
||||
FOnBeforeRead: TNotifyEvent;
|
||||
FOnBeforeWrite: TNotifyEvent;
|
||||
FOnBeforeWrite: TIDEOptionsWriteEvent;
|
||||
public
|
||||
constructor Create;
|
||||
destructor Destroy; override;
|
||||
|
||||
class function GetGroupCaption: string; virtual; abstract;
|
||||
class function GetInstance: TAbstractIDEOptions; virtual; abstract;
|
||||
|
||||
procedure DoBeforeRead; virtual;
|
||||
procedure DoAfterRead; virtual;
|
||||
procedure DoBeforeWrite; virtual;
|
||||
procedure DoAfterWrite; virtual;
|
||||
procedure DoBeforeWrite(Restore: boolean); virtual;
|
||||
procedure DoAfterWrite(Restore: boolean); virtual;
|
||||
|
||||
procedure AddHandlerBeforeRead(const Handler: TNotifyEvent; const AsFirst: boolean = true); // AsFirst means: first to call
|
||||
procedure RemoveHandlerBeforeRead(const Handler: TNotifyEvent);
|
||||
procedure AddHandlerAfterRead(const Handler: TNotifyEvent; const AsFirst: boolean = true); // AsFirst means: first to call
|
||||
procedure RemoveHandlerAfterRead(const Handler: TNotifyEvent);
|
||||
procedure AddHandlerBeforeWrite(const Handler: TIDEOptionsWriteEvent; const AsFirst: boolean = true); // AsFirst means: first to call
|
||||
procedure RemoveHandlerBeforeWrite(const Handler: TIDEOptionsWriteEvent);
|
||||
procedure AddHandlerAfterWrite(const Handler: TIDEOptionsWriteEvent; const AsFirst: boolean = true); // AsFirst means: first to call
|
||||
procedure RemoveHandlerAfterWrite(const Handler: TIDEOptionsWriteEvent);
|
||||
|
||||
property OnBeforeRead: TNotifyEvent read FOnBeforeRead write FOnBeforeRead;
|
||||
property OnAfterRead: TNotifyEvent read FOnAfterRead write FOnAfterRead;
|
||||
property OnBeforeWrite: TNotifyEvent read FOnBeforeWrite write FOnBeforeWrite;
|
||||
property OnAfterWrite: TNotifyEvent read FOnAfterWrite write FOnAfterWrite;
|
||||
property OnBeforeWrite: TIDEOptionsWriteEvent read FOnBeforeWrite write FOnBeforeWrite;
|
||||
property OnAfterWrite: TIDEOptionsWriteEvent read FOnAfterWrite write FOnAfterWrite;
|
||||
end;
|
||||
TAbstractIDEOptionsClass = class of TAbstractIDEOptions;
|
||||
|
||||
@ -139,7 +162,7 @@ type
|
||||
procedure Notify(Ptr: Pointer; Action: TListNotification); override;
|
||||
public
|
||||
procedure Resort;
|
||||
procedure DoAfterWrite;
|
||||
procedure DoAfterWrite(Restore: boolean);
|
||||
function GetByIndex(AIndex: Integer): PIDEOptionsGroupRec;
|
||||
function GetByGroupClass(AGroupClass: TAbstractIDEOptionsClass): PIDEOptionsGroupRec;
|
||||
function Add(AGroupIndex: Integer; AGroupClass: TAbstractIDEOptionsClass): PIDEOptionsGroupRec; reintroduce;
|
||||
@ -470,7 +493,7 @@ begin
|
||||
Items[i]^.Items.Resort;
|
||||
end;
|
||||
|
||||
procedure TIDEOptionsGroupList.DoAfterWrite;
|
||||
procedure TIDEOptionsGroupList.DoAfterWrite(Restore: boolean);
|
||||
var
|
||||
i: integer;
|
||||
Rec: PIDEOptionsGroupRec;
|
||||
@ -485,7 +508,7 @@ begin
|
||||
begin
|
||||
Instance := Rec^.GroupClass.GetInstance;
|
||||
if Instance <> nil then
|
||||
Instance.DoAfterWrite;
|
||||
Instance.DoAfterWrite(Restore);
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
@ -510,28 +533,105 @@ end;
|
||||
|
||||
{ TAbstractIDEOptions }
|
||||
|
||||
constructor TAbstractIDEOptions.Create;
|
||||
var
|
||||
h: TIDEOptionsHandler;
|
||||
begin
|
||||
for h:=low(TIDEOptionsHandler) to high(TIDEOptionsHandler) do
|
||||
fHandlers[h]:=TMethodList.Create;
|
||||
end;
|
||||
|
||||
destructor TAbstractIDEOptions.Destroy;
|
||||
var
|
||||
h: TIDEOptionsHandler;
|
||||
begin
|
||||
for h:=low(TIDEOptionsHandler) to high(TIDEOptionsHandler) do
|
||||
FreeAndNil(fHandlers[h]);
|
||||
inherited Destroy;
|
||||
end;
|
||||
|
||||
procedure TAbstractIDEOptions.DoBeforeRead;
|
||||
begin
|
||||
if Assigned(FOnBeforeRead) then
|
||||
OnBeforeRead(Self);
|
||||
FOnBeforeRead(Self);
|
||||
fHandlers[iohBeforeRead].CallNotifyEvents(Self);
|
||||
end;
|
||||
|
||||
procedure TAbstractIDEOptions.DoAfterRead;
|
||||
begin
|
||||
if Assigned(FOnAfterRead) then
|
||||
OnAfterRead(Self);
|
||||
FOnAfterRead(Self);
|
||||
fHandlers[iohAfterRead].CallNotifyEvents(Self);
|
||||
end;
|
||||
|
||||
procedure TAbstractIDEOptions.DoBeforeWrite;
|
||||
procedure TAbstractIDEOptions.DoBeforeWrite(Restore: boolean);
|
||||
var
|
||||
i: LongInt;
|
||||
begin
|
||||
if Assigned(FOnBeforeWrite) then
|
||||
OnBeforeWrite(Self);
|
||||
FOnBeforeWrite(Self,Restore);
|
||||
i:=fHandlers[iohBeforeWrite].Count;
|
||||
while fHandlers[iohBeforeWrite].NextDownIndex(i) do
|
||||
TIDEOptionsWriteEvent(fHandlers[iohBeforeWrite][i])(Self,Restore);
|
||||
end;
|
||||
|
||||
procedure TAbstractIDEOptions.DoAfterWrite;
|
||||
procedure TAbstractIDEOptions.DoAfterWrite(Restore: boolean);
|
||||
var
|
||||
i: LongInt;
|
||||
begin
|
||||
if Assigned(FOnAfterWrite) then
|
||||
OnAfterWrite(Self);
|
||||
FOnAfterWrite(Self,Restore);
|
||||
i:=fHandlers[iohBeforeWrite].Count;
|
||||
while fHandlers[iohBeforeWrite].NextDownIndex(i) do
|
||||
TIDEOptionsWriteEvent(fHandlers[iohBeforeWrite][i])(Self,Restore);
|
||||
end;
|
||||
|
||||
procedure TAbstractIDEOptions.AddHandlerBeforeRead(const Handler: TNotifyEvent;
|
||||
const AsFirst: boolean);
|
||||
begin
|
||||
fHandlers[iohBeforeRead].Add(TMethod(Handler),AsFirst);
|
||||
end;
|
||||
|
||||
procedure TAbstractIDEOptions.RemoveHandlerBeforeRead(
|
||||
const Handler: TNotifyEvent);
|
||||
begin
|
||||
fHandlers[iohBeforeRead].Remove(TMethod(Handler));
|
||||
end;
|
||||
|
||||
procedure TAbstractIDEOptions.AddHandlerAfterRead(const Handler: TNotifyEvent;
|
||||
const AsFirst: boolean);
|
||||
begin
|
||||
fHandlers[iohAfterRead].Add(TMethod(Handler),AsFirst);
|
||||
end;
|
||||
|
||||
procedure TAbstractIDEOptions.RemoveHandlerAfterRead(const Handler: TNotifyEvent
|
||||
);
|
||||
begin
|
||||
fHandlers[iohAfterRead].Remove(TMethod(Handler));
|
||||
end;
|
||||
|
||||
procedure TAbstractIDEOptions.AddHandlerBeforeWrite(
|
||||
const Handler: TIDEOptionsWriteEvent; const AsFirst: boolean);
|
||||
begin
|
||||
fHandlers[iohBeforeWrite].Add(TMethod(Handler),AsFirst);
|
||||
end;
|
||||
|
||||
procedure TAbstractIDEOptions.RemoveHandlerBeforeWrite(
|
||||
const Handler: TIDEOptionsWriteEvent);
|
||||
begin
|
||||
fHandlers[iohBeforeWrite].Remove(TMethod(Handler));
|
||||
end;
|
||||
|
||||
procedure TAbstractIDEOptions.AddHandlerAfterWrite(
|
||||
const Handler: TIDEOptionsWriteEvent; const AsFirst: boolean);
|
||||
begin
|
||||
fHandlers[iohAfterWrite].Add(TMethod(Handler),AsFirst);
|
||||
end;
|
||||
|
||||
procedure TAbstractIDEOptions.RemoveHandlerAfterWrite(
|
||||
const Handler: TIDEOptionsWriteEvent);
|
||||
begin
|
||||
fHandlers[iohAfterWrite].Remove(TMethod(Handler));
|
||||
end;
|
||||
|
||||
initialization
|
||||
|
Loading…
Reference in New Issue
Block a user