From 919641f5440d0f04aa27bf5081a8d0ae1e296786 Mon Sep 17 00:00:00 2001 From: dmitry Date: Mon, 12 Feb 2018 03:18:39 +0000 Subject: [PATCH] cocoa: key events handling for TCocoaButton. #33094 git-svn-id: trunk@57284 - --- lcl/interfaces/cocoa/cocoaprivate.pp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/lcl/interfaces/cocoa/cocoaprivate.pp b/lcl/interfaces/cocoa/cocoaprivate.pp index 565dc96ac2..639246cce5 100644 --- a/lcl/interfaces/cocoa/cocoaprivate.pp +++ b/lcl/interfaces/cocoa/cocoaprivate.pp @@ -228,6 +228,10 @@ type procedure drawRect(dirtyRect: NSRect); override; function lclGetCallback: ICommonCallback; override; procedure lclClearCallback; override; + // keyboard + procedure keyDown(event: NSEvent); override; + procedure keyUp(event: NSEvent); override; + // mouse procedure mouseDown(event: NSEvent); override; procedure mouseUp(event: NSEvent); override; @@ -2399,6 +2403,18 @@ begin callback := nil; end; +procedure TCocoaButton.keyDown(event: NSEvent); +begin + if not Assigned(callback) or not callback.KeyEvent(event) then + inherited keyDown(event); +end; + +procedure TCocoaButton.keyUp(event: NSEvent); +begin + if not Assigned(callback) or not callback.KeyEvent(event) then + inherited keyUp(event); +end; + procedure TCocoaButton.mouseUp(event: NSEvent); begin if not callback.MouseUpDownEvent(event) then