hand write table buttons for testing

This commit is contained in:
Jeff Carr 2025-03-05 07:47:03 -06:00
parent bf833ed92d
commit 96b4c0b5a1
1 changed files with 70 additions and 0 deletions

70
machine.test.go Normal file
View File

@ -0,0 +1,70 @@
package zoopb
import (
"fmt"
"go.wit.com/lib/protobuf/guipb"
"go.wit.com/log"
)
func (mt *MachinesTable) Delete() {
if mt == nil {
log.Info("mt == nil table already deleted")
return
}
log.Info("implement table Delete here")
mt.parent.DeleteTable(mt.pb)
}
func (mt *MachinesTable) UpdateTable(pb *Machines) {
// mt.parent.UpdateTable(pb)
}
func (mt *MachinesTable) GetUuid() string {
return mt.pb.Uuid
}
func (t *MachinesTable) AddButtonFunc(title string, f func(*Machine) string) {
t.pb.Order = append(t.pb.Order, title)
sf := new(machineButtonFunc)
sf.title = title
sf.f = f
t.buttonFuncs = append(t.buttonFuncs, sf)
}
type machineButtonFunc struct {
title string
f func(*Machine) string
Custom func(*Machine)
}
func (mt *MachinesTable) doButtonFunc(name string) bool {
for _, sf := range mt.buttonFuncs {
if sf.title != name {
continue
}
// log.Info("zoopb: found timefunc name:", name)
r := new(guipb.ButtonRow)
r.Header = new(guipb.Widget)
r.Header.Name = name
all := mt.x.All()
for all.Scan() {
m := all.Next()
tmp := fmt.Sprintf("%s %s %d", name, sf.f(m), all.Cur())
r.Vals = append(r.Vals, tmp)
// log.Info("zoopb: adding", name, r.Vals)
}
mt.pb.ButtonRows = append(mt.pb.ButtonRows, r)
return true
}
return false
}
func (it *MachinesIterator) Cur() int {
return it.index
}
func (it *MachineIterator) Cur() int {
return it.index
}