more work on 'any' in GUI PB
This commit is contained in:
parent
66aacceee5
commit
cea3028333
|
@ -193,15 +193,20 @@ func guiMain(w io.Writer, FRUITS string, FRUIT string) {
|
||||||
fmt.Fprintln(w, " return sf")
|
fmt.Fprintln(w, " return sf")
|
||||||
fmt.Fprintln(w, "}")
|
fmt.Fprintln(w, "}")
|
||||||
fmt.Fprintln(w, "")
|
fmt.Fprintln(w, "")
|
||||||
fmt.Fprintln(w, "func (t *"+FRUITS+"Table) AddTimeFunc(title string, f func(*"+FRUIT+") time.Time) *"+FRUIT+"TimeFunc {")
|
fmt.Fprintln(w, "func (t *"+FRUITS+"Table) AddTimeFunc(title string, f func(*"+FRUIT+") any) *"+FRUIT+"AnyFunc {")
|
||||||
fmt.Fprintln(w, " t.pb.Order = append(t.pb.Order, title)")
|
fmt.Fprintln(w, " t.pb.Order = append(t.pb.Order, title)")
|
||||||
fmt.Fprintln(w, "")
|
fmt.Fprintln(w, "")
|
||||||
fmt.Fprintln(w, " sf := new("+FRUIT+"TimeFunc)")
|
fmt.Fprintln(w, " sf := new("+FRUIT+"AnyFunc)")
|
||||||
fmt.Fprintln(w, " sf.title = title")
|
fmt.Fprintln(w, " sf.title = title")
|
||||||
fmt.Fprintln(w, " sf.f = f")
|
fmt.Fprintln(w, " sf.f = f")
|
||||||
fmt.Fprintln(w, " sf.order = t.order")
|
fmt.Fprintln(w, " sf.order = t.order")
|
||||||
|
fmt.Fprintln(w, " sf.attr = new(guipb.ColAttr)")
|
||||||
|
fmt.Fprintln(w, " sf.attr.Width = int32(sf.Width)")
|
||||||
|
fmt.Fprintln(w, " sf.attr.Type = guipb.ColAttr_TIME")
|
||||||
|
fmt.Fprintln(w, "")
|
||||||
fmt.Fprintln(w, " t.order += 1")
|
fmt.Fprintln(w, " t.order += 1")
|
||||||
fmt.Fprintln(w, " t.timeFuncs = append(t.timeFuncs, sf)")
|
fmt.Fprintln(w, " // t.timeFuncs = append(t.timeFuncs, sf)")
|
||||||
|
fmt.Fprintln(w, " t.anyFuncs = append(t.anyFuncs, sf)")
|
||||||
fmt.Fprintln(w, " return sf")
|
fmt.Fprintln(w, " return sf")
|
||||||
fmt.Fprintln(w, "}")
|
fmt.Fprintln(w, "}")
|
||||||
fmt.Fprintln(w, "")
|
fmt.Fprintln(w, "")
|
||||||
|
@ -264,11 +269,12 @@ func guiMain(w io.Writer, FRUITS string, FRUIT string) {
|
||||||
fmt.Fprintln(w, "}")
|
fmt.Fprintln(w, "}")
|
||||||
fmt.Fprintln(w, "")
|
fmt.Fprintln(w, "")
|
||||||
fmt.Fprintln(w, "type "+FRUIT+"AnyFunc struct {")
|
fmt.Fprintln(w, "type "+FRUIT+"AnyFunc struct {")
|
||||||
fmt.Fprintln(w, " title string")
|
fmt.Fprintln(w, " title string")
|
||||||
fmt.Fprintln(w, " f func(*"+FRUIT+") any")
|
fmt.Fprintln(w, " f func(*"+FRUIT+") any")
|
||||||
fmt.Fprintln(w, " Custom func(*"+FRUIT+")")
|
fmt.Fprintln(w, " Custom func(*"+FRUIT+")")
|
||||||
fmt.Fprintln(w, " order int")
|
fmt.Fprintln(w, " order int")
|
||||||
fmt.Fprintln(w, " Width int")
|
fmt.Fprintln(w, " Width int")
|
||||||
|
fmt.Fprintln(w, " attr *guipb.ColAttr")
|
||||||
fmt.Fprintln(w, "}")
|
fmt.Fprintln(w, "}")
|
||||||
fmt.Fprintln(w, "")
|
fmt.Fprintln(w, "")
|
||||||
fmt.Fprintln(w, "type "+FRUITS+"Table struct {")
|
fmt.Fprintln(w, "type "+FRUITS+"Table struct {")
|
||||||
|
@ -279,7 +285,7 @@ func guiMain(w io.Writer, FRUITS string, FRUIT string) {
|
||||||
fmt.Fprintln(w, "")
|
fmt.Fprintln(w, "")
|
||||||
fmt.Fprintln(w, " stringFuncs []*"+FRUIT+"StringFunc")
|
fmt.Fprintln(w, " stringFuncs []*"+FRUIT+"StringFunc")
|
||||||
fmt.Fprintln(w, " intFuncs []*"+FRUIT+"IntFunc")
|
fmt.Fprintln(w, " intFuncs []*"+FRUIT+"IntFunc")
|
||||||
fmt.Fprintln(w, " timeFuncs []*"+FRUIT+"TimeFunc")
|
fmt.Fprintln(w, " // timeFuncs []*"+FRUIT+"TimeFunc")
|
||||||
fmt.Fprintln(w, " buttonFuncs []*"+FRUIT+"ButtonFunc")
|
fmt.Fprintln(w, " buttonFuncs []*"+FRUIT+"ButtonFunc")
|
||||||
fmt.Fprintln(w, " anyFuncs []*"+FRUIT+"AnyFunc")
|
fmt.Fprintln(w, " anyFuncs []*"+FRUIT+"AnyFunc")
|
||||||
fmt.Fprintln(w, "")
|
fmt.Fprintln(w, "")
|
||||||
|
@ -359,6 +365,7 @@ func guiStringFuncs(w io.Writer, ZOOPB string, FRUITS string, FRUIT string) {
|
||||||
fmt.Fprintln(w, " return false")
|
fmt.Fprintln(w, " return false")
|
||||||
fmt.Fprintln(w, "}")
|
fmt.Fprintln(w, "}")
|
||||||
fmt.Fprintln(w, "")
|
fmt.Fprintln(w, "")
|
||||||
|
fmt.Fprintln(w, "/*")
|
||||||
fmt.Fprintln(w, "func (mt *"+FRUITS+"Table) doTimeFunc(name string) bool {")
|
fmt.Fprintln(w, "func (mt *"+FRUITS+"Table) doTimeFunc(name string) bool {")
|
||||||
fmt.Fprintln(w, " for _, sf := range mt.timeFuncs {")
|
fmt.Fprintln(w, " for _, sf := range mt.timeFuncs {")
|
||||||
fmt.Fprintln(w, " if sf.title != name {")
|
fmt.Fprintln(w, " if sf.title != name {")
|
||||||
|
@ -383,6 +390,34 @@ func guiStringFuncs(w io.Writer, ZOOPB string, FRUITS string, FRUIT string) {
|
||||||
fmt.Fprintln(w, " }")
|
fmt.Fprintln(w, " }")
|
||||||
fmt.Fprintln(w, " return false")
|
fmt.Fprintln(w, " return false")
|
||||||
fmt.Fprintln(w, "}")
|
fmt.Fprintln(w, "}")
|
||||||
|
fmt.Fprintln(w, "*/")
|
||||||
|
fmt.Fprintln(w, "")
|
||||||
|
fmt.Fprintln(w, "func (mt *"+FRUITS+"Table) doAnyFunc(name string) bool {")
|
||||||
|
fmt.Fprintln(w, " for _, sf := range mt.anyFuncs {")
|
||||||
|
fmt.Fprintln(w, " if sf.title != name {")
|
||||||
|
fmt.Fprintln(w, " continue")
|
||||||
|
fmt.Fprintln(w, " }")
|
||||||
|
fmt.Fprintln(w, " r := new(guipb.AnyCol)")
|
||||||
|
fmt.Fprintln(w, " r.Header = new(guipb.Widget)")
|
||||||
|
fmt.Fprintln(w, " r.Header.Name = name")
|
||||||
|
fmt.Fprintln(w, " r.Attr = new(guipb.ColAttr)")
|
||||||
|
fmt.Fprintln(w, " r.Attr.Width = int32(sf.Width)")
|
||||||
|
fmt.Fprintln(w, " r.Attr.Type = guipb.ColAttr_TIME")
|
||||||
|
fmt.Fprintln(w, "")
|
||||||
|
fmt.Fprintln(w, " for m := range mt.x.IterAll() {")
|
||||||
|
fmt.Fprintln(w, " t := sf.f(m)")
|
||||||
|
fmt.Fprintln(w, " var goTime time.Time")
|
||||||
|
fmt.Fprintln(w, " goTime = t.(time.Time)")
|
||||||
|
fmt.Fprintln(w, " tsProto := timestamppb.New(goTime)")
|
||||||
|
fmt.Fprintln(w, " anyProto, err := anypb.New(tsProto)")
|
||||||
|
fmt.Fprintln(w, " _ = err // do something with err someday (?)")
|
||||||
|
fmt.Fprintln(w, " r.Vals = append(r.Vals, anyProto)")
|
||||||
|
fmt.Fprintln(w, " }")
|
||||||
|
fmt.Fprintln(w, " mt.pb.AnyCols = append(mt.pb.AnyCols, r)")
|
||||||
|
fmt.Fprintln(w, " return true")
|
||||||
|
fmt.Fprintln(w, " }")
|
||||||
|
fmt.Fprintln(w, " return false")
|
||||||
|
fmt.Fprintln(w, "}")
|
||||||
fmt.Fprintln(w, "")
|
fmt.Fprintln(w, "")
|
||||||
fmt.Fprintln(w, "func (mt *"+FRUITS+"Table) MakeTable() {")
|
fmt.Fprintln(w, "func (mt *"+FRUITS+"Table) MakeTable() {")
|
||||||
fmt.Fprintln(w, " for _, name := range mt.pb.Order {")
|
fmt.Fprintln(w, " for _, name := range mt.pb.Order {")
|
||||||
|
@ -392,10 +427,13 @@ func guiStringFuncs(w io.Writer, ZOOPB string, FRUITS string, FRUIT string) {
|
||||||
fmt.Fprintln(w, " if mt.doIntFunc(name) {")
|
fmt.Fprintln(w, " if mt.doIntFunc(name) {")
|
||||||
fmt.Fprintln(w, " continue")
|
fmt.Fprintln(w, " continue")
|
||||||
fmt.Fprintln(w, " }")
|
fmt.Fprintln(w, " }")
|
||||||
fmt.Fprintln(w, " if mt.doTimeFunc(name) {")
|
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, " continue")
|
||||||
fmt.Fprintln(w, " }")
|
fmt.Fprintln(w, " }")
|
||||||
fmt.Fprintln(w, " if mt.doButtonFunc(name) {")
|
fmt.Fprintln(w, " if mt.doAnyFunc(name) {")
|
||||||
fmt.Fprintln(w, " continue")
|
fmt.Fprintln(w, " continue")
|
||||||
fmt.Fprintln(w, " }")
|
fmt.Fprintln(w, " }")
|
||||||
fmt.Fprintln(w, " }")
|
fmt.Fprintln(w, " }")
|
||||||
|
@ -445,9 +483,9 @@ func guiUpdate(w io.Writer, FRUITS string, FRUIT string) {
|
||||||
fmt.Fprintln(w, " if mt.updateStringFunc(name) {")
|
fmt.Fprintln(w, " if mt.updateStringFunc(name) {")
|
||||||
fmt.Fprintln(w, " continue")
|
fmt.Fprintln(w, " continue")
|
||||||
fmt.Fprintln(w, " }")
|
fmt.Fprintln(w, " }")
|
||||||
fmt.Fprintln(w, " if mt.updateTimeFunc(name) {")
|
fmt.Fprintln(w, " // if mt.updateTimeFunc(name) {")
|
||||||
fmt.Fprintln(w, " continue")
|
fmt.Fprintln(w, " // continue")
|
||||||
fmt.Fprintln(w, " }")
|
fmt.Fprintln(w, " // }")
|
||||||
fmt.Fprintln(w, " /*")
|
fmt.Fprintln(w, " /*")
|
||||||
fmt.Fprintln(w, " if mt.updateIntFunc(name) {")
|
fmt.Fprintln(w, " if mt.updateIntFunc(name) {")
|
||||||
fmt.Fprintln(w, " continue")
|
fmt.Fprintln(w, " continue")
|
||||||
|
@ -517,6 +555,7 @@ func guiUpdate(w io.Writer, FRUITS string, FRUIT string) {
|
||||||
fmt.Fprintln(w, " log.Info(\"did not find time row\", name)")
|
fmt.Fprintln(w, " log.Info(\"did not find time row\", name)")
|
||||||
fmt.Fprintln(w, " return false")
|
fmt.Fprintln(w, " return false")
|
||||||
fmt.Fprintln(w, " }")
|
fmt.Fprintln(w, " }")
|
||||||
|
fmt.Fprintln(w, " /*")
|
||||||
fmt.Fprintln(w, " for _, sf := range mt.timeFuncs {")
|
fmt.Fprintln(w, " for _, sf := range mt.timeFuncs {")
|
||||||
fmt.Fprintln(w, " if sf.title != name {")
|
fmt.Fprintln(w, " if sf.title != name {")
|
||||||
fmt.Fprintln(w, " continue")
|
fmt.Fprintln(w, " continue")
|
||||||
|
@ -530,6 +569,7 @@ func guiUpdate(w io.Writer, FRUITS string, FRUIT string) {
|
||||||
fmt.Fprintln(w, " // log.Info(\"virtpb: ending\", name, found.Vals)")
|
fmt.Fprintln(w, " // log.Info(\"virtpb: ending\", name, found.Vals)")
|
||||||
fmt.Fprintln(w, " return true")
|
fmt.Fprintln(w, " return true")
|
||||||
fmt.Fprintln(w, " }")
|
fmt.Fprintln(w, " }")
|
||||||
|
fmt.Fprintln(w, " */")
|
||||||
fmt.Fprintln(w, " return false")
|
fmt.Fprintln(w, " return false")
|
||||||
fmt.Fprintln(w, "}")
|
fmt.Fprintln(w, "}")
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue