summaryrefslogtreecommitdiff
path: root/main.go
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2023-04-06 20:25:14 -0500
committerJeff Carr <[email protected]>2023-04-06 20:25:14 -0500
commit933a7e4df0e6a28ad06dfd60ab2928d5cdf916f9 (patch)
tree268ad3d290b392f877963a6fdc82197168f51fc4 /main.go
parent8649f37a56bc31928d69077545f1e323a794c61a (diff)
andlabs: callback is now safe through a go channel
Signed-off-by: Jeff Carr <[email protected]>
Diffstat (limited to 'main.go')
-rw-r--r--main.go53
1 files changed, 35 insertions, 18 deletions
diff --git a/main.go b/main.go
index 85d25aa..07cd420 100644
--- a/main.go
+++ b/main.go
@@ -124,31 +124,48 @@ func watchCallback() {
}
}
+func (n *Node) doCustom() {
+ log(logNow, "doUserEvent() widget =", n.id, n.Name, n.WidgetType, n.B)
+ if (n.Custom == nil) {
+ log(debugError, "Custom() = nil. SKIPPING")
+ return
+ }
+ n.Custom()
+}
+
func (n *Node) doUserEvent(a toolkit.Action) {
log(logNow, "doUserEvent() node =", n.id, n.Name)
switch n.WidgetType {
case toolkit.Checkbox:
n.B = a.B
- log(logNow, "doUserEvent() Check =", n.id, n.Name, n.B)
- if (n.Custom == nil) {
- log(debugError, "Custom() = nil. SKIPPING")
- return
- }
- n.Custom()
+ log(logNow, "doUserEvent() node =", n.id, n.Name, "set to:", n.B)
+ n.doCustom()
case toolkit.Button:
- log(logNow, "doUserEvent() button =", n.id, n.Name)
- if (n.Custom == nil) {
- log(debugError, "Custom() = nil. SKIPPING")
- return
- }
- n.Custom()
+ log(logNow, "doUserEvent() node =", n.id, n.Name, "button clicked")
+ n.doCustom()
+ case toolkit.Combobox:
+ n.S = a.S
+ log(logNow, "doUserEvent() node =", n.id, n.Name, "set to:", n.S)
+ n.doCustom()
+ case toolkit.Dropdown:
+ n.S = a.S
+ log(logNow, "doUserEvent() node =", n.id, n.Name, "set to:", n.S)
+ n.doCustom()
+ case toolkit.Textbox:
+ n.S = a.S
+ log(logNow, "doUserEvent() node =", n.id, n.Name, "set to:", n.S)
+ n.doCustom()
+ case toolkit.Spinner:
+ n.I = a.I
+ log(logNow, "doUserEvent() node =", n.id, n.Name, "set to:", n.I)
+ n.doCustom()
+ case toolkit.Slider:
+ n.I = a.I
+ log(logNow, "doUserEvent() node =", n.id, n.Name, "set to:", n.I)
+ n.doCustom()
case toolkit.Window:
- log(logNow, "doUserEvent() window =", n.id, n.Name)
- if (n.Custom == nil) {
- log(debugError, "Custom() = nil. SKIPPING")
- return
- }
- n.Custom()
+ log(logNow, "doUserEvent() node =", n.id, n.Name, "window closed")
+ n.doCustom()
default:
log(logNow, "doUserEvent() type =", n.WidgetType)
}