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