|
@@ -5,10 +5,10 @@ unit Fresnel.Forms;
|
|
interface
|
|
interface
|
|
|
|
|
|
uses
|
|
uses
|
|
- Classes, SysUtils, Math, CustApp, fpCSSResolver, fpCSSTree, contnrs,
|
|
|
|
|
|
+ Classes, SysUtils, Math, CustApp, fpCSSResolver, fpCSSTree, Contnrs,
|
|
Fresnel.StrConsts, Fresnel.Classes, Fresnel.Resources,
|
|
Fresnel.StrConsts, Fresnel.Classes, Fresnel.Resources,
|
|
Fresnel.DOM, Fresnel.Renderer, Fresnel.Layouter, Fresnel.WidgetSet,
|
|
Fresnel.DOM, Fresnel.Renderer, Fresnel.Layouter, Fresnel.WidgetSet,
|
|
- Fresnel.Events, fcl.events, fresnel.asynccalls;
|
|
|
|
|
|
+ Fresnel.Events, FCL.Events, Fresnel.AsyncCalls;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -196,9 +196,6 @@ type
|
|
Class Function FresnelEventID : TEventID; override;
|
|
Class Function FresnelEventID : TEventID; override;
|
|
end;
|
|
end;
|
|
|
|
|
|
-
|
|
|
|
- { TFresnelBaseApplication }
|
|
|
|
-
|
|
|
|
{ TFresnelFormManager }
|
|
{ TFresnelFormManager }
|
|
|
|
|
|
TFresnelFormManager = Class(TComponent)
|
|
TFresnelFormManager = Class(TComponent)
|
|
@@ -217,10 +214,12 @@ type
|
|
end;
|
|
end;
|
|
TFresnelFormManagerClass = Class of TFresnelFormManager;
|
|
TFresnelFormManagerClass = Class of TFresnelFormManager;
|
|
|
|
|
|
|
|
+ { TFresnelBaseApplication }
|
|
|
|
+
|
|
TFresnelBaseApplication = class(TCustomApplication)
|
|
TFresnelBaseApplication = class(TCustomApplication)
|
|
private
|
|
private
|
|
FAsyncCall: TAsyncCallQueues;
|
|
FAsyncCall: TAsyncCallQueues;
|
|
- FEventDispatcher : TFresnelEventDispatcher;
|
|
|
|
|
|
+ FEventDispatcher: TFresnelEventDispatcher;
|
|
procedure DoFresnelLog(aType: TEventType; const Msg: UTF8String);
|
|
procedure DoFresnelLog(aType: TEventType; const Msg: UTF8String);
|
|
function GetHookFresnelLog: Boolean;
|
|
function GetHookFresnelLog: Boolean;
|
|
procedure SetHookFresnelLog(AValue: Boolean);
|
|
procedure SetHookFresnelLog(AValue: Boolean);
|
|
@@ -234,13 +233,13 @@ type
|
|
public
|
|
public
|
|
constructor Create(AOwner: TComponent); override;
|
|
constructor Create(AOwner: TComponent); override;
|
|
destructor Destroy; override;
|
|
destructor Destroy; override;
|
|
- procedure ProcessMessages;
|
|
|
|
|
|
+ procedure ProcessMessages; virtual;
|
|
procedure QueueAsyncCall(const aMethod: TDataEvent; aData: Pointer);
|
|
procedure QueueAsyncCall(const aMethod: TDataEvent; aData: Pointer);
|
|
procedure RemoveAsyncCalls(const aObject: TObject);
|
|
procedure RemoveAsyncCalls(const aObject: TObject);
|
|
- Procedure CreateForm(aClass : TComponentClass; Out FormVariable);
|
|
|
|
- Procedure CreateFormNew(aClass : TComponentClass; Out FormVariable);
|
|
|
|
- function AddEventListener(aID : TEventID; aHandler : TFresnelEventHandler) : Integer;
|
|
|
|
- function AddEventListener(Const aName: TEventName; aHandler : TFresnelEventHandler): Integer;
|
|
|
|
|
|
+ Procedure CreateForm(aClass : TComponentClass; Out FormVariable); virtual;
|
|
|
|
+ Procedure CreateFormNew(aClass : TComponentClass; Out FormVariable); virtual;
|
|
|
|
+ function AddEventListener(aID : TEventID; const aHandler : TFresnelEventHandler) : Integer;
|
|
|
|
+ function AddEventListener(Const aName: TEventName; const aHandler : TFresnelEventHandler): Integer;
|
|
property EventDispatcher : TFresnelEventDispatcher Read FEventDispatcher;
|
|
property EventDispatcher : TFresnelEventDispatcher Read FEventDispatcher;
|
|
Property HookFresnelLog : Boolean Read GetHookFresnelLog Write SetHookFresnelLog;
|
|
Property HookFresnelLog : Boolean Read GetHookFresnelLog Write SetHookFresnelLog;
|
|
end;
|
|
end;
|
|
@@ -291,12 +290,12 @@ begin
|
|
if Designer<>nil then
|
|
if Designer<>nil then
|
|
begin
|
|
begin
|
|
Writeln('Designer renderer');
|
|
Writeln('Designer renderer');
|
|
- Result:=Designer.GetRenderer
|
|
|
|
|
|
+ Result:=Designer.GetRenderer;
|
|
end
|
|
end
|
|
else if WSFormAllocated then
|
|
else if WSFormAllocated then
|
|
begin
|
|
begin
|
|
Writeln('WSForm renderer');
|
|
Writeln('WSForm renderer');
|
|
- Result:=WSForm.Renderer
|
|
|
|
|
|
+ Result:=WSForm.Renderer;
|
|
end
|
|
end
|
|
else
|
|
else
|
|
begin
|
|
begin
|
|
@@ -440,13 +439,13 @@ end;
|
|
|
|
|
|
procedure TFresnelCustomForm.OnQueuedLayout(Data: Pointer);
|
|
procedure TFresnelCustomForm.OnQueuedLayout(Data: Pointer);
|
|
begin
|
|
begin
|
|
- //debugln(['TFresnelCustomForm.OnQueuedLayout ',DbgSName(Self),' ',LayoutQueued]);
|
|
|
|
|
|
+ //FLLog(etDebug,['TFresnelCustomForm.OnQueuedLayout ',Name,':',ClassName,' LayoutQueued=',BoolToStr(LayoutQueued,true)]);
|
|
if not LayoutQueued then exit;
|
|
if not LayoutQueued then exit;
|
|
try
|
|
try
|
|
ApplyCSS;
|
|
ApplyCSS;
|
|
//Layouter.WriteLayoutTree;
|
|
//Layouter.WriteLayoutTree;
|
|
Layouter.Apply(Self);
|
|
Layouter.Apply(Self);
|
|
- //debugln(['TFresnelCustomForm.OnQueuedLayout ',DbgSName(Self),' After Layouter.Apply, Invalidate...']);
|
|
|
|
|
|
+ //FLLog(etDebug,['TFresnelCustomForm.OnQueuedLayout ',Name,':',ClassName,' After Layouter.Apply, Invalidate...']);
|
|
Invalidate;
|
|
Invalidate;
|
|
finally
|
|
finally
|
|
Exclude(FFormStates,fsLayoutQueued);
|
|
Exclude(FFormStates,fsLayoutQueued);
|
|
@@ -796,7 +795,6 @@ begin
|
|
Result:=(TFresnelComponent._LogHook=@DoFresnelLog);
|
|
Result:=(TFresnelComponent._LogHook=@DoFresnelLog);
|
|
end;
|
|
end;
|
|
|
|
|
|
-
|
|
|
|
function TFresnelBaseApplication.CreateEventDispatcher(aDefaultSender: TObject): TFresnelEventDispatcher;
|
|
function TFresnelBaseApplication.CreateEventDispatcher(aDefaultSender: TObject): TFresnelEventDispatcher;
|
|
begin
|
|
begin
|
|
Result:=TFresnelEventDispatcher.Create(aDefaultSender);
|
|
Result:=TFresnelEventDispatcher.Create(aDefaultSender);
|
|
@@ -810,14 +808,12 @@ end;
|
|
class procedure TFresnelBaseApplication.RegisterApplicationEvents;
|
|
class procedure TFresnelBaseApplication.RegisterApplicationEvents;
|
|
|
|
|
|
Procedure R(aClass : TFresnelEventClass);
|
|
Procedure R(aClass : TFresnelEventClass);
|
|
-
|
|
|
|
begin
|
|
begin
|
|
TFresnelEventDispatcher.FresnelRegistry.RegisterEventWithID(aClass.FresnelEventID,aClass);
|
|
TFresnelEventDispatcher.FresnelRegistry.RegisterEventWithID(aClass.FresnelEventID,aClass);
|
|
end;
|
|
end;
|
|
|
|
|
|
begin
|
|
begin
|
|
R(TFresnelAfterProcessMessagesEvent);
|
|
R(TFresnelAfterProcessMessagesEvent);
|
|
-
|
|
|
|
end;
|
|
end;
|
|
|
|
|
|
procedure TFresnelBaseApplication.DoProcessMessages;
|
|
procedure TFresnelBaseApplication.DoProcessMessages;
|
|
@@ -825,7 +821,6 @@ begin
|
|
WidgetSet.AppProcessMessages;
|
|
WidgetSet.AppProcessMessages;
|
|
end;
|
|
end;
|
|
|
|
|
|
-
|
|
|
|
procedure TFresnelBaseApplication.ShowMainForm;
|
|
procedure TFresnelBaseApplication.ShowMainForm;
|
|
begin
|
|
begin
|
|
FLLog(etDebug,'ShowMainForm');
|
|
FLLog(etDebug,'ShowMainForm');
|
|
@@ -834,7 +829,6 @@ begin
|
|
FormManager.MainForm.Show;
|
|
FormManager.MainForm.Show;
|
|
end;
|
|
end;
|
|
|
|
|
|
-
|
|
|
|
constructor TFresnelBaseApplication.Create(AOwner: TComponent);
|
|
constructor TFresnelBaseApplication.Create(AOwner: TComponent);
|
|
begin
|
|
begin
|
|
inherited Create(AOwner);
|
|
inherited Create(AOwner);
|
|
@@ -856,13 +850,14 @@ end;
|
|
|
|
|
|
procedure TFresnelBaseApplication.ProcessMessages;
|
|
procedure TFresnelBaseApplication.ProcessMessages;
|
|
begin
|
|
begin
|
|
- // FLLog(etDebug,'ProcessMessages');
|
|
|
|
|
|
+ //FLLog(etDebug,'ProcessMessages');
|
|
DoProcessMessages;
|
|
DoProcessMessages;
|
|
DoHandleAsyncCalls;
|
|
DoHandleAsyncCalls;
|
|
FEventDispatcher.DispatchEvent(evtAfterProcessMessages);
|
|
FEventDispatcher.DispatchEvent(evtAfterProcessMessages);
|
|
end;
|
|
end;
|
|
|
|
|
|
-procedure TFresnelBaseApplication.QueueAsyncCall(const AMethod: TDataEvent; aData: Pointer);
|
|
|
|
|
|
+procedure TFresnelBaseApplication.QueueAsyncCall(const aMethod: TDataEvent;
|
|
|
|
+ aData: Pointer);
|
|
begin
|
|
begin
|
|
FAsyncCall.QueueAsyncCall(aMethod,aData);
|
|
FAsyncCall.QueueAsyncCall(aMethod,aData);
|
|
end;
|
|
end;
|
|
@@ -885,12 +880,14 @@ begin
|
|
TComponent(FormVariable):=aClass.Create(Self)
|
|
TComponent(FormVariable):=aClass.Create(Self)
|
|
end;
|
|
end;
|
|
|
|
|
|
-Function TFresnelBaseApplication.AddEventListener(aID: TEventID; aHandler: TFresnelEventHandler) : Integer;
|
|
|
|
|
|
+function TFresnelBaseApplication.AddEventListener(aID: TEventID;
|
|
|
|
+ const aHandler: TFresnelEventHandler): Integer;
|
|
begin
|
|
begin
|
|
Result:=FEventDispatcher.RegisterHandler(aHandler,aID).ID;
|
|
Result:=FEventDispatcher.RegisterHandler(aHandler,aID).ID;
|
|
end;
|
|
end;
|
|
|
|
|
|
-function TFresnelBaseApplication.AddEventListener(const aName: TEventName; aHandler: TFresnelEventHandler): Integer;
|
|
|
|
|
|
+function TFresnelBaseApplication.AddEventListener(const aName: TEventName;
|
|
|
|
+ const aHandler: TFresnelEventHandler): Integer;
|
|
begin
|
|
begin
|
|
Result:=FEventDispatcher.RegisterHandler(aHandler,aName).ID;
|
|
Result:=FEventDispatcher.RegisterHandler(aHandler,aName).ID;
|
|
end;
|
|
end;
|