mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-17 21:59:16 +02:00
gtk1 intf: fixed debugging timer
git-svn-id: trunk@16210 -
This commit is contained in:
parent
7c263b6e77
commit
f7bf90fef4
@ -3064,6 +3064,7 @@ begin
|
|||||||
// HintTimer
|
// HintTimer
|
||||||
FHintTimer := TTimer.Create(Self);
|
FHintTimer := TTimer.Create(Self);
|
||||||
with FHintTimer do begin
|
with FHintTimer do begin
|
||||||
|
Name:=Self.Name+'_HintTimer';
|
||||||
Interval := 1000;
|
Interval := 1000;
|
||||||
Enabled := False;
|
Enabled := False;
|
||||||
OnTimer := @HintTimer;
|
OnTimer := @HintTimer;
|
||||||
@ -3072,6 +3073,7 @@ begin
|
|||||||
// HintWindow
|
// HintWindow
|
||||||
FHintWindow := THintWindow.Create(Self);
|
FHintWindow := THintWindow.Create(Self);
|
||||||
with FHintWindow do begin
|
with FHintWindow do begin
|
||||||
|
Name:=Self.Name+'_HintWindow';
|
||||||
Visible := False;
|
Visible := False;
|
||||||
Caption := '';
|
Caption := '';
|
||||||
HideInterval := 4000;
|
HideInterval := 4000;
|
||||||
@ -5133,6 +5135,7 @@ end;
|
|||||||
|
|
||||||
procedure TSourceNotebook.HideHint;
|
procedure TSourceNotebook.HideHint;
|
||||||
begin
|
begin
|
||||||
|
//DebugLn(['TSourceNotebook.HideHint ']);
|
||||||
if FHintTimer<>nil then
|
if FHintTimer<>nil then
|
||||||
FHintTimer.Enabled:=false;
|
FHintTimer.Enabled:=false;
|
||||||
if SourceCompletionTimer<>nil then
|
if SourceCompletionTimer<>nil then
|
||||||
@ -6233,6 +6236,7 @@ Procedure TSourceNotebook.EditorMouseMove(Sender: TObject; Shift: TShiftstate;
|
|||||||
X,Y: Integer);
|
X,Y: Integer);
|
||||||
begin
|
begin
|
||||||
// restart hint timer
|
// restart hint timer
|
||||||
|
//DebugLn(['TSourceNotebook.EditorMouseMove ']);
|
||||||
FHintTimer.Enabled := False;
|
FHintTimer.Enabled := False;
|
||||||
FHintTimer.Enabled := (EditorOpts.AutoToolTipSymbTools or
|
FHintTimer.Enabled := (EditorOpts.AutoToolTipSymbTools or
|
||||||
EditorOpts.AutoToolTipExprEval)
|
EditorOpts.AutoToolTipExprEval)
|
||||||
@ -6243,8 +6247,8 @@ procedure TSourceNotebook.EditorMouseWheel(Sender: TObject; Shift: TShiftState;
|
|||||||
WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
|
WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
|
||||||
begin
|
begin
|
||||||
// restart hint timer
|
// restart hint timer
|
||||||
|
//DebugLn(['TSourceNotebook.EditorMouseWheel ']);
|
||||||
HideHint;
|
HideHint;
|
||||||
FHintTimer.Enabled := False;
|
|
||||||
FHintTimer.Enabled := (EditorOpts.AutoToolTipSymbTools or
|
FHintTimer.Enabled := (EditorOpts.AutoToolTipSymbTools or
|
||||||
EditorOpts.AutoToolTipExprEval) and Visible;
|
EditorOpts.AutoToolTipExprEval) and Visible;
|
||||||
//handled:=true; //The scrooling is not done: it's not handled! See TWinControl.DoMouseWheel
|
//handled:=true; //The scrooling is not done: it's not handled! See TWinControl.DoMouseWheel
|
||||||
@ -6261,6 +6265,7 @@ var
|
|||||||
MousePos: TPoint;
|
MousePos: TPoint;
|
||||||
AControl: TControl;
|
AControl: TControl;
|
||||||
begin
|
begin
|
||||||
|
//DebugLn(['TSourceNotebook.HintTimer ']);
|
||||||
FHintTimer.Enabled := False;
|
FHintTimer.Enabled := False;
|
||||||
MousePos := Mouse.CursorPos;
|
MousePos := Mouse.CursorPos;
|
||||||
AControl:=FindLCLControl(MousePos);
|
AControl:=FindLCLControl(MousePos);
|
||||||
|
@ -26,7 +26,7 @@ unit CustomTimer;
|
|||||||
interface
|
interface
|
||||||
|
|
||||||
uses
|
uses
|
||||||
Classes, SysUtils, LCLStrConsts, LCLType, InterfaceBase;
|
Classes, SysUtils, LCLProc, LCLStrConsts, LCLType, InterfaceBase;
|
||||||
|
|
||||||
type
|
type
|
||||||
|
|
||||||
@ -106,6 +106,7 @@ end;
|
|||||||
procedure TCustomTimer.KillTimer;
|
procedure TCustomTimer.KillTimer;
|
||||||
begin
|
begin
|
||||||
if FTimerHandle <> cIdNoTimer then begin
|
if FTimerHandle <> cIdNoTimer then begin
|
||||||
|
//DebugLn(['TCustomTimer.KillTimer ',dbgsName(Self)]);
|
||||||
WidgetSet.DestroyTimer(FTimerHandle);
|
WidgetSet.DestroyTimer(FTimerHandle);
|
||||||
FTimerHandle := cIdNoTimer;
|
FTimerHandle := cIdNoTimer;
|
||||||
if Assigned(OnStopTimer) then OnStopTimer(Self);
|
if Assigned(OnStopTimer) then OnStopTimer(Self);
|
||||||
@ -129,8 +130,9 @@ procedure TCustomTimer.UpdateTimer;
|
|||||||
begin
|
begin
|
||||||
KillTimer;
|
KillTimer;
|
||||||
if (FEnabled) and (FInterval > 0)
|
if (FEnabled) and (FInterval > 0)
|
||||||
and (([csDesigning,csLoading]*ComponentState=[]))
|
and (([csDesigning,csLoading,csDestroying]*ComponentState=[]))
|
||||||
and Assigned (FOnTimer) then begin
|
and Assigned (FOnTimer) then begin
|
||||||
|
//DebugLn(['TCustomTimer.UpdateTimer ',dbgsName(Self),' WidgetSet.CreateTimer']);
|
||||||
FTimerHandle := WidgetSet.CreateTimer(FInterval, @Timer);
|
FTimerHandle := WidgetSet.CreateTimer(FInterval, @Timer);
|
||||||
if FTimerHandle=0 then begin
|
if FTimerHandle=0 then begin
|
||||||
FTimerHandle:=cIdNoTimer;
|
FTimerHandle:=cIdNoTimer;
|
||||||
@ -148,6 +150,9 @@ end;
|
|||||||
------------------------------------------------------------------------------}
|
------------------------------------------------------------------------------}
|
||||||
procedure TCustomTimer.Timer;
|
procedure TCustomTimer.Timer;
|
||||||
begin
|
begin
|
||||||
|
{$IFDEF VerboseTimer}
|
||||||
|
DebugLn(['TCustomTimer.Timer ',dbgsName(Self),' ',FEnabled,' ',FInterval]);
|
||||||
|
{$ENDIF}
|
||||||
if (FEnabled) and (FInterval > 0) then
|
if (FEnabled) and (FInterval > 0) then
|
||||||
DoOnTimer;
|
DoOnTimer;
|
||||||
end;
|
end;
|
||||||
|
@ -1091,6 +1091,7 @@ begin
|
|||||||
// (Posting the message via queue
|
// (Posting the message via queue
|
||||||
// has the risk of getting out of sync with the gtk)
|
// has the risk of getting out of sync with the gtk)
|
||||||
NotifyApplicationUserInput(Msg.Msg);
|
NotifyApplicationUserInput(Msg.Msg);
|
||||||
|
//DebugLn(['DeliverMouseMoveMessage ',dbgsName(AWinControl)]);
|
||||||
DeliverMessage(AWinControl, Msg);
|
DeliverMessage(AWinControl, Msg);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -2152,6 +2153,7 @@ begin
|
|||||||
if TimerInfo^.TimerFunc <> nil
|
if TimerInfo^.TimerFunc <> nil
|
||||||
then begin
|
then begin
|
||||||
// Call users timer function
|
// Call users timer function
|
||||||
|
//DebugLn(['gtkTimerCB ']);
|
||||||
TimerInfo^.TimerFunc;
|
TimerInfo^.TimerFunc;
|
||||||
Result:=GdkTrue; // timer will go on
|
Result:=GdkTrue; // timer will go on
|
||||||
end
|
end
|
||||||
|
@ -1416,9 +1416,10 @@ begin
|
|||||||
Result := 0
|
Result := 0
|
||||||
else begin
|
else begin
|
||||||
New(TimerInfo);
|
New(TimerInfo);
|
||||||
|
FillByte(TimerInfo^,SizeOf(TGtkITimerinfo),0);
|
||||||
TimerInfo^.TimerFunc := TimerFunc;
|
TimerInfo^.TimerFunc := TimerFunc;
|
||||||
{$IFDEF VerboseTimer}
|
{$IFDEF VerboseTimer}
|
||||||
DebugLn('TGtkWidgetSet.SetTimer %p CurTimerCount=%d OldTimerCount=%d', [TimerInfo, FTimerData.Count, FOldTimerData.Count]);
|
DebugLn(['TGtkWidgetSet.CreateTimer Interval=',dbgs(Interval)]);
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
Result:= gtk_timeout_add(Interval, @gtkTimerCB, TimerInfo);
|
Result:= gtk_timeout_add(Interval, @gtkTimerCB, TimerInfo);
|
||||||
if Result = 0 then
|
if Result = 0 then
|
||||||
@ -1452,7 +1453,7 @@ begin
|
|||||||
if (TimerInfo^.TimerHandle=guint(TimerHandle)) then
|
if (TimerInfo^.TimerHandle=guint(TimerHandle)) then
|
||||||
begin
|
begin
|
||||||
{$IFDEF VerboseTimer}
|
{$IFDEF VerboseTimer}
|
||||||
DebugLn('TGtkWidgetSet.KillTimer TimerInfo=',DbgS(TimerInfo),' TimerHandle=',TimerHandle,' CurTimerCount=',FTimerData.Count,' OldTimerCount=',FOldTimerData.Count);
|
DebugLn(['TGtkWidgetSet.DestroyTimer TimerInfo=',DbgS(TimerInfo),' TimerHandle=',TimerInfo^.TimerHandle]);
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
gtk_timeout_remove(TimerInfo^.TimerHandle);
|
gtk_timeout_remove(TimerInfo^.TimerHandle);
|
||||||
FTimerData.Delete(n);
|
FTimerData.Delete(n);
|
||||||
|
Loading…
Reference in New Issue
Block a user