cocoa: scrollwheel events for textedit fields. bug #36221

git-svn-id: trunk@62145 -
This commit is contained in:
dmitry 2019-10-29 03:08:49 +00:00
parent 95c00dcc52
commit 5800bed098

View File

@ -79,6 +79,7 @@ type
procedure otherMouseUp(event: NSEvent); override;
procedure mouseDragged(event: NSEvent); override;
procedure mouseMoved(event: NSEvent); override;
procedure scrollWheel(event: NSEvent); override;
procedure lclSetMaxLength(amax: integer);
end;
@ -104,6 +105,7 @@ type
procedure otherMouseUp(event: NSEvent); override;
procedure mouseDragged(event: NSEvent); override;
procedure mouseMoved(event: NSEvent); override;
procedure scrollWheel(event: NSEvent); override;
procedure lclSetMaxLength(amax: integer);
end;
@ -185,6 +187,7 @@ type
procedure otherMouseUp(event: NSEvent); override;
procedure mouseDragged(event: NSEvent); override;
procedure mouseMoved(event: NSEvent); override;
procedure scrollWheel(event: NSEvent); override;
end;
const
@ -429,7 +432,6 @@ type
procedure otherMouseDragged(event: NSEvent); override;
procedure mouseDragged(event: NSEvent); override;
procedure mouseMoved(event: NSEvent); override;
procedure scrollWheel(event: NSEvent); override;
end;
{$ENDIF}
@ -902,6 +904,19 @@ begin
inherited mouseMoved(event);
end;
procedure TCocoaFieldEditor.scrollWheel(event: NSEvent);
var
v : NSView;
begin
v := GetEditBox(Self);
if Assigned(v) then
begin
if Assigned(v.lclGetCallback) and not v.lclGetCallback.scrollWheel(event) then
inherited mouseMoved(event);
end else
inherited scrollWheel(event);
end;
{ TCocoaTextField }
function TCocoaTextField.acceptsFirstResponder: LCLObjCBoolean;
@ -991,6 +1006,12 @@ begin
inherited mouseMoved(event);
end;
procedure TCocoaTextField.scrollWheel(event: NSEvent);
begin
if Assigned(callback) and not callback.scrollWheel(event) then
inherited scrollWheel(event);
end;
procedure TCocoaTextField.lclSetMaxLength(amax: integer);
begin
maxLength := amax;
@ -1251,6 +1272,12 @@ begin
inherited mouseMoved(event);
end;
procedure TCocoaSecureTextField.scrollWheel(event: NSEvent);
begin
if Assigned(callback) and not callback.scrollWheel(event) then
inherited scrollWheel(event);
end;
procedure TCocoaSecureTextField.lclSetMaxLength(amax: integer);
begin
MaxLength := amax;
@ -2159,12 +2186,6 @@ begin
inherited mouseMoved(event);
end;
procedure TCocoaSpinEdit.scrollWheel(event: NSEvent);
begin
if not Assigned(callback) or not callback.scrollWheel(event) then
inherited scrollWheel(event);
end;
{$ENDIF}
end.