From 0fb2e474141dfe45a69644a3ba92fc83e65e34e7 Mon Sep 17 00:00:00 2001 From: trustable-code Date: Sun, 15 Oct 2017 20:40:36 +0200 Subject: Add WindowKeyEvent.cancel, remove ControlDisposeEvent.cancel - Add WindowKeyEvent.cancel - Remove ControlDisposeEvent.cancel --- src/nigui.nim | 2 +- src/nigui/private/gtk3/platform_impl.nim | 1 + src/nigui/private/windows/platform_impl.nim | 2 ++ 3 files changed, 4 insertions(+), 1 deletion(-) (limited to 'src') 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 -- cgit v1.2.3