mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-04-07 07:38:14 +02:00
lcl: start implementation of TApplication.HelpCommand method, remove InvokeHelp private method
git-svn-id: trunk@20822 -
This commit is contained in:
parent
96ecfcf61f
commit
9cd1098625
@ -378,7 +378,7 @@ type
|
||||
TCloseEvent = procedure(Sender: TObject; var CloseAction: TCloseAction) of object;
|
||||
TCloseQueryEvent = procedure(Sender : TObject; var CanClose : boolean) of object;
|
||||
TDropFilesEvent = procedure (Sender: TObject; const FileNames: Array of String) of object;
|
||||
THelpEvent = function(Command: Word; Data: Longint; var CallHelp: Boolean): Boolean of object;
|
||||
THelpEvent = function(Command: Word; Data: PtrInt; var CallHelp: Boolean): Boolean of object;
|
||||
TShortCutEvent = procedure (var Msg: TLMKey; var Handled: Boolean) of object;
|
||||
|
||||
TCustomForm = class(TScrollingWinControl)
|
||||
@ -1152,7 +1152,6 @@ type
|
||||
function GetTitle: string;
|
||||
procedure FreeIconHandles;
|
||||
procedure IconChanged(Sender: TObject);
|
||||
function InvokeHelp(Command: Word; Data: Longint): Boolean;
|
||||
function GetControlAtMouse: TControl;
|
||||
procedure SetBidiMode ( const AValue : TBiDiMode ) ;
|
||||
procedure SetFlags(const AValue: TApplicationFlags);
|
||||
@ -1185,6 +1184,7 @@ type
|
||||
procedure NotifyDeactivateHandler;
|
||||
procedure NotifyCustomForms(Msg: Word);
|
||||
function IsHintMsg(var Msg: TMsg): Boolean;
|
||||
function DoOnHelp(Command: Word; Data: PtrInt; var CallHelp: Boolean): Boolean; virtual;
|
||||
procedure DoOnMouseMove; virtual;
|
||||
procedure ShowHintWindow(const Info: THintInfoAtMouse);
|
||||
procedure OnHintTimer(Sender: TObject);
|
||||
@ -1213,6 +1213,7 @@ type
|
||||
function UpdateAction(TheAction: TBasicAction): Boolean; override;
|
||||
procedure HandleException(Sender: TObject); override;
|
||||
procedure HandleMessage;
|
||||
function HelpCommand(Command: Word; Data: PtrInt): Boolean;
|
||||
function HelpContext(Sender: TObject; const Position: TPoint;
|
||||
Context: THelpContext): Boolean;
|
||||
function HelpContext(Context: THelpContext): Boolean;
|
||||
|
@ -414,42 +414,20 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
{------------------------------------------------------------------------------
|
||||
function TApplication.InvokeHelp(Command: Word; Data: Longint): Boolean;
|
||||
------------------------------------------------------------------------------}
|
||||
function TApplication.InvokeHelp(Command: Word; Data: Longint): Boolean;
|
||||
function TApplication.HelpCommand(Command: Word; Data: Longint): Boolean;
|
||||
var
|
||||
CallHelp: Boolean;
|
||||
ActiveForm: TCustomForm;
|
||||
i: LongInt;
|
||||
begin
|
||||
Result := False;
|
||||
CallHelp := True;
|
||||
ActiveForm := Screen.ActiveCustomForm;
|
||||
|
||||
{ let existing hooks get called, if any. }
|
||||
if Assigned(ActiveForm) and Assigned(ActiveForm.FOnHelp) then
|
||||
Result := ActiveForm.FOnHelp(Command, Data, CallHelp)
|
||||
else if Assigned(FOnHelp) then begin
|
||||
Result := FOnHelp(Command, Data, CallHelp);
|
||||
i:=FApplicationHandlers[ahtHelp].Count;
|
||||
while (not Result) and (FApplicationHandlers[ahtHelp].NextDownIndex(i)) do
|
||||
Result:=THelpEvent(FApplicationHandlers[ahtHelp][i])(Command, Data, CallHelp);
|
||||
end;
|
||||
Result := DoOnHelp(Command, Data, CallHelp);
|
||||
|
||||
if CallHelp then begin
|
||||
if Assigned(ActiveForm) and ActiveForm.HandleAllocated
|
||||
and (ActiveForm.FHelpFile <> '') then
|
||||
begin
|
||||
if Result then
|
||||
Exit;
|
||||
|
||||
end
|
||||
else
|
||||
if HelpFile <> '' then
|
||||
begin
|
||||
|
||||
end else begin
|
||||
|
||||
end;
|
||||
if CallHelp then
|
||||
begin
|
||||
// TODO: call help
|
||||
end;
|
||||
end;
|
||||
|
||||
@ -644,6 +622,25 @@ begin
|
||||
Result := False;
|
||||
end;
|
||||
|
||||
function TApplication.DoOnHelp(Command: Word; Data: PtrInt; var CallHelp: Boolean): Boolean;
|
||||
var
|
||||
ActiveForm: TCustomForm;
|
||||
i: LongInt;
|
||||
begin
|
||||
ActiveForm := Screen.ActiveCustomForm;
|
||||
|
||||
if Assigned(ActiveForm) and Assigned(ActiveForm.FOnHelp) then
|
||||
Result := ActiveForm.FOnHelp(Command, Data, CallHelp)
|
||||
else
|
||||
if Assigned(FOnHelp) then
|
||||
begin
|
||||
Result := FOnHelp(Command, Data, CallHelp);
|
||||
i := FApplicationHandlers[ahtHelp].Count;
|
||||
while (not Result) and (FApplicationHandlers[ahtHelp].NextDownIndex(i)) do
|
||||
Result := THelpEvent(FApplicationHandlers[ahtHelp][i])(Command, Data, CallHelp);
|
||||
end;
|
||||
end;
|
||||
|
||||
{------------------------------------------------------------------------------
|
||||
procedure TApplication.DoOnMouseMove;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user