diff options
| author | Jeff Carr <[email protected]> | 2025-03-05 20:14:23 -0600 |
|---|---|---|
| committer | Jeff Carr <[email protected]> | 2025-03-05 20:14:23 -0600 |
| commit | 4ad47a5d1b506bceebedbbbf12562e260fc4afd5 (patch) | |
| tree | cd3c20242ac4c54eb138685c965edfcf2fda0d14 | |
| parent | d9f7c182c1f61d15a0bf47b58bd2697b5684926a (diff) | |
start passing guipb.Widget
| -rw-r--r-- | init.go | 16 | ||||
| -rw-r--r-- | table.go | 35 |
2 files changed, 28 insertions, 23 deletions
@@ -234,14 +234,18 @@ func (n *Node) gotUserEvent(a widget.Action) { return } - if ok, pb := n.isWidgetInTable(); ok { - log.Log(WARN, "widget is in pb table", n.id, n.progname, a.Value) - if pb != nil { - log.Log(WARN, "found pb table", pb.GetUuid()) - pb.Custom(n.id) + if ok, pb, w := n.isWidgetInTable(a.WidgetId); ok { + log.Log(WARN, "gui.gotUserEvent() action =", a) + log.Log(WARN, "gui.gotUserEvent() widget is in pb table", n.id, n.progname, a.Value) + if w == nil { + log.Log(WARN, "gui.gotUserEvent() widget == nil", n.id, n.progname, a.Value) + return } + log.Log(WARN, "gui.gotUserEvent() found pb table", pb.GetUuid()) + pb.Custom(w) + return } else { - log.Log(WARN, "widget is not in pb table", n.id, n.progname, a.Value) + log.Log(WARN, "gui.gotUserEvent() widget is not in pb table", n.id, n.progname, a.Value) } switch n.WidgetType { @@ -40,18 +40,18 @@ func (parent *Node) ShowTableCallback(pb *guipb.Table, f func(id int)) { } */ -func (n *Node) findInTablePB(pb *guipb.Table) *guipb.Widget { +func (n *Node) findInTablePB(pb *guipb.Table, id int) *guipb.Widget { if n.tablepb == nil { - log.Info("SOMETHING WAS WRONG. gui.findInTablePB() n.tablepb == nil for widget id", n.id) + log.Info("SOMETHING WAS WRONG. gui.findInTablePB() n.tablepb == nil for widget id", id) return nil } for _, r := range pb.StringRows { - if r.Header.Id == int64(n.id) { + if r.Header.Id == int64(id) { log.Info("gui.findInTablePB() found widget", r.Header) return r.Header } for _, w := range r.Widgets { - if w.Id == int64(n.id) { + if w.Id == int64(id) { log.Info("gui.findInTablePB() found widget", w) return w } @@ -59,12 +59,13 @@ func (n *Node) findInTablePB(pb *guipb.Table) *guipb.Widget { } for _, r := range pb.ButtonRows { - if r.Header.Id == int64(n.id) { + if r.Header.Id == int64(id) { log.Info("gui.findInTablePB() found widget", r.Header) return r.Header } for _, w := range r.Widgets { - if w.Id == int64(n.id) { + log.Info("gui.findInTablePB() checking widget", w) + if w.Id == int64(id) { log.Info("gui.findInTablePB() found widget", w) return w } @@ -72,12 +73,12 @@ func (n *Node) findInTablePB(pb *guipb.Table) *guipb.Widget { } for _, r := range pb.IntRows { - if r.Header.Id == int64(n.id) { + if r.Header.Id == int64(id) { log.Info("gui.findInTablePB() found widget", r.Header) return r.Header } for _, w := range r.Widgets { - if w.Id == int64(n.id) { + if w.Id == int64(id) { log.Info("gui.findInTablePB() found widget", w) return w } @@ -85,33 +86,33 @@ func (n *Node) findInTablePB(pb *guipb.Table) *guipb.Widget { } for _, r := range pb.TimeRows { - if r.Header.Id == int64(n.id) { + if r.Header.Id == int64(id) { log.Info("gui.findInTablePB() found widget", r.Header) return r.Header } for _, w := range r.Widgets { - if w.Id == int64(n.id) { + if w.Id == int64(id) { log.Info("gui.findInTablePB() found widget", w) return w } } } - log.Info("SOMETHING WAS WRONG. gui.findInTablePB() didn't find widget id", n.id) + log.Info("SOMETHING WAS WRONG. gui.findInTablePB() didn't find widget id", id) return nil } -func (n *Node) isWidgetInTable() (bool, *guipb.Table) { +func (n *Node) isWidgetInTable(id int) (bool, *guipb.Table, *guipb.Widget) { if n.id == 0 { - return false, nil + return false, nil, nil } if n.progname == "gridtablePB" { - n.findInTablePB(n.tablepb) - return true, n.tablepb + w := n.findInTablePB(n.tablepb, id) + return true, n.tablepb, w } if n.parent == nil { - return false, nil + return false, nil, nil } - return n.parent.isWidgetInTable() + return n.parent.isWidgetInTable(id) } func (parent *Node) ShowTable(pb *guipb.Table) { |
