summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rwxr-xr-xsrc/nigui.nim2
-rwxr-xr-xsrc/nigui/private/gtk3/platform_impl.nim1
-rwxr-xr-xsrc/nigui/private/windows/platform_impl.nim2
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