autogen gui table code

This commit is contained in:
Jeff Carr 2025-02-20 05:27:53 -06:00
parent a295602905
commit abd87346f5
1 changed files with 50 additions and 21 deletions

View File

@ -7,6 +7,8 @@ import (
"fmt"
"io"
"os"
"go.wit.com/log"
)
// this file is named poorly. It has more than Sort()
@ -20,12 +22,36 @@ func (pb *Files) makeGuiFile(pf *File) error {
fmt.Fprintf(newf, "// START GUI\n")
fmt.Fprintf(newf, "\n")
guiMain(newf, "Fruits", "Fruit")
guiStringFuncs(newf, pf.Package, "Fruits", "Fruit")
guiMain(newf, pf.Bases.Name, pf.Base.Name)
guiStringFuncs(newf, pf.Package, pf.Bases.Name, pf.Base.Name)
for _, v := range pf.Base.Vars {
// log.Printf("Found %s %s\n", v.VarType, v.VarName)
if v.VarType == "string" {
log.Printf("make Add function here %s %s %s\n", pf.Bases.Name, pf.Base.Name, v.VarName)
guiAddFunc(newf, pf.Bases.Name, pf.Base.Name, v.VarName)
// log.Printf("make Add function here %s %s\n", v.VarType, v.VarName)
}
/*
continue
if !v.HasSort {
continue
}
if v.IsRepeated {
// can't work against slices
continue
}
if v.VarType != "string" {
continue
}
VARNAME := v.VarName
funcdef := msg.newSortType(wSort, PARENT, VARNAME)
log.Printf("Adding %s\n", funcdef)
*/
}
fmt.Fprintf(newf, "\n")
fmt.Fprintf(newf, "// END GUI\n")
return nil
}
@ -180,24 +206,6 @@ func guiStringFuncs(w io.Writer, ZOOPB string, FRUITS string, FRUIT string) {
fmt.Fprintln(w, " return false")
fmt.Fprintln(w, "}")
fmt.Fprintln(w, "")
/*
fmt.Fprintln(w, "func (t *"+FRUITS+"Table) AddHostname() {")
fmt.Fprintln(w, " // t.pb.Order = append(t.pb.Order, \"Hostname\")")
fmt.Fprintln(w, "")
fmt.Fprintln(w, " t.AddStringFunc(\"Hostname\", func(m *"+ZOOPB+"."+FRUIT+") string {")
fmt.Fprintln(w, " return m.Hostname")
fmt.Fprintln(w, " })")
fmt.Fprintln(w, "}")
fmt.Fprintln(w, "")
fmt.Fprintln(w, "func (t *"+FRUITS+"Table) AddMemory() {")
fmt.Fprintln(w, " t.pb.Order = append(t.pb.Order, \"Memory\")")
fmt.Fprintln(w, "}")
fmt.Fprintln(w, "")
fmt.Fprintln(w, "func (t *"+FRUITS+"Table) AddCpus() {")
fmt.Fprintln(w, " t.pb.Order = append(t.pb.Order, \"Cpus\")")
fmt.Fprintln(w, "}")
fmt.Fprintln(w, "")
*/
fmt.Fprintln(w, "func (mt *"+FRUITS+"Table) MakeTable() {")
fmt.Fprintln(w, " for _, name := range mt.pb.Order {")
fmt.Fprintln(w, " log.Info(\""+ZOOPB+": looking for row name()\", name)")
@ -213,3 +221,24 @@ func guiStringFuncs(w io.Writer, ZOOPB string, FRUITS string, FRUIT string) {
fmt.Fprintln(w, " }")
fmt.Fprintln(w, "}")
}
func guiAddFunc(w io.Writer, FRUITS string, FRUIT string, BRAND string) {
fmt.Fprintln(w, "")
fmt.Fprintln(w, "func (t *"+FRUITS+"Table) Add"+BRAND+"() {")
fmt.Fprintln(w, " // t.pb.Order = append(t.pb.Order, "+BRAND+")")
fmt.Fprintln(w, "")
fmt.Fprintln(w, " t.AddStringFunc(\""+BRAND+"\", func(m *"+FRUIT+") string {")
fmt.Fprintln(w, " return m."+BRAND+"")
fmt.Fprintln(w, " })")
fmt.Fprintln(w, "}")
/*
fmt.Fprintln(w, "func (t *"+FRUITS+"Table) AddMemory() {")
fmt.Fprintln(w, " t.pb.Order = append(t.pb.Order, \"Memory\")")
fmt.Fprintln(w, "}")
fmt.Fprintln(w, "")
fmt.Fprintln(w, "func (t *"+FRUITS+"Table) AddCpus() {")
fmt.Fprintln(w, " t.pb.Order = append(t.pb.Order, \"Cpus\")")
fmt.Fprintln(w, "}")
fmt.Fprintln(w, "")
*/
}