diff options
Diffstat (limited to 'table.go')
| -rw-r--r-- | table.go | 35 |
1 files changed, 18 insertions, 17 deletions
@@ -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) { |
