update worked to gocui

This commit is contained in:
Jeff Carr 2025-02-23 12:36:29 -06:00
parent 281899055d
commit 344b3ab1d1
1 changed files with 38 additions and 1 deletions

View File

@ -47,7 +47,7 @@ func (me *TreeInfo) doTable(a widget.Action) {
log.Info("TREE already has UUID", i, ot.Uuid)
if t.Uuid == ot.Uuid {
log.Info("TREE found UUID! update table here", i, ot.Uuid)
log.Info("todo: compare table here...")
me.updateTable(t)
return
}
}
@ -92,6 +92,43 @@ func (grid *Node) makeGridLabel(pb *guipb.Widget, w int, h int) *Node {
return AddNode(a)
}
func (me *TreeInfo) updateTable(t *guipb.Table) {
log.Info("todo: compare table here...")
for _, name := range t.Order {
me.updateRow(t, name)
}
}
func (me *TreeInfo) updateRow(t *guipb.Table, name string) {
for _, r := range t.StringRows {
if name == r.Header.Name {
id := r.Header.Id
n := treeRoot.FindWidgetId(int(id))
if n == nil {
log.Info("could not find widget id", id)
}
// log.Info("tree.updateRow() start found header", id, r.Header, "len =", len(r.Widgets))
// if r.Header.Name == "Hostname" {
// }
// log.Info("tree.updateRow() found Hostnames", r.Vals)
for i, v := range r.Vals {
// log.Info("tree: Hostname Widget", i, v, w.Name)
w := r.Widgets[i]
if v != w.Name {
log.Info("tree: need to update:", i, v, "vs", w.Name, w.Id)
n := treeRoot.FindWidgetId(int(w.Id))
if n == nil {
log.Info("tree.TableUpdate() err n == nil ", w.Id, w.Name)
continue
}
me.SetText(n, v)
}
}
return
}
}
}
func (me *TreeInfo) makeTable(t *guipb.Table) {
var grid *Node
if t.Window != nil {