mirror of
https://gitlab.com/freepascal.org/fpc/pas2js.git
synced 2025-09-11 18:59:06 +02:00
* notification interface
This commit is contained in:
parent
7367b27a66
commit
e7a7f6946e
@ -1,6 +1,7 @@
|
|||||||
unit htmlfragment;
|
unit htmlfragment;
|
||||||
|
|
||||||
{$mode ObjFPC}
|
{$mode ObjFPC}
|
||||||
|
{$INTERFACES CORBA}
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
|
||||||
@ -11,6 +12,15 @@ Type
|
|||||||
TCustomHTMLFragment = class;
|
TCustomHTMLFragment = class;
|
||||||
|
|
||||||
{ TFragmentHandler }
|
{ TFragmentHandler }
|
||||||
|
IRendered = Interface
|
||||||
|
Procedure HTMLAvailable;
|
||||||
|
end;
|
||||||
|
|
||||||
|
IFragmentClient = Interface ['{984EDD58-4F93-40BA-A757-06AC293D11F9}']
|
||||||
|
Procedure HTMLLoaded;
|
||||||
|
Procedure HTMLRendered;
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
TFragmentHandler = Class(TObject)
|
TFragmentHandler = Class(TObject)
|
||||||
Private
|
Private
|
||||||
@ -66,6 +76,7 @@ Type
|
|||||||
procedure SetUseProjectHTML(AValue: Boolean);
|
procedure SetUseProjectHTML(AValue: Boolean);
|
||||||
Protected
|
Protected
|
||||||
procedure CheckRendered(const aOperation: string);
|
procedure CheckRendered(const aOperation: string);
|
||||||
|
procedure DoOnHTMLLoaded; virtual;
|
||||||
procedure DoOnRender; virtual;
|
procedure DoOnRender; virtual;
|
||||||
procedure DoOnUnRender; virtual;
|
procedure DoOnUnRender; virtual;
|
||||||
procedure DoRender; virtual;
|
procedure DoRender; virtual;
|
||||||
@ -270,9 +281,16 @@ end;
|
|||||||
|
|
||||||
procedure TCustomHTMLFragment.DoOnRender;
|
procedure TCustomHTMLFragment.DoOnRender;
|
||||||
|
|
||||||
|
Var
|
||||||
|
I : Integer;
|
||||||
|
aClient : IFragmentClient;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
if Assigned(FOnRendered) then
|
if Assigned(FOnRendered) then
|
||||||
FOnRendered(Self);
|
FOnRendered(Self);
|
||||||
|
For I:=0 to ComponentCount-1 do
|
||||||
|
if Supports(Components[i],IFRagmentClient,aClient) then
|
||||||
|
aClient.HTMLRendered;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TCustomHTMLFragment.DoOnUnRender;
|
procedure TCustomHTMLFragment.DoOnUnRender;
|
||||||
@ -333,14 +351,28 @@ begin
|
|||||||
DoOnUnRender;
|
DoOnUnRender;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TCustomHTMLFragment.DoOnHTMLLoaded;
|
||||||
|
|
||||||
|
Var
|
||||||
|
I : Integer;
|
||||||
|
aClient : IFragmentClient;
|
||||||
|
|
||||||
|
begin
|
||||||
|
if Assigned(FOnHTMLLoaded) then
|
||||||
|
FOnHTMLLoaded(Self);
|
||||||
|
For I:=0 to ComponentCount-1 do
|
||||||
|
if Supports(Components[i],IFRagmentClient,aClient) then
|
||||||
|
aClient.HTMLLoaded;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TCustomHTMLFragment.Show;
|
procedure TCustomHTMLFragment.Show;
|
||||||
|
|
||||||
Procedure DoStartRender(Sender : TObject; const aName : string);
|
Procedure DoStartRender(Sender : TObject; const aName : string);
|
||||||
|
|
||||||
begin
|
begin
|
||||||
FTemplate:=GlobalTemplates[aName];
|
if not UseProjectHTMLFile then
|
||||||
if Assigned(FOnHTMLLoaded) then
|
FTemplate:=GlobalTemplates[aName];
|
||||||
FOnHTMLLoaded(Self);
|
DoOnHTMLLoaded;
|
||||||
Render;
|
Render;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -349,11 +381,7 @@ Var
|
|||||||
|
|
||||||
begin
|
begin
|
||||||
if UseProjectHTMLFile then
|
if UseProjectHTMLFile then
|
||||||
begin
|
DoStartRender(GlobalTemplates,N)
|
||||||
if Assigned(FOnHTMLLoaded) then
|
|
||||||
FOnHTMLLoaded(Self);
|
|
||||||
Render;
|
|
||||||
end
|
|
||||||
else
|
else
|
||||||
begin
|
begin
|
||||||
N:=TemplateName;
|
N:=TemplateName;
|
||||||
|
Loading…
Reference in New Issue
Block a user