From 48e2465be19b87c165f00929272d872ea7b545f5 Mon Sep 17 00:00:00 2001 From: Jeff Carr Date: Sun, 14 Sep 2025 05:49:58 -0500 Subject: [PATCH] seriously. I used Row instead of Col. moron! --- GuiGenerate | 213 ------------------------------------------------- generateGui.go | 26 +++--- 2 files changed, 13 insertions(+), 226 deletions(-) delete mode 100644 GuiGenerate diff --git a/GuiGenerate b/GuiGenerate deleted file mode 100644 index aac8c37..0000000 --- a/GuiGenerate +++ /dev/null @@ -1,213 +0,0 @@ -package zoopb - -import ( - "time" - - "go.wit.com/gui" - "go.wit.com/lib/protobuf/guipb" - "go.wit.com/log" - timestamppb "google.golang.org/protobuf/types/known/timestamppb" -) - -func (x *Machines) NewTable(title string) *MachinesTable { - t := new(MachinesTable) - t.x = x - pb := new(guipb.Table) - pb.Title = title - t.pb = pb - return t -} - -func (t *MachinesTable) AddStringFunc(title string, f func(*Machine) string) { - t.pb.Order = append(t.pb.Order, title) - - sf := new(MachineStringFunc) - sf.title = title - sf.f = f - t.stringFuncs = append(t.stringFuncs, sf) -} - -func (t *MachinesTable) AddIntFunc(title string, f func(*Machine) int) { - t.pb.Order = append(t.pb.Order, title) - - sf := new(MachineIntFunc) - sf.title = title - sf.f = f - t.intFuncs = append(t.intFuncs, sf) -} - -func (t *MachinesTable) AddTimeFunc(title string, f func(*Machine) time.Time) { - t.pb.Order = append(t.pb.Order, title) - - sf := new(MachineTimeFunc) - sf.title = title - sf.f = f - t.timeFuncs = append(t.timeFuncs, sf) -} - -func (mt *MachinesTable) ShowTable() { - log.Info("zoopb.ShowTable() SENDING TO GUI") - mt.MakeTable() - gui.ShowTable(mt.pb) -} - -type MachineStringFunc struct { - title string - f func(*Machine) string -} - -type MachineIntFunc struct { - title string - f func(*Machine) int -} - -type MachineTimeFunc struct { - title string - f func(*Machine) time.Time -} - -type MachinesTable struct { - // gt *gui.NodeTable - pb *guipb.Table - x *Machines - hostnames []string - stringFuncs []*MachineStringFunc - intFuncs []*MachineIntFunc - timeFuncs []*MachineTimeFunc -} - -func (mt *MachinesTable) doStringFunc(name string) bool { - for _, sf := range mt.stringFuncs { - if sf.title != name { - continue - } - log.Info("zoopb: found stringfunc name:", name) - r := new(guipb.StringRow) - r.Header = new(guipb.Widget) - r.Header.Name = name - all := mt.x.All() - for all.Scan() { - m := all.Next() - r.Vals = append(r.Vals, sf.f(m)) - log.Info("zoopb: adding", name, r.Vals) - } - mt.pb.StringRows = append(mt.pb.StringRows, r) - return true - } - return false -} - -func (mt *MachinesTable) doIntFunc(name string) bool { - for _, sf := range mt.intFuncs { - if sf.title != name { - continue - } - log.Info("zoopb: found intfunc name:", name) - r := new(guipb.IntRow) - r.Header = new(guipb.Widget) - r.Header.Name = name - all := mt.x.All() - for all.Scan() { - m := all.Next() - r.Vals = append(r.Vals, int64(sf.f(m))) - log.Info("zoopb: adding", name, r.Vals) - } - mt.pb.IntRows = append(mt.pb.IntRows, r) - return true - } - return false -} - -func (mt *MachinesTable) doTimeFunc(name string) bool { - for _, sf := range mt.timeFuncs { - if sf.title != name { - continue - } - log.Info("zoopb: found timefunc name:", name) - r := new(guipb.TimeRow) - r.Header = new(guipb.Widget) - r.Header.Name = name - all := mt.x.All() - for all.Scan() { - m := all.Next() - t := sf.f(m) - r.Vals = append(r.Vals, timestamppb.New(t)) // convert to protobuf time - log.Info("zoopb: adding", name, r.Vals) - } - mt.pb.TimeRows = append(mt.pb.TimeRows, r) - return true - } - return false -} - -func (t *MachinesTable) AddHostname() { - // t.pb.Order = append(t.pb.Order, "Hostname") - - t.AddStringFunc("Hostname", func(m *zoopb.Machine) string { - return m.Hostname - }) -} - -func (t *MachinesTable) AddMemory() { - t.pb.Order = append(t.pb.Order, "Memory") -} - -func (t *MachinesTable) AddCpus() { - t.pb.Order = append(t.pb.Order, "Cpus") -} - -func (mt *MachinesTable) MakeTable() { - for _, name := range mt.pb.Order { - log.Info("zoopb: looking for row name()", name) - switch name { - case "Hostname": - r := new(guipb.StringRow) - r.Header = new(guipb.Widget) - r.Header.Name = name - all := mt.x.All() - for all.Scan() { - m := all.Next() - r.Vals = append(r.Vals, m.Hostname) - log.Info("zoopb: adding", name, r.Vals) - } - mt.pb.StringRows = append(mt.pb.StringRows, r) - continue - case "Cpus": - i := new(guipb.IntRow) - i.Header = new(guipb.Widget) - i.Header.Name = name - all := mt.x.All() - for all.Scan() { - m := all.Next() - i.Vals = append(i.Vals, m.Cpus) - log.Info("zoopb: adding", name, i.Vals) - } - mt.pb.IntRows = append(mt.pb.IntRows, i) - continue - case "Memory": - i := new(guipb.IntRow) - i.Header = new(guipb.Widget) - i.Header.Name = name - all := mt.x.All() - for all.Scan() { - m := all.Next() - i.Vals = append(i.Vals, m.Memory) - log.Info("zoopb: adding", name, i.Vals) - } - mt.pb.IntRows = append(mt.pb.IntRows, i) - continue - default: - // mt.addFuncRow(name) - } - log.Info("zoopb: didn't find name. trying StringFuncs", name) - if mt.doStringFunc(name) { - continue - } - if mt.doIntFunc(name) { - continue - } - if mt.doTimeFunc(name) { - continue - } - } -} diff --git a/generateGui.go b/generateGui.go index 69f27aa..330ae7b 100644 --- a/generateGui.go +++ b/generateGui.go @@ -283,7 +283,7 @@ func guiStringFuncs(w io.Writer, ZOOPB string, FRUITS string, FRUIT string) { fmt.Fprintln(w, " continue") fmt.Fprintln(w, " }") fmt.Fprintln(w, " // log.Info(\""+ZOOPB+": found stringfunc name:\", name)") - fmt.Fprintln(w, " r := new(guipb.StringRow)") + fmt.Fprintln(w, " r := new(guipb.StringCol)") fmt.Fprintln(w, " r.Header = new(guipb.Widget)") fmt.Fprintln(w, " r.Header.Name = name") @@ -297,7 +297,7 @@ func guiStringFuncs(w io.Writer, ZOOPB string, FRUITS string, FRUIT string) { fmt.Fprintln(w, " r.Vals = append(r.Vals, sf.f(m))") fmt.Fprintln(w, " // log.Info(\""+ZOOPB+": adding\", name, r.Vals)") fmt.Fprintln(w, " }") - fmt.Fprintln(w, " mt.pb.StringRows = append(mt.pb.StringRows, r)") + fmt.Fprintln(w, " mt.pb.StringCols = append(mt.pb.StringCols, r)") fmt.Fprintln(w, " return true") fmt.Fprintln(w, " }") fmt.Fprintln(w, " return false") @@ -309,14 +309,14 @@ func guiStringFuncs(w io.Writer, ZOOPB string, FRUITS string, FRUIT string) { fmt.Fprintln(w, " continue") fmt.Fprintln(w, " }") fmt.Fprintln(w, " // log.Info(\""+ZOOPB+": found stringfunc name:\", name)") - fmt.Fprintln(w, " r := new(guipb.ButtonRow)") + fmt.Fprintln(w, " r := new(guipb.ButtonCol)") fmt.Fprintln(w, " r.Header = new(guipb.Widget)") fmt.Fprintln(w, " r.Header.Name = name") fmt.Fprintln(w, " for m := range mt.x.IterAll() {") fmt.Fprintln(w, " r.Vals = append(r.Vals, sf.f(m))") fmt.Fprintln(w, " // log.Info(\""+ZOOPB+": adding\", name, r.Vals)") fmt.Fprintln(w, " }") - fmt.Fprintln(w, " mt.pb.ButtonRows = append(mt.pb.ButtonRows, r)") + fmt.Fprintln(w, " mt.pb.ButtonCols = append(mt.pb.ButtonCols, r)") fmt.Fprintln(w, " return true") fmt.Fprintln(w, " }") fmt.Fprintln(w, " return false") @@ -328,14 +328,14 @@ func guiStringFuncs(w io.Writer, ZOOPB string, FRUITS string, FRUIT string) { fmt.Fprintln(w, " continue") fmt.Fprintln(w, " }") fmt.Fprintln(w, " // log.Info(\""+ZOOPB+": found intfunc name:\", name)") - fmt.Fprintln(w, " r := new(guipb.IntRow)") + fmt.Fprintln(w, " r := new(guipb.IntCol)") fmt.Fprintln(w, " r.Header = new(guipb.Widget)") fmt.Fprintln(w, " r.Header.Name = name") fmt.Fprintln(w, " for m := range mt.x.IterAll() {") fmt.Fprintln(w, " r.Vals = append(r.Vals, int64(sf.f(m)))") fmt.Fprintln(w, " // log.Info(\""+ZOOPB+": adding\", name, r.Vals)") fmt.Fprintln(w, " }") - fmt.Fprintln(w, " mt.pb.IntRows = append(mt.pb.IntRows, r)") + fmt.Fprintln(w, " mt.pb.IntCols = append(mt.pb.IntCols, r)") fmt.Fprintln(w, " return true") fmt.Fprintln(w, " }") fmt.Fprintln(w, " return false") @@ -347,7 +347,7 @@ func guiStringFuncs(w io.Writer, ZOOPB string, FRUITS string, FRUIT string) { fmt.Fprintln(w, " continue") fmt.Fprintln(w, " }") fmt.Fprintln(w, " // log.Info(\""+ZOOPB+": found timefunc name:\", name)") - fmt.Fprintln(w, " r := new(guipb.TimeRow)") + fmt.Fprintln(w, " r := new(guipb.TimeCol)") fmt.Fprintln(w, " r.Header = new(guipb.Widget)") fmt.Fprintln(w, " r.Header.Name = name") fmt.Fprintln(w, " for m := range mt.x.IterAll() {") @@ -355,7 +355,7 @@ func guiStringFuncs(w io.Writer, ZOOPB string, FRUITS string, FRUIT string) { fmt.Fprintln(w, " r.Vals = append(r.Vals, timestamppb.New(t)) // convert to protobuf time") fmt.Fprintln(w, " // log.Info(\""+ZOOPB+": adding\", name, r.Vals)") fmt.Fprintln(w, " }") - fmt.Fprintln(w, " mt.pb.TimeRows = append(mt.pb.TimeRows, r)") + fmt.Fprintln(w, " mt.pb.TimeCols = append(mt.pb.TimeCols, r)") fmt.Fprintln(w, " return true") fmt.Fprintln(w, " }") fmt.Fprintln(w, " return false") @@ -437,7 +437,7 @@ func guiUpdate(w io.Writer, FRUITS string, FRUIT string) { fmt.Fprintln(w, "}") fmt.Fprintln(w, "") fmt.Fprintln(w, "func (mt *"+FRUITS+"Table) dumpStringFunc(name string) {") - fmt.Fprintln(w, " for i, r := range mt.pb.StringRows {") + fmt.Fprintln(w, " for i, r := range mt.pb.StringCols {") fmt.Fprintln(w, " // log.Info(\"could use\", i, r.Header.Name, \"for name =\", name)") fmt.Fprintln(w, " if r.Header.Name == name {") fmt.Fprintln(w, " log.Info(\"dump Strings row\", i, r.Header.Name, r.Vals)") @@ -448,8 +448,8 @@ func guiUpdate(w io.Writer, FRUITS string, FRUIT string) { fmt.Fprintln(w, "") fmt.Fprintln(w, "func (mt *"+FRUITS+"Table) updateStringFunc(name string) bool {") fmt.Fprintln(w, " // log.Info(\"LOOKING FOR STRING row\", name)") - fmt.Fprintln(w, " var found *guipb.StringRow") - fmt.Fprintln(w, " for _, r := range mt.pb.StringRows {") + fmt.Fprintln(w, " var found *guipb.StringCol") + fmt.Fprintln(w, " for _, r := range mt.pb.StringCols {") fmt.Fprintln(w, " // log.Info(\"could use\", i, r.Header.Name, \"for name =\", name)") fmt.Fprintln(w, " if r.Header.Name == name {") fmt.Fprintln(w, " // log.Info(\"found row\", i, r.Header.Name)") @@ -482,8 +482,8 @@ func guiUpdate(w io.Writer, FRUITS string, FRUIT string) { fmt.Fprintln(w, "") fmt.Fprintln(w, "func (mt *"+FRUITS+"Table) updateTimeFunc(name string) bool {") fmt.Fprintln(w, " log.Info(\"LOOKING FOR TIME row\", name)") - fmt.Fprintln(w, " var found *guipb.TimeRow") - fmt.Fprintln(w, " for i, r := range mt.pb.TimeRows {") + fmt.Fprintln(w, " var found *guipb.TimeCol") + fmt.Fprintln(w, " for i, r := range mt.pb.TimeCols {") fmt.Fprintln(w, " // log.Info(\"could use\", i, r.Header.Name, \"for name =\", name)") fmt.Fprintln(w, " if r.Header.Name == name {") fmt.Fprintln(w, " log.Info(\"found row\", i, r.Header.Name)")