summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2024-01-10 17:03:13 -0600
committerJeff Carr <[email protected]>2024-01-10 17:03:13 -0600
commitb3fce8457ff73a31fe889eb7b1315fae2e016cc4 (patch)
tree4239220e449cf5039b063df92e4439294fca2a71
parent330927ee8d5802755ef2bddfe2bd9e71318a0666 (diff)
start fixing GetText() and move to any
Signed-off-by: Jeff Carr <[email protected]>
-rw-r--r--common.go5
-rw-r--r--main.go6
-rw-r--r--structs.go1
3 files changed, 11 insertions, 1 deletions
diff --git a/common.go b/common.go
index 614a749..28be258 100644
--- a/common.go
+++ b/common.go
@@ -124,8 +124,11 @@ func (n *Node) AppendText(str string) {
// should get the value of the node
func (n *Node) GetText() string {
+ if n.value != nil {
+ return n.value.(string)
+ }
if (n.S != n.Text) {
- log.Warn("GetText() is screwed up. TODO: fix this dumb crap")
+ log.Warn("GetText() is screwed up. TODO: fix this dumb crap. n.S =", n.S, "and n.Text =", n.Text)
}
if (n.S != "") {
return n.S
diff --git a/main.go b/main.go
index de7ed7c..61a31c0 100644
--- a/main.go
+++ b/main.go
@@ -81,6 +81,12 @@ func (n *Node) doCustom() {
func (n *Node) doUserEvent(a widget.Action) {
log.Info("doUserEvent() node =", n.id, n.Name)
+ if a.A != nil {
+ log.Warn("doUserEvent() a.A != nil", n.id, n.Name, "n.value =", a.A)
+ n.value = a.A
+ n.doCustom()
+ return
+ }
switch n.WidgetType {
case widget.Checkbox:
n.B = a.B
diff --git a/structs.go b/structs.go
index 308aeb7..b84317d 100644
--- a/structs.go
+++ b/structs.go
@@ -90,6 +90,7 @@ type Node struct {
I int
S string
B bool
+ value any
// this function is run when there are mouse or keyboard events
Custom func()