summaryrefslogtreecommitdiff
path: root/table.go
diff options
context:
space:
mode:
Diffstat (limited to 'table.go')
-rw-r--r--table.go35
1 files changed, 18 insertions, 17 deletions
diff --git a/table.go b/table.go
index 6210680..7b0a7e3 100644
--- a/table.go
+++ b/table.go
@@ -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) {