diff options
| -rw-r--r-- | common.go | 5 | ||||
| -rw-r--r-- | main.go | 6 | ||||
| -rw-r--r-- | structs.go | 1 |
3 files changed, 11 insertions, 1 deletions
@@ -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 @@ -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 @@ -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() |
