summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortrustable-code <krauter.simon@arcor.de>2019-09-01 16:36:07 +0200
committertrustable-code <krauter.simon@arcor.de>2019-09-01 16:36:07 +0200
commit4dfec31493b8954054df39e948de4cafc8f16d1c (patch)
treeb4a61a262de97410ea4c3883b42f94a9f9ae84b2
parent41d7e103c09f23f158afd6df442275cc86a66937 (diff)
downloadNiGui-4dfec31493b8954054df39e948de4cafc8f16d1c.tar.gz
NiGui-4dfec31493b8954054df39e948de4cafc8f16d1c.zip
Extend example_06_keyboard_events
-rwxr-xr-xexamples/example_06_keyboard_events.nim21
1 files changed, 19 insertions, 2 deletions
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()