mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-14 18:59:06 +02:00
ide: fix smart hint window not receiving mouse messages. Issue #29726
git-svn-id: trunk@51699 -
This commit is contained in:
parent
d21ede8cea
commit
0776ea2c13
@ -240,7 +240,7 @@ type
|
|||||||
FLineInfoNotification: TIDELineInfoNotification;
|
FLineInfoNotification: TIDELineInfoNotification;
|
||||||
FInEditorChangedUpdating: Boolean;
|
FInEditorChangedUpdating: Boolean;
|
||||||
|
|
||||||
FOnEditorChange: TNotifyEvent;
|
FOnEditorChange: TStatusChangeEvent;
|
||||||
FVisible: Boolean;
|
FVisible: Boolean;
|
||||||
FOnMouseMove: TMouseMoveEvent;
|
FOnMouseMove: TMouseMoveEvent;
|
||||||
FOnMouseDown: TMouseEvent;
|
FOnMouseDown: TMouseEvent;
|
||||||
@ -512,7 +512,7 @@ type
|
|||||||
property ExecutionLine: integer read GetExecutionLine write SetExecutionLine;
|
property ExecutionLine: integer read GetExecutionLine write SetExecutionLine;
|
||||||
property HasExecutionMarks: Boolean read GetHasExecutionMarks;
|
property HasExecutionMarks: Boolean read GetHasExecutionMarks;
|
||||||
property InsertMode: Boolean read GetInsertmode;
|
property InsertMode: Boolean read GetInsertmode;
|
||||||
property OnEditorChange: TNotifyEvent read FOnEditorChange
|
property OnEditorChange: TStatusChangeEvent read FOnEditorChange
|
||||||
write FOnEditorChange;
|
write FOnEditorChange;
|
||||||
property OnMouseMove: TMouseMoveEvent read FOnMouseMove write FOnMouseMove;
|
property OnMouseMove: TMouseMoveEvent read FOnMouseMove write FOnMouseMove;
|
||||||
property OnMouseDown: TMouseEvent read FOnMouseDown write FOnMouseDown;
|
property OnMouseDown: TMouseEvent read FOnMouseDown write FOnMouseDown;
|
||||||
@ -703,7 +703,7 @@ type
|
|||||||
ATabCaption: String = ''): TSourceEditor;
|
ATabCaption: String = ''): TSourceEditor;
|
||||||
procedure AcceptEditor(AnEditor: TSourceEditor; SendEvent: Boolean = False);
|
procedure AcceptEditor(AnEditor: TSourceEditor; SendEvent: Boolean = False);
|
||||||
procedure ReleaseEditor(AnEditor: TSourceEditor; SendEvent: Boolean = False);
|
procedure ReleaseEditor(AnEditor: TSourceEditor; SendEvent: Boolean = False);
|
||||||
procedure EditorChanged(Sender: TObject);
|
procedure EditorChanged(Sender: TObject; Changes: TSynStatusChanges);
|
||||||
procedure DoClose(var CloseAction: TCloseAction); override;
|
procedure DoClose(var CloseAction: TCloseAction); override;
|
||||||
procedure DoShow; override;
|
procedure DoShow; override;
|
||||||
procedure DoHide; override;
|
procedure DoHide; override;
|
||||||
@ -4046,7 +4046,7 @@ procedure TSourceEditor.EditorStatusChanged(Sender: TObject;
|
|||||||
Changes: TSynStatusChanges);
|
Changes: TSynStatusChanges);
|
||||||
Begin
|
Begin
|
||||||
If Assigned(OnEditorChange) then
|
If Assigned(OnEditorChange) then
|
||||||
OnEditorChange(Sender);
|
OnEditorChange(Sender, Changes);
|
||||||
UpdatePageName;
|
UpdatePageName;
|
||||||
if Changes * [scCaretX, scCaretY, scSelection] <> [] then
|
if Changes * [scCaretX, scCaretY, scSelection] <> [] then
|
||||||
IDECommandList.PostponeUpdateEvents;
|
IDECommandList.PostponeUpdateEvents;
|
||||||
@ -7059,13 +7059,15 @@ end;
|
|||||||
|
|
||||||
Called whenever an editor status changes. Sender is normally a TSynEdit.
|
Called whenever an editor status changes. Sender is normally a TSynEdit.
|
||||||
-------------------------------------------------------------------------------}
|
-------------------------------------------------------------------------------}
|
||||||
procedure TSourceNotebook.EditorChanged(Sender: TObject);
|
procedure TSourceNotebook.EditorChanged(Sender: TObject;
|
||||||
|
Changes: TSynStatusChanges);
|
||||||
var SenderDeleted: boolean;
|
var SenderDeleted: boolean;
|
||||||
Begin
|
Begin
|
||||||
SenderDeleted:=(Sender as TControl).Parent=nil;
|
SenderDeleted:=(Sender as TControl).Parent=nil;
|
||||||
if SenderDeleted then exit;
|
if SenderDeleted then exit;
|
||||||
UpdateStatusBar;
|
UpdateStatusBar;
|
||||||
if Assigned(Manager) then begin
|
if Assigned(Manager) then begin
|
||||||
|
if not(Changes=[scFocus]) then // has to be here because of issue #29726
|
||||||
Manager.FHints.HideIfVisible;
|
Manager.FHints.HideIfVisible;
|
||||||
Manager.DoEditorStatusChanged(FindSourceEditorWithEditorComponent(TSynEdit(Sender)));
|
Manager.DoEditorStatusChanged(FindSourceEditorWithEditorComponent(TSynEdit(Sender)));
|
||||||
end;
|
end;
|
||||||
|
Loading…
Reference in New Issue
Block a user