diff options
Diffstat (limited to 'src')
| -rwxr-xr-x | src/nigui.nim | 2 | ||||
| -rwxr-xr-x | src/nigui/private/gtk3/platform_impl.nim | 1 | ||||
| -rwxr-xr-x | src/nigui/private/windows/platform_impl.nim | 2 |
3 files changed, 4 insertions, 1 deletions
diff --git a/src/nigui.nim b/src/nigui.nim index 163a1d2..29fcf71 100755 --- a/src/nigui.nim +++ b/src/nigui.nim @@ -232,13 +232,13 @@ type key*: Key unicode*: int character*: string # UTF-8 character + cancel*: bool WindowKeyProc* = proc(event: WindowKeyEvent) # Control events: ControlDisposeEvent* = ref object control*: Control - cancel*: bool ControlDisposeProc* = proc(event: ControlDisposeEvent) DrawEvent* = ref object diff --git a/src/nigui/private/gtk3/platform_impl.nim b/src/nigui/private/gtk3/platform_impl.nim index ac4bf2d..0d0c420 100755 --- a/src/nigui/private/gtk3/platform_impl.nim +++ b/src/nigui/private/gtk3/platform_impl.nim @@ -102,6 +102,7 @@ proc pWindowKeyPressSignal(widget: pointer, event: var GdkEventKey, data: pointe try: window.handleKeyDownEvent(evt) + result = evt.cancel except: handleException() diff --git a/src/nigui/private/windows/platform_impl.nim b/src/nigui/private/windows/platform_impl.nim index 4ee1ab5..dbe6d7c 100755 --- a/src/nigui/private/windows/platform_impl.nim +++ b/src/nigui/private/windows/platform_impl.nim @@ -231,6 +231,8 @@ proc pHandleWMKEYDOWNOrWMCHAR(window: Window, control: Control, unicode: int, ke windowEvent.character = unicode.pUnicodeCharToUtf8 window.handleKeyDownEvent(windowEvent) + if windowEvent.cancel: + return true if control != nil: var controlEvent = new ControlKeyEvent |
