summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--generateGui.go70
1 files changed, 66 insertions, 4 deletions
diff --git a/generateGui.go b/generateGui.go
index c178cf0..a156eee 100644
--- a/generateGui.go
+++ b/generateGui.go
@@ -54,6 +54,8 @@ func (pb *Files) makeGuiFile(pf *File) error {
*/
}
guiUpdate(newf, pf.Bases.Name, pf.Bases.Name)
+ guiTableDelete(newf, pf.Bases.Name, pf.Bases.Name)
+ guiTableCustom(newf, pf.Bases.Name, pf.Bases.Name)
fmt.Fprintf(newf, "\n")
fmt.Fprintf(newf, "// END GUI\n")
@@ -96,19 +98,24 @@ func guiMain(w io.Writer, FRUITS string, FRUIT string) {
fmt.Fprintln(w, " t.stringFuncs = append(t.stringFuncs, sf)")
fmt.Fprintln(w, " return sf")
fmt.Fprintln(w, "}")
-
+ fmt.Fprintln(w, "func (t *"+FRUITS+"Table) AddButtonFunc(title string, f func(*"+FRUIT+") string) *"+FRUIT+"ButtonFunc {")
+ fmt.Fprintln(w, " t.pb.Order = append(t.pb.Order, title)")
+ fmt.Fprintln(w, "")
+ fmt.Fprintln(w, " sf := new("+FRUIT+"ButtonFunc)")
+ fmt.Fprintln(w, " sf.title = title")
+ fmt.Fprintln(w, " sf.f = f")
+ fmt.Fprintln(w, " t.buttonFuncs = append(t.buttonFuncs, sf)")
+ fmt.Fprintln(w, " return sf")
+ fmt.Fprintln(w, "}")
fmt.Fprintln(w, "func (sf *"+FRUIT+"StringFunc) SetTitle(title string) {")
fmt.Fprintln(w, " sf.title = title")
fmt.Fprintln(w, "}")
-
fmt.Fprintln(w, "func (sf *"+FRUIT+"IntFunc) SetTitle(title string) {")
fmt.Fprintln(w, " sf.title = title")
fmt.Fprintln(w, "}")
-
fmt.Fprintln(w, "func (sf *"+FRUIT+"TimeFunc) SetTitle(title string) {")
fmt.Fprintln(w, " sf.title = title")
fmt.Fprintln(w, "}")
-
fmt.Fprintln(w, "func (t *"+FRUITS+"Table) AddIntFunc(title string, f func(*"+FRUIT+") int) *"+FRUIT+"IntFunc {")
fmt.Fprintln(w, " t.pb.Order = append(t.pb.Order, title)")
fmt.Fprintln(w, "")
@@ -151,6 +158,12 @@ func guiMain(w io.Writer, FRUITS string, FRUIT string) {
fmt.Fprintln(w, " Custom func(*"+FRUIT+")")
fmt.Fprintln(w, "}")
fmt.Fprintln(w, "")
+ fmt.Fprintln(w, "type "+FRUIT+"ButtonFunc struct {")
+ fmt.Fprintln(w, " title string")
+ fmt.Fprintln(w, " f func(*"+FRUIT+") string")
+ fmt.Fprintln(w, " Custom func(*"+FRUIT+")")
+ fmt.Fprintln(w, "}")
+ fmt.Fprintln(w, "")
fmt.Fprintln(w, "type "+FRUIT+"IntFunc struct {")
fmt.Fprintln(w, " title string")
fmt.Fprintln(w, " f func(*"+FRUIT+") int")
@@ -172,6 +185,7 @@ func guiMain(w io.Writer, FRUITS string, FRUIT string) {
fmt.Fprintln(w, " stringFuncs []*"+FRUIT+"StringFunc")
fmt.Fprintln(w, " intFuncs []*"+FRUIT+"IntFunc")
fmt.Fprintln(w, " timeFuncs []*"+FRUIT+"TimeFunc")
+ fmt.Fprintln(w, " buttonFuncs []*"+FRUIT+"ButtonFunc")
fmt.Fprintln(w, "}")
}
@@ -197,6 +211,27 @@ 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 (mt *"+FRUITS+"Table) doButtonFunc(name string) bool {")
+ fmt.Fprintln(w, " for _, sf := range mt.buttonFuncs {")
+ fmt.Fprintln(w, " if sf.title != name {")
+ 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.Header = new(guipb.Widget)")
+ fmt.Fprintln(w, " r.Header.Name = name")
+ fmt.Fprintln(w, " all := mt.x.All()")
+ fmt.Fprintln(w, " for all.Scan() {")
+ fmt.Fprintln(w, " m := all.Next()")
+ 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, " return true")
+ fmt.Fprintln(w, " }")
+ fmt.Fprintln(w, " return false")
+ fmt.Fprintln(w, "}")
+ fmt.Fprintln(w, "")
fmt.Fprintln(w, "func (mt *"+FRUITS+"Table) doIntFunc(name string) bool {")
fmt.Fprintln(w, " for _, sf := range mt.intFuncs {")
fmt.Fprintln(w, " if sf.title != name {")
@@ -252,6 +287,9 @@ func guiStringFuncs(w io.Writer, ZOOPB string, FRUITS string, FRUIT string) {
fmt.Fprintln(w, " if mt.doTimeFunc(name) {")
fmt.Fprintln(w, " continue")
fmt.Fprintln(w, " }")
+ fmt.Fprintln(w, " if mt.doButtonFunc(name) {")
+ fmt.Fprintln(w, " continue")
+ fmt.Fprintln(w, " }")
fmt.Fprintln(w, " }")
fmt.Fprintln(w, "}")
}
@@ -392,3 +430,27 @@ func guiUpdate(w io.Writer, FRUITS string, FRUIT string) {
fmt.Fprintln(w, "}")
fmt.Fprintln(w, "// END TABLE UPDATE")
}
+
+func guiTableDelete(w io.Writer, FRUITS string, FRUIT string) {
+ fmt.Fprintln(w, "func (mt *"+FRUITS+"Table) Delete() {")
+ fmt.Fprintln(w, " if mt == nil {")
+ fmt.Fprintln(w, " log.Info(\"mt == nil table already deleted\")")
+ fmt.Fprintln(w, " return")
+ fmt.Fprintln(w, " }")
+ fmt.Fprintln(w, " // log.Info(\"table Delete here\")")
+ fmt.Fprintln(w, " mt.parent.DeleteTable(mt.pb)")
+ fmt.Fprintln(w, "}")
+}
+
+func guiTableCustom(w io.Writer, FRUITS string, FRUIT string) {
+ fmt.Fprintln(w, "func (mt *"+FRUITS+"Table) lookupWidgetId(id int) {")
+ fmt.Fprintln(w, " log.Info(\"no shit. got to lookupWidgdetId() id =\", id, \"on mt\", mt.GetUuid())")
+ fmt.Fprintln(w, "}")
+ fmt.Fprintln(w, "")
+ fmt.Fprintln(w, "func (mt *"+FRUITS+"Table) Custom(f func(int)) {")
+ fmt.Fprintln(w, " mt.pb.RegisterCustom(mt.lookupWidgetId)")
+ fmt.Fprintln(w, "}")
+ fmt.Fprintln(w, "func (mt *"+FRUITS+"Table) GetUuid() string {")
+ fmt.Fprintln(w, " return mt.pb.Uuid")
+ fmt.Fprintln(w, "}")
+}