diff --git a/generateGui.go b/generateGui.go index c07a5bd..611ed65 100644 --- a/generateGui.go +++ b/generateGui.go @@ -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, "") + */ +}