From 4dfec31493b8954054df39e948de4cafc8f16d1c Mon Sep 17 00:00:00 2001 From: trustable-code Date: Sun, 1 Sep 2019 16:36:07 +0200 Subject: Extend example_06_keyboard_events --- examples/example_06_keyboard_events.nim | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) (limited to 'examples') diff --git a/examples/example_06_keyboard_events.nim b/examples/example_06_keyboard_events.nim index ea19404..7e85879 100755 --- a/examples/example_06_keyboard_events.nim +++ b/examples/example_06_keyboard_events.nim @@ -6,16 +6,33 @@ app.init() var window = newWindow() +var container = newLayoutContainer(Layout_Vertical) +window.add(container) + +var textBox = newTextBox() +container.add(textBox) + var label = newLabel() -window.add(label) + window.onKeyDown = proc(event: KeyboardEvent) = - label.text = label.text & "KeyDown event: key: " & $event.key & ", unicode: " & $event.unicode & ", character: " & event.character & ", down keys: " & $downKeys() & "\n" + label.text = label.text & "Window KeyDown event: key: " & $event.key & ", unicode: " & $event.unicode & ", character: " & event.character & ", down keys: " & $downKeys() & "\n" # Ctrl + Q -> Quit application if Key_Q.isDown() and Key_ControlL.isDown(): app.quit() +textBox.onKeyDown = proc(event: KeyboardEvent) = + label.text = label.text & "TextBox KeyDown event: key: " & $event.key & ", unicode: " & $event.unicode & ", character: " & event.character & ", down keys: " & $downKeys() & "\n" + + # Accept only digits + if event.character.len != 1 or event.character[0] notin '0'..'9': + event.handled = true + + +container.add(label) + window.show() +textBox.focus() app.run() -- cgit v1.2.3